Forum: Object-Pascal / Delphi-Language
Delphi
by dummzeuch,
25. Feb 2020
///<summary>
/// returns a 16 bit in reversed byte order, e.g. $1234 => $3412)
/// aka converts intel (little endian) to motorola (big endian) byte order format
/// (This is just an alias for system.swap for consistency with Swap32.)
///</summary
function Swap16(_Value: Word): Word;
///<summary>
/// returns a 32 bit value in reversed byte order e.g. $12345678 -> $78563412
/// aka...
Forum: Object-Pascal / Delphi-Language
Delphi
by dummzeuch,
24. Feb 2020
Ich würde als erstes versuchen, einen packed Record mit den passenden Feldern zu deklarieren und dann mittels Move die Bytes dort hinein zu kopieren. Ob das funktioniert, hängt davon ab, ob die Bytereihenfolge der Quelle mit der von Delphi / Intel übereinstimmt (Stichwort: Big Endian vs. Little Endian).
Wenn nicht, wird es knifflig.