![]() |
IntToHex funzt nicht bei Unsigned 64 Bit Integer
Hallo,
ich habe einen unsigned 64 Bit Integer Wert, den ich gerne hexadezimal darstellen möchte. Das funktioniert aber anscheinend nicht mit IntToHex, da die ersten 8 Byte einfach abgeschnitten werden. In der Delphi 2007 Hilfe steht, dass ein Int64 verwendet werden kann, damit ist aber die reguläre Variante (signed, inkl. Minusbereich) gemeint. Gibt es eine Möglichkeit, einen unsigned und als UInt64 deklarierten Wert vollständig mit IntToHex anzuzeigen ? |
Re: IntToHex funzt nicht bei Unsigned 64 Bit Integer
Schreib dir ne Funktion der Int64 in zwei Int32-Werte Zerlegt und diese dan mit IntToHex(Teil1)+IntToHex(Teil2) zusammenfügt.
|
Re: IntToHex funzt nicht bei Unsigned 64 Bit Integer
Hallo,
diese Funktion:
Delphi-Quellcode:
habe ich
function UInt64ToHex(Value: Int64): string;
type TByteArray = array[0..7] of Byte; var I : Byte; B1 : ^TByteArray; begin Result := ''; //Place the pointer of bytes to the value (-: B1 := Addr(Value); for I := High(B1^) downto Low(B1^) do Result := Result + IntToHex(B1^[I], 2); while ((Result[1] = '0') and (Length(Result) > 1)) do Delete(Result, 1, 1); end; ![]() Grüße Klaus |
Re: IntToHex funzt nicht bei Unsigned 64 Bit Integer
Vielen dank, das war die Lösung.
Ich kann nur hoffen, dass Delphi 2009 damit besser zurecht kommt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz