Recordgröße

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
BerLin
Beiträge: 50
Registriert: So 17. Jun 2007, 16:51

Recordgröße

Beitrag von BerLin »

Hallo Forum,

ich habe ein Problem mit der Recordgröße. Ich bekomme aus einer anderen Quelle (Datei mit ca. 10000 Datensätzen) einen Datenrecord mit der Länge von 149Byte übergeben. Baue ich diesen Record 1:1 nach, habe ich eine Recordgröße von 168Byte. Scheinbar weist Freepascal jedem Eintrag erstmal 4Byte zu und füllt die Daten entsprechend.
Beide Records haben eine Länge von 16Byte:

Code: Alles auswählen

a_rd=record
      a:Byte;
      b:Integer;
      c:int64;
     end;
b_rd=record
      a:Word;
      b:Integer;
      c:int64;
     end;


Gibt es da eine einfache Lösung, oder muss ich den einzelne Einträge des Datenrecord zuweisen?

Viele Grüße
BerLin
Zuletzt geändert von Lori am Mo 30. Mai 2016, 20:23, insgesamt 1-mal geändert.
Grund: Highlighter

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: Recordgröße

Beitrag von wp_xyz »

http://www.freepascal.org/docs-html/ref ... #QQ2-38-55

Code: Alles auswählen

type
  a_rd = packed record   // Wichtig: packed
    a: byte;
    ....
  end;
 
  b_rd = packed record
    a: word;
    ...
  end;
 

BerLin
Beiträge: 50
Registriert: So 17. Jun 2007, 16:51

Re: Recordgröße

Beitrag von BerLin »

Hallo wp_xyz,

vielen Dank für deine schnelle Antwort.
"packed record" gab es vor 25 Jahren noch nicht... :roll:

Viele Grüße
BerLin

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Recordgröße

Beitrag von mschnell »

BerLin hat geschrieben:ich habe ein Problem mit der Recordgröße.

Size matters ???? :D :D :D

-Michael

Benutzeravatar
photor
Beiträge: 444
Registriert: Mo 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux: L 2.2.6 FPC 3.2.2 (Gtk2)
CPU-Target: 64Bit

Re: Recordgröße

Beitrag von photor »

BerLin hat geschrieben:"packed record" gab es vor 25 Jahren noch nicht... :roll:


ich bin nicht ganz sicher, aber als ich das erstemal mit PASCAL auf einem Apple II in Berührung kam, war das etwas, worüber ich mich gewundert habe ("packed"? Das ist ja kompliziert - spart aber ein paar Bit.). Das müsste grob 35 Jahre her sein. :shock:

2¢,

Photor

Antworten