Hallo,
ein paar Anmerkungen zu eurem (habt ihr einen Sammel-Account?) Code:
Man macht solchen Code nicht zur Methode einer Form. Auch würde ich eine Funktion vorziehen anstelle einer Prozedur - ich übergebe ein Wort und erhalte das verschlüsselte Wort als Ergebnis zurück. Da sich beim Verschlüsseln mit dem Caesar-Verfahren die Zahl der Zeichen nicht ändert, würde ich eine Zählscheife verwenden und die Länge des Ergebnisses von vornherein festlegen. Zeichenweises Anhängen ist nicht so schön, weil dann die alte Variable oft verworfen werden muss und eine neue an anderer Stelle bereitgestellt wird - eine mitunter sehr zeitraubende Aktion. Und statt der Erhöhung um eins nehme ich die Funktion Succ() - sie liefert den Nachfolger, nicht nur bei Zahlen, sondern auch bei Zeichen. Euer Code sieht dann viel überschaubarer aus:
Delphi-Quellcode:
function Encoded(wort: string): string;
var
i: Integer;
begin
SetLength(Result, Length(wort));
for i := 1 to Length(wort) do
Result[i] := Succ(wort[i]);
end;
Wenn ihr jetzt noch herausfindet wie das Gegenstück von Succ() heißt, dann wird es ziemlich einfach die Funktion Decoded() zu schreiben.
Grüße vom marabu