Hallo ecspooky,
wenn Du die Daten einer Zeile ändern willst, d.h. einem Gruppenleiter user hinzufügen
oder entfernen, musst Du die Datei neu schreiben.
Also eine DummyDatei erstellen, alle Zeile bis zu der veränderten Zeile in die
DummyDatei schreiben - dann die veränderte Zeile hineinschreibenund dann anschließend
den ganzen Rest.
Du siehst also, so ein Art Datenbank mit einer TextDatei aufzubauen ist von der
Handhabung nicht so einfach.
Alterantiv könntest Du eine Inidatei (TIniFile oder TMemIniFile) erstellen
pro Gruppenleiter eine Section erstellen und als Key eine Zeile mit den Usern.
Die IniDatei sieht dann ungefähr so aus.
[Name_GrpLtr1]
users = user1, user2, user3
[Name_GrpLtr2]
users = user4, user5
Mit den Methoden von TIniFile kannst Du dann direkt
die User eines Gruppenleiters auslesen und auch wieder zurückschreiben.
Um TIniFile besser kennenzulernen, kannst Du mal ein wenig in der OnlineHilfe herumstöbern.
Eine weitere Alternative wäre, das ganze Datensatzorientiert aufzuziehen.
d.h. Du hast pro Gruppenleiter einen Datensatz.
Delphi-Quellcode:
TGruppenLeiter = record
name : String[20];
users : String[255];
end;
Die Datei wäre dann ein
DataFile : File of TGruppenLeiter;
ein Datensatz wäre
DataSet : TGruppenleiter;
auf die Datei kannst Du so zugreifen:
AssignFile(DataFile,'deinDateiName');
Reset(DataFile);
Read(DataFile,Dataset);
Der Gruppenleitername steht dann in
DataSet.name
die User in
DataSet.users
Wenn Du die User eines Gruppenleiters änderst
Kannst Du sie mit
Write(DataFile,DataSet)
wieder zurückschreiben.
In der Datensatzorientierten Datei
kannst Du mit
FilePos(DataFile) und
Seek(DataFile,DatenSatzNummer) navigieren.
Du mußt allerdings auch die Datei umkopieren
wenn Du einen Datensatz löschen willst.
Hoffe, habe Dich nun nicht zuviel verwirrt.
Grüße
Klaus