Registriert seit: 31. Mai 2009
1.198 Beiträge
Turbo Delphi für Win32
|
AW: Binäre Datenspeicherung
7. Jun 2015, 05: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
|