AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TStringList in Datei/File speichern und laden
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList in Datei/File speichern und laden

Ein Thema von Pytroxis · begonnen am 27. Apr 2019 · letzter Beitrag vom 28. Apr 2019
Antwort Antwort
striderx

Registriert seit: 11. Feb 2007
Ort: Bergisch Gladbach
207 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: TStringList in Datei/File speichern und laden

  Alt 27. Apr 2019, 22:47
Warum fügst du nicht beim Zusammenbauen der Gesamt-Stringlist vor jeder Teilliste jeweils einen Markierungsstring ein, anhand dessen du später nach dem laden die Gesamt-Liste wieder auseinander nehmen kannst?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: TStringList in Datei/File speichern und laden

  Alt 27. Apr 2019, 23:40
Du unterliegst einem Trugschluss. Kompakter Code ist unverständlicher und bedarf mehr Erklärung. Guter, verständliche, selbsterklärender Code benötigt weniger Erklärung. Benenne Variablen und Routinen "sprechend" und der Code erklärt sich fast von selbst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#3

AW: TStringList in Datei/File speichern und laden

  Alt 28. Apr 2019, 08:43
Mein Vorschlag:

Delphi-Quellcode:
var
    ar: array of TStringList;

procedure save(const Filename: String);
var
  sl: TStringList;
  i: integer;
begin
    sl:= TStringList.Create;
    try
      for i:= Low(ar) to High(ar) do begin
         sl.Add(ar[i].Commatext);
      end;
      sl.SaveToFile(Filename);
    finally
        sl.Free;
    end;
end;
procedure load(const Filename: String);
var
  sl: TStringList;
  i: integer;
begin
  assert(Length(ar)=0);
    sl:= TStringList.Create;
    try
      s1.LoadFromFile(Filename);
      SetLength(ar, s1.Count);
      for i:= 0 to s1.Count-1 do begin
        ar[i] := TStringList.Create;
        ar[i].Commatext := s1[i]);
      end;
    finally
      sl.Free;
    end;
end;

Geändert von samso (28. Apr 2019 um 08:48 Uhr) Grund: Länge von ar sollte gesetzt werden
  Mit Zitat antworten Zitat
Pytroxis

Registriert seit: 12. Apr 2019
46 Beiträge
 
#4

AW: TStringList in Datei/File speichern und laden

  Alt 28. Apr 2019, 10:35
Du unterliegst einem Trugschluss. Kompakter Code ist unverständlicher und bedarf mehr Erklärung. Guter, verständliche, selbsterklärender Code benötigt weniger Erklärung. Benenne Variablen und Routinen "sprechend" und der Code erklärt sich fast von selbst.
Den Gedanken hatte ich auch schon aber letztlich hast du wohl recht


Mein Vorschlag:
Vielen Dank, werde das später auch mal testen.


Dann frage ich noch mal so:
Welche Möglichkeit sollte ich nun nutzen? Sollte ich eher über Ini-Files gehen oder doch lieber über SaveToFile gehen?
Gibt es bei den beiden Methoden irgendwelche Vor- bzw. Nachteile?


Edit:
Was macht Eigentlich assert() ? Habe es schon mehrfach gesehen aber bisher noch keine Erklärung gesehen :O

Geändert von Pytroxis (28. Apr 2019 um 10:38 Uhr)
  Mit Zitat antworten Zitat
striderx

Registriert seit: 11. Feb 2007
Ort: Bergisch Gladbach
207 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TStringList in Datei/File speichern und laden

  Alt 28. Apr 2019, 10:48
Welche Möglichkeit sollte ich nun nutzen? Sollte ich eher über Ini-Files gehen oder doch lieber über SaveToFile gehen?
Ini-Files sind dazu da, um Initialisierung-Information zu speichern und sollten nicht für die Datenhaltung mißbraucht werden. Ich würde mir die Gesamt-Liste mit Trenn-Strings zusammenbastel, mit SaveToFile in eine Datei speichern und dann nach dem Laden sequentiell durchgegehen und anhand der Trennstrings wieder zerlegen.
  Mit Zitat antworten Zitat
Pytroxis

Registriert seit: 12. Apr 2019
46 Beiträge
 
#6

AW: TStringList in Datei/File speichern und laden

  Alt 28. Apr 2019, 13:05
Ich würde mir die Gesamt-Liste mit Trenn-Strings zusammenbastel, mit SaveToFile in eine Datei speichern und dann nach dem Laden sequentiell durchgegehen und anhand der Trennstrings wieder zerlegen.
Dann mache ich es auf Basis des Codes eines Vorredners
  Mit Zitat antworten Zitat
striderx

Registriert seit: 11. Feb 2007
Ort: Bergisch Gladbach
207 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: TStringList in Datei/File speichern und laden

  Alt 28. Apr 2019, 10:52
Was macht Eigentlich assert() ? Habe es schon mehrfach gesehen aber bisher noch keine Erklärung gesehen :O
Du weißt schon, dass es in Delphi eine Hilfefunktion gibt?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz