Moin
DP'ler
folgender Code hat bis heute funktioniert. Nachdem ich heute das Programm neu erzeugt hab erzeugt mir
DEC 5.2 einen Integerüberlauf (DECCipher.pas Zeile: 1645):
Delphi-Quellcode:
function EncodeString(const Text: String): string;
begin
with TCipher_Twofish.Create do
try
Init('zufallsstring');
Result := EncodeBinary(Text, TFormat_Copy); // verschlüsselt Strings
finally
Free;
end;
end;
function String2Hex(const Buffer: Ansistring): string;
begin
SetLength(Result, 2 * Length(Buffer));
BinToHex(@Buffer[1], PWideChar(@Result[1]), Length(Buffer));
end;
function getsavestring(input: string): string;
begin
Result := String2Hex(EncodeString(input));
end;
procedure TForm1.FormCreate(Sender: TObject);
var
regist: TRegistry;
iniid, regid: string;
begin
regist := TRegistry.Create;
try
regist.RootKey := HKEY_CURRENT_USER;
regist.OpenKey('Software\pfad\zum\key', false);
regid := getsavestring(regist.ReadString('ID'));
regist.CloseKey;
regist.OpenKey('Software\pfad\zum\anderen-key', false);
iniid := getsavestring(regist.ReadString('ID'));
regist.CloseKey;
finally
regist.Free;
end;
end;
Wie ihr sehen könnt hab ich das ganze in ein extra Projekt nochmal kopiert um zu testen obs dann geht und siehe da es funktioniert.
Jetzt frag ich mich woran kann das liegen das es in meinem anderen großen Projekt nicht geht.
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"