Tut mir leid, wenn ich dich verwirrt habe. Und du nervst auch ganz sicher nicht.
Natürlich kannst du auch eine verkettete Liste als
CSV-Datei speichern:
Delphi-Quellcode:
type
TArtikel = class
Next: TArtikel;
Nummer: Cardinal;
Bezeichnung: String;
end;
var
ArtikelListe: TArtikel;
procedure Save(artikel: TArtikel; fn: TFileName);
var
s, a: TStrings;
begin
s := TStringList.Create;
a := TStringList.Create;
s.Add('"Nummer","Bezeichnung"'); // ...
while Assigned(artikel) do
begin
a.Add(IntToStr(artikel.Nummer));
a.Add(artikel.Bezeichnung);
// ...
s.Add(a.CommaText);
a.Clear;
artikel := artikel.Next;
end;
a.Free;
s.SaveToFile(fn);
s.Free;
end;
begin
ArtikelListe := TArtikel.Create;
with ArtikelListe do
begin
Nummer := 1;
Bezeichnung := 'Handtuch';
Next := TArtikel.Create;
end;
with ArtikelListe.Next do
begin
Nummer := 2;
Bezeichnung := 'Mausefalle';
end;
Save(ArtikelListe, ChangeFileExt(ParamStr(0), '.txt'));
end.
Getippt und nicht getestet.
Ich habe das Listenelement TArtikel als class und nicht als record definiert, weil ich dann New() und Dispose() durch Create() und Free() ersetzen kann - was ich für didaktisch sinnvoll halte. Trotzdem habe ich versucht so nahe wie möglich an deiner über Zeiger verketteten Liste zu bleiben, damit du folgen kannst.
Freundliche Grüße