Sei Dir zunächst einmal klar darüber, dass es einen Teil des Programms gibt, den man sehen kann (die Edits z.B.) und einen, den man nicht sieht (die Liste der Telefonnummern). Nehmen wir einmal an, die bereits erstellte Datei sähe so aus:
Diese Datei lädst Du mit LoadFromFile in eine TStringlist. Nun sagen wir: "zeig uns die erste Zeile".
Das bedeutet, dass der erste Datensatz (die erste Zeile) so dargestellt werden soll:
- ins Edit für den Namen das A
- ins Edit für den Vornamen das B
- ins Edit für die Nummer die 1
Zweckmäßigerweise merkst Du Dir den Index der Zeile (Zählung beginnt bei 0), in diesem Fall also 0. Soll der dargestellte Datensatz nun geändert werden, fügst Du die Zeile (also den kompletten String) wieder aus den Edits zusammen und legst ihn in der Liste an der alten Position (also 0) ab. Nach einer Änderung der Nummer von 1 auf z.B. 20 sähe das dann anschließend so aus:
Code:
A;B;20 //<- Nummer geändert
C;D;2
E;F;3
G;H;4
Das Alles geschieht bis zur Speicherung lediglich im Hauptspeicher, deshalb der Vorschlag mit einer TStringlist. Erst wenn Du diese mit SaveToFile abspeicherst, ist die Datei auch geändert. Soweit klar?