Hallo,
ich arbeite sehr gerne mit Records, weil mann da wirklich alles zu einem Datensatz bündeln kann was man benötigt. Dazu gehört natürlich auch das einfache Abspeichern in einer Datei und das schnelle und unkomplizierte Abrufen eines bestimmten Records. Ich habe das gelöst, in dem ich mir selbst ein Objekt
TFile = class(TObject) geschrieben habe, das alles macht, was man im Umgang mit Dateien braucht. Die Funktionen kapseln sinnvoll die Windows-
Api´s
Davon leite ich ein neues Objekt für Records ab
TRecFile = class(TFile)
private
FRL : Integer; {Recordlänge}
public
constructor CreateFil(FileName: PAnsiChar; Mode, Art, size : Word);
function RecRead(var Buffer): DWORD;
function RecWrite(const Buffer): DWORD;
function RecSeekRead(var Buf; Pos : Integer ): DWORD;
function RecSeekWrite(var Buf; Pos : Integer ): DWORD;
...
Damit kann ich wirklich alles machen. Es geht sehr schnell, da die
Api´s direkt aufgerufen werden und es werden nicht mehr Resourcen verbraucht als unbedingt notwendig.
Das ist zwar nicht unbedingt im offiziellen Stiel - da kann man gar nicht genug Objekte erzeugen und wieder freigeben und Speicherplatz binden, aber es ist schnell und sicher.
MfG
Aro