Huhu,
das Programm Erhält eine Botschaft, wenn es geschlossen werden soll. Üblicherweise kann man im Hauptfenster auf das OnClose- oder besser aus das OnCloseQuery-Ereignis reagieren. Dort muss man dann dafür sorgen, dass die Daten abgespeichert werden.
Wie das mit dem Abspeichern am besten funktioniert, richtet sich nach der Art der Daten, die abgespeichert werden sollen. Einige Komponenten bringen ihre „SaveToFile“-Methoden gleich mit, so zB. TMemo oder TIniFile usw. Reicht das nicht, muss man sich selbst kümmern.
Für Text ist das seht einfach: Du brauchst eine Dateivariable („F“) vom Typ TextFile. Mittels AssignFile(F, Dateiname) kannst du Delphi sagen, wie die Datei heißt, die du über F ansprechen willst. Dann kannst du mit Rewrite(F), Reset(F) oder Append(F) die Datei zum Schreiben, Lesen oder Anhängen öffnen. Schreiben kann man dann über WriteLn(F, IrgendeinString), lesen über ReadLn(F, IrgendeinString). Beachte: Wenn die Datei zum schreiben geöffnet ist, kann man nicht lesen und umgekehrt! Schließlich muss die Datei am Ende wieder geschlossen werden. Das geht mit CloseFile(F).
Hast Du spezielle Daten in Records von einem selbstdeklarierten Typ („TMeinRecTyp“), dann kann man eine Datei mit Datensätzen dieses Typs erstellen:
type F: File of TMeinRecTyp;
Ansonsten läuft alles wie beim Text, nur dass statt ReadLn und WriteLn die Befehle Read(F,einMeinRec) und Write(F,einMeinRec) verwendet werden.
Siehe zu den Begriffen „TextFile“, „File“, „AssignFile“, „Rewrite“ usw. in der Delphi Hilfe nach!
Tja, dann gibt es noch die TFileStream-Klasse, mit der man Daten schreiben und lesen kann (s. Delphi-Hilfe!).
Für sehr spezielle Dateimanipulationen kann man Dateien auch über Windows-Datei-Handles ansprechen. Mit FileCreate oder FileOpen bekommt man ein solches Handle, mit FileRead und FileWrite liest bzw. schreibt man und mit FileClose schließt man die Datei wieder. Die verwendung von Handles empfehle ich Dir nicht. Wenn es dich aber interessiert, dann lies dir zu diesen Begriffen wieder die Delphi-Hilfe durch.
Die Möglichkeit, Datenbanken zu nutzen, wurde ja schon angesprochen. Das ist aber i.d.R. mit Superkanonen auf kleine Spatzen geschossen.
VG
Jochen