Verwende zum Lesen lieber ReadLn statt Read (Read war schon zu
TP-Zeiten manchmal etwas problematisch):
Delphi-Quellcode:
var rdata: TRechnung;
rdatei: text; //oder TextFile
...
AssignFile(rdatei, 'C:\daten.dat');
Reset(rdatei);//entspricht quasi Seek(rdatei, 0);
if Eof(rdatei) then rdata.RDatum:= ''
else ReadLn(rdatei, rdata.RDatum);
if Eof(rdatei) then rdata.Name1:= ''
else ReadLn(rdatei, rdata.Name1);
if Eof(rdatei) then rdata.Name2:= ''
else ReadLn(rdatei, rdata.Name2);
if Eof(rdatei) then rdata.Name3:= ''
else ReadLn(rdatei, rdata.Name3);
if Eof(rdatei) then rdata.Str:= ''
else ReadLn(rdatei, rdata.Str);
if Eof(rdatei) then rdata.Ort:= ''
else ReadLn(rdatei, rdata.Ort);
CloseFile(rdatei);
Das sollte so auch funktionieren, wenn die Datei leer ist.
Die Funktion Eof überprüft, ob das Dateiende der angegebenen Datei erreicht ist, und falls das der Fall ist, wird True zurückgegeben, sonst False.
MfG
Binärbaum