Hallo,
ich verwende grundsätzlich keine Records. Es sei denn für
API Funktionen.
Wenn ich es aber selber in der Hand habe - keine Records - Nur noch Objekte.
Das gilt insbesondere wenn ich schnell mal etwas speichern muss.
Im Anhang verwende ich anstatt eines Records einen Nachfahren von TComponent.
Die Eigenschaften, deren Inhalte man speichern möchte werden als published deklariert.
Mit TFileStream.WriteComponent und TFileStream.ReadComponent wird dann gespeichert und
geladen. Dadurch das TSaveObject ein Nachfahre von TComponent ist werden die published Eigenschaften
automatisch vom Delphi-Streaming-System erfasst und mit gespeichert. Das Delphi-Streaming-System ist auch dafür verantwortlich, das die Komponenten und deren Einstellungen im
OI, die innerhalb der
IDE auf das Formular gesetzt werden gespeichert werden.
Dieser Nachfahre von TComponent TSaveObject hat genau eine Eigenschaft. Die Eigenschaft Text kann jetzt soviele Zeichen enthalten wie man will (na ja fast auch ein AnsiString ist irgendwann mal voll).
Programm starten und auf Load klicken. Dann mal auf Prior und Next klicken.
Ich hoffe das kleine Beispiel erklärt sich von selbst.
Hinweis: Man kann auch ein Object als Eigenschaft deklarieren (solange es min. TPersistent abstammt). Dann werden auch die published Eigenschaften dieses Objectes automatisch gespeichert. D.h. mit dem bißchen Code kann schon recht komplexe Datenstrukturen speichern.