Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Integer-typ mit invertierter byte-reihnfolge (https://www.delphipraxis.net/103343-integer-typ-mit-invertierter-byte-reihnfolge.html)

ralfiii 14. Nov 2007 16:30


Integer-typ mit invertierter byte-reihnfolge
 
Gibt's eigentlich einen Integer-Datentypen der eine umgekehrte byte-order hat?
Ich krieg hier via TCP ein paar records rein, wo bei den enthaltenen integers die byte-Reihnfolge umgedrehen werden muss - was ja keine Hexerei ist, aber die Gefahr einen zu vergessen ist halt da.

Praktisch wär in diesem Fall ein Datentyp, der - wenn ich
Delphi-Quellcode:
var i:integer;
    x:invertedinteger;
begin
     ...
     i:=x;
mache, bei gleich automatisch auch die Byte-order wieder umdreht.
(und vice-versa)

mkinzler 14. Nov 2007 16:35

Re: Integer-typ mit invertierter byte-reihnfolge
 
Ein x86 unterstützt leider keine Big Endian

Apollonius 14. Nov 2007 16:36

Re: Integer-typ mit invertierter byte-reihnfolge
 
Geht es hier um Delphi 2006? Dann kannst du dir doch einfach einen entsprechenden Record bauen und die Typunmwandlungen dann entsprechend mit bswap durchführen. Okay, du musst halt auch die ganzen anderen Operatoren überladen, aber grundsätzlich halte ich die Idee nicht für allzu falsch.

Chewie 14. Nov 2007 16:59

Re: Integer-typ mit invertierter byte-reihnfolge
 
Die Byte-Order musst du doch normalerweise nur beachten, wenn du direkt mit den Sockets arbeitest. In diesem Fall hast du bei den Socket-Funktionen der WinAPI doch Konvertierfunktionen wie z.B. ntohs (Network to Host short) drin und kannst die verwenden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz