Entwickler-Ecke
Basistechnologien - Array of Byte in Int64 umwanden...
Neidhard von Reuental - Di 07.03.06 09:21
Titel: Array of Byte in Int64 umwanden...
Hallo,
habe da ein kleines Problem. Ich möchte ein "Array of Byte" in eine Integer64 umwandeln. Wollte es eben mit Pointern machen aber wie ich hier im
forum [
http://www.delphi-forum.de/viewtopic.php?t=24372&highlight=zeiger+pointer] gelesen habe gibts das nicht mehr.
In dem oben verlinkten Post habe ich keine richtige Antwort gefunden, am Ende ging es da nur noch um Rechtschreibung.
Das Array of Byte ist auf die Größe 8 gesetzt.
Hat jemand eine Idee wie ich das ganze realisieren kann?
Cu
Neid
Moderiert von
Christian S.: Topic aus .NET verschoben am Di 07.03.2006 um 14:14
Moderiert von
Christian S.: Info-Feld gesetzt
Kroko - Di 07.03.06 09:39
Delphi-Quelltext
1: 2: 3:
| Result := 0; for I := 0 to 7 do Result := (Result shl 8)+A[I]; |
Neidhard von Reuental - Di 07.03.06 12:33
Thx für die schnelle Antwort :)
jasocul - Di 07.03.06 12:38
Eigentlich sollte doch auch Convert.ToInt64 funktionieren, oder?
Neidhard von Reuental - Di 07.03.06 13:09
Könnte sein, aber gibt es da auch eine rückkonvertierung, also von Int64 in Array of Byte?
Neidhard von Reuental - Mi 08.03.06 10:21
So, nach weiterem Suchen habe ich da etwas simples gefunden und daraus einmal 2 Funktionen gebaut.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| type A64=Array[0..7] of Byte; . . .
function ArrayToInt64(A:A64):int64; begin result:=BitConverter.ToInt64(A,0); end;
function Int64ToArray(I:Int64):A64; begin Result:=BitConverter.GetBytes(I); end; |
Es ist natürlich, bei der Einfachheit, fraglich ob man das ganze nochmals in Funktionen packt ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!