Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ReadInt32 ??? (https://www.delphipraxis.net/100480-readint32.html)

tabbi 28. Sep 2007 23:48


ReadInt32 ???
 
hallo,

ich hab da mal eine kurze Verständisfrage (ist ja schon späät und bei paar bier hehe)

bei .NET gibts bei den Streams eine Funktion namens ReadInt32. Es wird also ein 32bit Integer eingelesn.

So bei Delphi un beim TFileStream gibts ja nur Read, bei dem man angeben kann wieviel Bytes eingelesen werden sollen.

Verstehe ich das richtig wenn ich jetzt das gleiche wie ReadInt32 machen will, einfach nur bei count eine 4 eintrage, denn 4 Byte = 32 Bit ???

Oder ist da ein denkfehler ?

3_of_8 28. Sep 2007 23:59

Re: ReadInt32 ???
 
Ja. Wobei du bei Netzwerkstreams aufpassen musst, ob die Streamquelle die gleiche Byte-Kodierung verwendet wie du. (Big-/Little-Endian)

tabbi 29. Sep 2007 00:05

Re: ReadInt32 ???
 
hi, ok gut aber bei binärdateien ist das egal oder (exe,...) ?

3_of_8 29. Sep 2007 00:10

Re: ReadInt32 ???
 
Nein, ist es nicht.

Beispiel:

System A ist ein stinknormales Win32-x86-System. System B ist ein IBM-Mainframe.

System B schickt jetzt den Integer 42 (0x0000002A) an System A.

Im Speicher von System B sieht der so aus: 00 00 00 2A

System A empfängt die 4 Bytes an Daten und liest sie zur weiteren Verwendung in ein Prozessor-Register. Und hoppala, plötzlich wird aus dem 00 00 00 2A im Speicher der Integer 0x2A000000, und das ist was ganz anderes als 42.

tabbi 29. Sep 2007 00:23

Re: ReadInt32 ???
 
ah ok. Danke für den kleinen Exkurs, wusste ich noch garnicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 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