So klappt es in Deinem Fall.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| type TRecData =record end;
var Data :TRecData; FileData :File of TRecData;
procedure ReadFile; begin Write(FileData,Data); end;
procedure WriteFile; begin Read(FileData,Data); end; |
Grundsätzlich gilt:
1. Bei untypisierten Dateien "var FileData :File;" nimmt man anstelle von "Read()" und "Write()" die Befehle "BlockRead()" und "BlockWrite()". Die Unterschiede beim Öffnen der untypisierten Datei werden in der Hilfe zu "BlockRead()" und "BlockWrite()" ersichtlich, da bei "Reset()" und "ReWrite()" ein 2. Parameter angegeben wird.
2. Bei typisierten Dateien "var FileData :File of Typ;" gibt es kein "ReadLn()" oder "WriteLn()", nur "Read()" und "Write()". Da der Record von seiner Struktur her immer einem Datensatz ähnelt, stellt die Datei des selben Types immer eine Art Datenbank dar. Man liest bzw. schreibt kein einzelnes Datenfeld sondern immer einen kompletten Datensatz, also immer den kompletten Record, in obrigen Beispiel die Variable "Data".
Wichtig wäre für Dich, in der Delphi-Hilfe "Seek()" nachzuschlagen, falls Du das nicht bereits getan hast, und "IOResult" in Verbindung mit "{$I}".
Viel Erfolg.