Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Byte Schiebereien oder woher kommen diese 2 Bytes? (https://www.delphipraxis.net/8413-byte-schiebereien-oder-woher-kommen-diese-2-bytes.html)

freakTAB 4. Sep 2003 10:00


Byte Schiebereien oder woher kommen diese 2 Bytes?
 
ich bin grad dabei ein Datenkonvertierungsprogramm zu schreiben von einem alten DOS-Proggy auf die neue Winversion. Dazu muss ich ja die alten Daten ja erstmal einlesen, so sehen die erstmal aus :
Delphi-Quellcode:
Lief_rec= Record
            TA_Status  : LongInt;  
            L_Nr       : string[12];
            L_Name     : string[40];
            L_Erf      : boolean;  
                                     
            L_Max_T    : real48;  
            L_Art      : Byte;
            L_Tour     : smallInt;
            L_Molk     : Byte;
            L_Aktiv    : Char;
            L_Statistik : byte;
            L_Referenz : byte;
            L_J_Ist : array [1..12,1..11] of real48;
            L_VJ_Ist : array [1..3,1..11] of real48;
            end;
ausgerechnet hab ich ne Grösse von 1062 Bytes, mit sizeOf bekomme ich aber 1064 - diese 2 Bytes fehlen auch beim nächsten record (achso, ich lese das ganze per stream aus einer Datei aus :) ) - wo finde ich die fehlenden bytes - Delphi Version ist 4

danke schonmal im Vorraus

neolithos 4. Sep 2003 10:03

Re: Byte Schiebereien oder woher kommen diese 2 Bytes?
 
Delphi passt den Buffer auf 4-Bytes an.
Grund: schnelle Zugriff im speicher

schreib einfach
Delphi-Quellcode:
  packed record

Billa 4. Sep 2003 10:09

Re: Byte Schiebereien oder woher kommen diese 2 Bytes?
 
..ich habs nicht ausgerechnet, aber könnten das die beiden Längenbytes der Strings sein?

Billa 4. Sep 2003 10:13

Re: Byte Schiebereien oder woher kommen diese 2 Bytes?
 
...sorry, hatte nicht richtig gelesen....

freakTAB 4. Sep 2003 10:29

Re: Byte Schiebereien oder woher kommen diese 2 Bytes?
 
@Billa : kein problem

@neolithos : das hat geholfen, danke!


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