Ach so!
Also, zuerst einmal musst Du Dir eine Datei definieren, in der Du Dein Record speichern kannst. Also, wenn Dein Recordtyp TDaten heißt, kannst Du Dir so einen Dateitypen definieren, der diese Daten aufnehmen kann:
Quelltext
1:
| VAR datei : File of TDaten; |
Das Lesen einer Datei geht so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| VAR daten : ARRAY OF TDaten; begin AssignFile(datei,'c:\test.dat'); {$I-} Reset(datei); {$I+} IF IOResult = 0 THEN while not EOF(datei) DO begin SetLength(daten, Length(daten)+1); ReadLn(datei,daten[High(daten)]); end; CloseFile(datei); end; |
So, das Schreiben einer Datei geht eigentlich fast genauso:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| VAR daten : ARRAY OF TDaten; i : INTEGER; begin AssignFile(datei,'c:\test.dat'); ReWrite(datei); //ACHTUNG! Bereits in der Datei vorhandene Daten //gehen verloren! IF IOResult = 0 THEN for i:=0 TO High(daten) do Write(datei,daten[i]); CloseFile(datei); end; |
Den OpenDialog und den SaveDialog zu benutzen, ist nicht schwer. Mit Execute rufst Du beide aus, diese Funktion gibt dir mit einem Boolean auch direkt zurück, ob er erfolgreich zu Ende gebracht wurde, oder ob der Benutzer abgebrochen hat. In der Eigenschaft Filename ist nach Erfolg der Dateiname zum Öffnen oder Speichern hinterlegt.
MfG,
Peter
P.S.: Die Quelltexte sind nicht getestet und ich habe das schon lange nicht mehr gemacht. Also können noch Fehler drin sein. Bei gravierenden einfach nachfragen.
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".