Ich komm einfach nicht drauf.
Ich habe ein Array[0..7] of Byte und will es in ein UInt64 wandeln.
Jedoch kommt immer Blödsinn raus.
Auch dieser Versuch scheitert:
Delphi-Quellcode:
Type
TUInt64Rec = packed record
case Integer of
1 : (_Byte : Array[0..7] of Byte);
2 : (_UInt64 : UInt64);
end;
Auch mit einem manuellen SHL schaffe es nicht.
Da sollte ich ja byte[0] um 56 bit, byte[1] um 48 Bit usw shiften.
Das lässt mich Delphi aber nicht. Er erlaubt mir maximal 40 Bit mit SHL.
??
Beipspiel:
Im Byte Array von 0..7:
00 00 00 02 00 0E 8C 19
Ergebins von Delphi: 1840861740884033536
Sollte aber sein: 8590887961