Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Delphi.Narium,
26. Mär 2019
Wenn bei Key = B aus dem A ein B werden soll, so ist die Differenz = 1.
Ord('A') = 65
Ord('B') = 66
Ord('B') - Ord('A') = 1
Du musst also die Differenz zwischen Ord(Key) und Ord('A') berechnen und zu Ord(text) addieren, also nicht Ord(text) + Key sondern Ord(text) + Ord(key) - Ord('A').
Und natürlich wird Z + Ord(Key) immer ein Zeichen "hinter" den Großbuchstaben ergeben.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Delphi.Narium,
26. Mär 2019
function TCaeser.GetText : string;
var
i : integer;
begin
for i := 1 to length(text) do begin
// Diese Zuweisung ist falsch. Text wir damit durch das erste veränderte Zeichen überschrieben.
text := chr(ord(text) + key);
end;
result := text;
end;