Erstmal: wie soll jemand wissen was entschlüsselt werden soll, wenn keiner die Verschlüsselung kennt.
Grob würde ich mal vermuten deine Verschlüsselung speichert die Werte als Reihe von 6-stelligen Zahlen?
Bist du mal im einzelschritt durchgegangen?
Dein verschlüsselter String ist wohl '875495875495...'.
Nun solltest du dir mal i2 und den 3 Parameter von COPy in der
OH ansehn ... dieses ist nicht der Endindex, sondern die Länge
[add] siehe OG Karotte's Beitrag [/add]
Delphi-Quellcode:
//i:=0; Schleifenvariablen werden durch die Schleife definiert
//i2 wird nicht benötigt
//i3 kann man aus i errechnen
//charint:=0; wird durch strtoint initialisiert
//bs:=''; wird in der nächsten Zeile durch COPY gesetzt
line1:='';line2:='';line3:='';
for i := 0 to Length(memo1.lines[0]) DIV 6 - 1 do begin
bs := copy(memo1.lines[0], i * 6 + 1, 6);
//charint := strtoint(bs);
//charint := charint DIV X;
//charint := charint * X;
//charint := charint-XXXXXX;
//line1 := line1 + IntToChar(charint);
line1 := line1 + IntToChar((strtoint(bs) DIV X) * X - XXXXXX);
end;
[add]
zu 3_of_8's Stringaneinanderreihung:
Die Länge vorher setzen und dann nur die Zeichen ersetzen.
Ach ja, den String jedesmal aus dem Memo auszulesen ist och nicht gerade gut.
Delphi-Quellcode:
s := memo1.lines[0];
SetLength(line1, Length(s) DIV 6);
for i := 0 to Length(s) DIV 6 - 1 do
line1[i + 1] := IntToChar((strtoint(copy(s, i * 6 + 1, 6)) DIV X) * X - XXXXXX);