Ich bin im Moment krank geschrieben, von daher hab ich jede Menge Zeit
Also: wie der Name schon sagt, besteht eine typisierte Datei aus Datensätzen eines bestimmten Typs. Dieser ist im Normalfall als Record definiert. Beispiel:
Delphi-Quellcode:
type
TMyRec = record
Name: shortstring; //NICHT string, da sonst nur der Zeiger gespeichert würde
Nummer: integer;
ZahlmitKomma: double;
end;
...
var MyFile: file of TMyRec; //file of Datentyp --> typisierte Datei
Will man nun z.B. ein Array of TMyRec abspeichern, kann man das so machen (Fehlerbehandlung mal außen vor gelassen):
Delphi-Quellcode:
AssignFile(MyFile,Dateiname);
//Datei überschreiben
Rewrite(MyFile);
//Jeden einzelnen Datensatz in Datei schreiben
for i := Low(MyRecArray) to High(MyRecArray) do
write(MyFile,MyRecArray[i]);
CloseFile(MyFile);
Andersherum (Einlesen):
Delphi-Quellcode:
AssignFile(MyFile,Dateiname);
Reset(MyFile);
//Anzahl der Datensätze ermitteln und Arraygröße entsprechend setzen
SetLength(MyRecArray, FileSize(MyFile));
i := 0;
while not EOF(MyFile) do
begin
//aktuellen Datensatz einlesen
read(MyFile,MyRecArray[i]);
//Array-Index erhöhen
inc(i);
end;
CloseFile(MyFile);
Das war jetzt alles aus dem Kopf getippt, muss daher nicht unbedingt so funktionieren, aber ich hoffe, Du hast das Prinzip verstanden. AFAIK gibt es dazu auch ein Tutorial hier in der
DP, wo Du noch einmal genauer nachlesen kannst.