Hallo,
Wir sollten in der Schule ein Programm mit Delphi zur Caesar- und Vigenere-Verschlüsselung schreiben. Meine Caesar-Verschlüsselung funktioniert einwandfrei, aber bei Vigenere kann ich meinen Fehler nicht finden. Ich habe mindestens 30 Minuten versucht in den Programmzeilen irgendwo den Fehler zu finden, habe den Code schon mehrfach umgeändert, jedoch ohne Erfolg. Ich vermute mal es liegt an den strings oder arrays, die ich benutzt habe.
Hier ist der Code von der fehlerhaften Prozedur:
Delphi-Quellcode:
procedure TForm1.Klartextverschlsseln1Click(Sender: TObject);
var a,b,key,keyadd: String;
i,j,l,m,id1,id2,k,h:Integer;
codeid:array of Integer;
begin
b:='';
m:=0;
key:='COOL';
keyadd:=key;
Memo1.Lines.Clear;
for i := 0 to Memo2.Lines.Count do
begin
b:='';
a := Memo2.Lines[i];
for j := 1 to length(a) do
begin
key:=key+keyadd;
m:=m+1;
end;
end;
l:=i*59+j;
key:= Copy(key, 1, l);
for k := 0 to (length(key)-1) do
begin
codeid[k]:=ord(key[k])-65;
end;
for h:=0 to length(a)-1 do
begin
b:=b+chr((ord(codeid[h]))+(ord(a[h])));
end;
end;
Ich würde mich sehr freuen, wenn mir jemand den Fehler und die dazugehörige Korrektur zeigen könnte.
MfG Matrix275