Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: ListView und Textdatei

  Alt 6. Sep 2005, 12:51
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
  Mit Zitat antworten Zitat