AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ReadLn & TStringList

Ein Thema von Andi1985 · begonnen am 7. Mär 2008 · letzter Beitrag vom 7. Mär 2008
Antwort Antwort
Benutzerbild von Andi1985
Andi1985

Registriert seit: 11. Mai 2007
Ort: NRW
116 Beiträge
 
Delphi 2006 Enterprise
 
#1

ReadLn & TStringList

  Alt 7. Mär 2008, 12:30
Hallo,

ich benutzte derzeitig AssignFile() und ReadLn() sowie Arrays um eine 4,7 MB große Datei auszulesen.

Allerdings ist dies ziemlich langsam im gegensatz zu der Funktion LoadFromFile von der TStringList.

Noch geht das einlesen der 4,7 MB großen Datei mit ungefähr 80.000+ Datensätzen / Zeilen gut, aber
dies kann sich ja bei der Komponente ändern.

Nun ist meine Frage wie groß die Kapazität einer TStringList ist und
ob ich gefahrenlos noch größere Dateien einlesen kann?

mfg,
Moggy
  Mit Zitat antworten Zitat
marabu

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

Re: ReadLn & TStringList

  Alt 7. Mär 2008, 12:41
Hallo,

der Vorteil von ReadLn() ist, dass die Datei zeilenweise verarbeitet wird und nicht allzuviel Hauptspeicher belegt wird. Mit SetTextBuf() kann der Lesepuffer vergrößert werden, was die eine deutliche Beschleunigung bringt.

Die StringList liest die komplette Datei ein. Kapazitätsgrenzen musst du nicht fürchten, wenn du genügend Hauptspeicher zur Verfügung hast.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Andi1985
Andi1985

Registriert seit: 11. Mai 2007
Ort: NRW
116 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: ReadLn & TStringList

  Alt 7. Mär 2008, 12:45
Vielen dank!
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: ReadLn & TStringList

  Alt 7. Mär 2008, 12:45
Zitat von Mogtar:
Nun ist meine Frage wie groß die Kapazität einer TStringList ist und
ob ich gefahrenlos noch größere Dateien einlesen kann?
Da Capacity und Count vom Typ Integer sind, kannst Du Dir selber ausrechnen, wie viele Einträge eine StringList haben darf.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: ReadLn & TStringList

  Alt 7. Mär 2008, 16:02
Zitat von RavenIV:
Da Capacity und Count vom Typ Integer sind, kannst Du Dir selber ausrechnen, wie viele Einträge eine StringList haben darf.
Da muss ich bei u.a. Delphi 5 widersprechen: maximale TStringList Eintragsanzahl ist dort MaxListSize. Und das ist definiert als

MaxListSize = Maxint div 16; Das ergibt dann 134.217.727 Einträge.
  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 22:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz