Einzelnen Beitrag anzeigen

RimRocker

Registriert seit: 27. Nov 2009
2 Beiträge
 
Delphi 2005 Enterprise
 
#1

Caesarverschlüsselung und Entschlüsselung

  Alt 27. Nov 2009, 15:55
Hallo.

Ich hab ein Programm geschrieben, welches eigentlich eine Caesarverschlüsselung durchführen soll und einen verschlüsselten Text auch wieder entschlüsseln kann (wenn die Verschiebungsanzahl des Alphabetes bekannt ist).

Hier das Formular:
http://img504.imageshack.us/img504/7672/delphiprob.png
(Edit1 ist ganz oben, dann SpinEdit1 dann Edit2 dann Edit3)
("Verschlüsseln" ist Button1, "Entschlüsseln" Button2, "Alle Felder leeren" Button3 und "Schließen" BitButton1)


Und das ist der Quelltext:
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
SpinEdit1.Value:=1;
end;

procedure TForm1.Button1Click(Sender: TObject);
var I, L, C1, C2: Integer; H:char;
begin
Edit2.Text:='';
Edit3.Text:='';
L:=Length(Edit1.Text);

for I:= 0 to L do
Begin
H:=UpCase(Edit1.Text[I]);
C1:=ord(H);
C2:=C1+SpinEdit1.Value;
if C2>90 then C2:=C2-90+64;
H:=chr(C2);
Edit2.Text:=Edit2.Text+H;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var I, L, C1, C2: Integer; H:char;
begin
Edit3.Text:='';
L:=Length(Edit2.Text);

for I:=0 to L do
begin
H:=UpCase(Edit2.Text[I]);
C1:=ord(H);
C2:=C1-SpinEdit1.Value;
if C2<65 then C2:=C2+26;
H:=chr(C2);
Edit3.Text:=Edit3.Text+H;
end;
end;
end.
So, nun zum Problem.
Ich kann das Programm starten und auch alles auswählen bzw. eingeben.
Drücke ich aber auf "Verschlüsseln" kommt die Fehlermeldung "Der Index war außerhalb des Arraybereichs".

Ich kann aber kein Fehler im Quellcode entdecken =/
Ihr?

lg

PS: Version ist Delphi 2005
  Mit Zitat antworten Zitat