Hallo,
ich hab folgendes Problem, ich lese aus einer datei 8 Byte hexzahlen aus und will diese in einen int64 wert konvertieren, was eigentlich genau dessen wertebereich ist. Soweit die Theorie.
Mein Problem ist jetzt das ich z.B. beim wert $FFFFFFFFFFFFFFFF (=-1) die Fehlermeldung bekomme, dass dieser Wert keine gültige integer zahl ist, obwohl diese eigentlich noch im bereich von int64 liegt.
Man kann das auch ganz einfach Nachvollziehen:
Delphi-Quellcode:
procedure Test();
var
t, t2: int64;
tStr :
String;
begin
t := -1;
tStr := inttohex(t,20);
ShowMessage(tStr);
t2 := strtoint64('
$'+tStr);
//Hier gibts dann die Exception
ShowMessage(inttostr(t2));
end;
Ich verwende gerade Delphi 6. Kennt jemand diese Problem und vielleicht auch noch ein Workaround. Oder kann mir jemand sagen wo ich eine bessere strToInt64 funktion herbekomme die mit diesen werten zurechtkommt?
mfg
Blizzard