Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: Binäre Datenspeicherung

  Alt 7. Jun 2015, 04:35
Naja so schwer ists auch wider nicht. Für dynamische Daten musst du extra Information speichern: Länge/Größe - damit weißt du dann beim Auslesen, wie viel/lang zu lesen ist.. Und String (AnsiString) ist ein dynamischer Typ- die Länge ist nicht konstant.

Dh aus String wird:
<Länge des Strings> <String>

Aus bel. dyn. Array wird:
<Länge des Arrays><Array>

Wobei das Speichern der Elemente des Arrays wieder rekursiv gleich behandelt werden muss - dh, wenn es z.B. ein String ist (also Array of String), muss für jedes Element die Länge mitgespeicher werden.. würde beispielsweise für dieses Array[2] {"Hallo", "Welt"} so aussehen:
<Länge: "2"> <Länge: "5"> <"Hallo"> <Länge: "4"> <"Welt">

Wie viel Speicher du für die Längenangabe belegen willst, musst du für dich selbst entscheiden (1 [Byte], 2 [Word], 4 [DWord] oder 8 Bytes [LongLong/Double?]). Ein Tipp: Wenn die Länge der Variable < 2^(x*8) ist, dann wähle x als Datentyp.
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat