Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Welchem Variablentyp entspricht QWord


rushifell - So 06.01.13 15:26
Titel: Welchem Variablentyp entspricht QWord
Hallo,

bei DWord, weiss ich, dass es in Delphi einem Cardinal entspricht. Gibt es für Qword auch einen entsprechenden Typ? Dass Qword eine Länge von 64 Bit hat, weiss ich, allerdings weiss ich nicht, ob mit oder ohne Vorzeichen.

Viele Grüße


Horst_H - So 06.01.13 15:42

Hallo,

kann man dem glauben schenken:
http://www.delphigroups.info/2/78/472735.html
Dann ist QWord = Uint64.
In freepascal ist UInt64 = Qword http://www.freepascal.org/docs-html/rtl/system/uint64.html
Leider ist es kein aufzählbarer Typ, sprich keine For-Schleifenvariable in Freepascal.
Ich hielt das bei einem 64-Bit Linux für angebracht, weil dort ständig i in RAX auf EAX abgebildet wird und wieder zurück.

Gruß Horst


rushifell - So 06.01.13 15:54

Danke :-) Habe auch gelesen, dass es sich um ein Uint64 handelt, wollte jedoch keine Suggestivfrage stellen.

Um genauer zu werden: Es geht um das Auslesen einer Datei, in der die Längenangabe der folgenden Bytesequenz als QWord in 64 Bit gespeichert ist. Die Wahrscheinlichkeit, dass diese Bytesequenz eine solche Länge erreicht ist utopisch. Habe bisher Int64 benutzt.

EDIT: Beim Umwandeln von Uint64 in einen String mit IntToStr wird ein falscher negativer Wert angezeigt. Wenn ich Int64 nutze, wird der korrekte Wert angezeigt. Bleibe also doch bei Int64. Allerdings bin ich mir auch sehr sicher, dass es sich um einen 64 bit unsigned integer handelt. IntToStr unterstützt aber nur Int64 :-( Naja...

Gruß