New account

TStringList.LoadFromFile  Bottom

  • Habe festgestellt, dass das Laden einer großen Datei in eine TStringList massiv länger dauert, als bei Delphi oder Lazarus.
    Rauskriegen muss ich noch wo die Größengrenze ist. Die Testdatei hat 93000 Zeilen, die passen nicht alle rein, bei Delphi und Lazarus allerdings schon.
    Gibt's was schnelleres ? Soll aber in einer Listbox dargestellt werden, wobei vielleicht immer nur ein Bereich dargestellt werden muss, das wäre zu überlegen.
  • Hallo!

    Ich würde mal vorschlagen, Du schaust Dir das mal mit der neuen Version auch an. Denn durch die neue Speicherverwaltung kann sich da auch was verändert haben.

    Im prinzip geht es da um die Funktion "LoadFromStream". Die öffnet die Datei und ließt die Datei Zeile für Zeile ein und gibt diese mittels "Add" an die Stringliste weiter. Damit könnte man mittels der Eigenschaft "Capacity" den Speicherbereich angeben. Damit braucht, WDSibyl nicht jedesmal wenn "Add" aufrufgerufen wird den Speicher vergrößern.
    Da man die Größe der Datei kennt, dann kann man diese gleich an Capacity weitergeben.
    Kannst Du Dir das mal anschauen, ob das geht.

    Vielen Dank

    bye,
    Wolfgang
  • 0 users

This list is based on users active over the last 30 minutes.