Hallo,
Ich schreibe morgen eine Klausur über Kryptographie und habe dieses Programm geschrieben. In der Schule hat es funktioniert. Es geht um Transposition, also dass der Text in Zeilen aufgeteilt wird und dann von oben nach unten aufgeschrieben wird. Nun funktioniert das Programm auf einmal nicht mehr, ich versteh es nicht, ich finde kein Fehler. Kann mir bitte jemand helfen?
Der Fehler muss im unteren Teil beim Verschlüsseln liegen, denn das Leerzeichen löschen, etc. läuft einwandfrei.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var text1,text2,text3: string;
i,laenge,laenge2,schluessel,anzahl,i2,i3 : integer;
begin
text1 := memo1.Lines.Text;
i := 1;
laenge := length(text1) + 1;
repeat
if text1[i] = ' ' then
i := i + 1
else
begin
text2 := text2 + text1[i];
i := i + 1;
end;
until i = laenge;
text2 := uppercase(text2);
text2 := stringreplace(text2,chr(10),'',[rfreplaceall]);
text2 := stringreplace(text2,chr(13),'',[rfreplaceall]);
schluessel := strtoint(edit1.Text);
repeat
laenge2 := length(text2);
if laenge2 mod schluessel > 0 then
text2 := text2 + 'X' ;
until laenge2 mod schluessel = 0;
anzahl := laenge2 div schluessel;
i := 1;
text3 := '';
for i2 := 1 to schluessel do
begin
i3 := 0;
repeat
begin
text3 := text3 + text2[i];
i3 := i3 + 1;
i := i + schluessel;
end
until i3 = anzahl;
i := i2 + 1;
end;
memo2.Lines.Text := text3;
end;