Hallo MaM,
Zitat von
MaM:
Die eingetragenen Werte sollen in eine Textdatei geschrieben werden. Die einzelnen Einträge sind durch Simikolons getrennt.
Einfaches Trennen durch Semikolon führt zu Problemen, sobald in einem Feld das Trennzeichen selbst im Inhalt vorkommt. Das Problem kannst du so lösen:
Delphi-Quellcode:
function TForm_Kundenhinzufuegen.NeueZeile: string;
var
sl: TStringList;
begin
sl := TStringList.Create;
sl.Delimiter := ';';
sl.Add(E_Firma.Text);
...
Result := sl.DelimitedText;
sl.Free;
end;
Damit deine gerade erzeugte Datenzeile nicht die zuvor gespeicherte überschreibt, musst du alle Daten im Hauptspeicher halten:
Delphi-Quellcode:
// Im Hauptspeicher halten
procedure TForm_Kundenhinzufuegen.FormCreate(...);
begin
slDaten := TStringList.Create;
slDaten.LoadFromFile(KundenFileName);
end;
procedure TForm_Kundenhinzufuegen.FormDestroy(...);
begin
slDaten.SaveToFile(KundenFileName);
slDaten.Free;
end;
procedure TForm_Kundenhinzufuegen.AppendButtonClick(Sender: TObject);
begin
slDaten.Add(NeueZeile);
end;
Alternativ kannst du die Textdatei einfach fortschreiben:
Delphi-Quellcode:
procedure TForm_Kundenhinzufuegen.AppendButtonClick(Sender: TObject);
begin
AssignFile(f, KundenFileName);
Append(f)
WriteLn(f, NeueZeile);
CloseFile(f);
end;
Für die Übernahme der Daten in eine ListView stehen dir zwei Techniken zur Verfügung - ich lege dir die virtuelle ListView nahe. Schau mal in der Online-Hilfe unter TListView.OwnerData nach. Wenn du dann noch Fragen hast, hilft dir hier bestimmt jemand.
Grüße vom marabu