Immer wenn man ein Problem hat, sollte man es in kleinere Teilprobleme zerlegen.
(sehr wichtige Regel für Programmierer, bitte dauerhaft im Gehirn abspeichern)
Ein Teilproblem beim Caesarchiffre ist die Verschiebung eines einzigen Zeichens.
Dazu würde ich eine eigene Methode schreiben:
Delphi-Quellcode:
function TCaesar.SchiebeZeichen(c:Char; distanz:integer):Char;
begin
// ??? dein Job
end;
Wenn z.B. der Buchstabe 'f' vorliegt und die distanz gleich 3 beträgt, dann muss 'i' zurückkommen.
Dabei muss man speziell beim Überlauf etwas aufpassen.
Überlege Dir, ob du nicht zwei Funktionen schreibst wegen der Verschiebung in verschiedene Richtungen.
Wenn du dieses Teilproblem gelöst hast, ist der Rest ganz easy.