Ich hab z.B. folgenden Record:
Delphi-Quellcode:
Verwaltungsdatei_Header = packed record
aDatentraeger_Nummer: string[3]; // 1
xFuellzeichen1: string[3]; // 4
aBeraternummer: string[7]; // 7
aBeratername: string[9]; // 14
xRestart_Kennzeichen: Char; // 23
nAnzahl_Datendateien: string[5]; // 24
nLetzte_Datendateinummer: string[5]; // 29
xFuellzeichen2: string[95]; // 34
end;
Nachdem ich ihn gefüllt habe speicher ich ihn so ab:
Delphi-Quellcode:
procedure TFrmMain.Button1Click(Sender: TObject);
var
ft : TFileStream;
TF : TextFile;
FileName:string;
begin
// Record mit daten füllen
Fill_Verwaltungsdatei_Header;
// Datei erstellen und öffnen
FileName := Edit1.Text + '\EV01';
AssignFile(TF,FileName);
Rewrite(TF);
CloseFile(TF);
// Daten aus dem Record in die Datei schreiben
ft := TFileStream.Create(FileName,fmOpenWrite);
try
with Verwaltungsdatei_Header do
begin
ft.Write(aDatentraeger_Nummer[1],SizeOf(aDatentraeger_Nummer)-1);
ft.Write(xFuellzeichen1[1],SizeOf(xFuellzeichen1)-1);
ft.Write(aBeraternummer[1],SizeOf(aBeraternummer)-1);
ft.Write(aBeratername[1],SizeOf(aBeratername)-1);
ft.Write(xRestart_Kennzeichen,SizeOf(xRestart_Kennzeichen));
ft.Write(nAnzahl_Datendateien[1],SizeOf(nAnzahl_Datendateien)-1);
ft.Write(nLetzte_Datendateinummer[1],SizeOf(nLetzte_Datendateinummer)-1);
ft.Write(xFuellzeichen2[1],SizeOf(xFuellzeichen2)-1);
end;
finally
ft.free;
end;
end;
Das ist jedoch sehr umständlich, da ich bei jedem record jedes einzelne Feld einzeln speichern muss. Wie kann ich das automatisieren???