Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#13

AW: SJ MMF File Reader 0.2 - Schneller Textdatei Reader

  Alt 7. Jun 2010, 14:11
Erstmal kann AssignFile+ReadLn nur mit ANSI-Dateien umgehen (auch unter Delphi 2009+).
Geschenkt (warum ist das eigentlich noch immer so?)
Standardmäßig hat diese wirklich alte Pascal-Funktion auch für Textdateien einen sehr schlecht eingestellten eigenen Puffer (gut, daß kann man etwas ändern)
Wer es nicht tut dem ist nicht zu helfen, obwohl bei einem solchen Hilfetext auch nicht Naheliegend (D7 settextbuf):
Zitat:
Jede Textdateivariable verfügt über einen internen 128 Byte großen Puffer, in dem die Read- und Write-Operationen zwischengespeichert werden. Die Standardgröße des Puffers ist für die meisten Operationen ausreichend. Bei Programmen mit umfangreichen E/A-Operationen kann der Puffer vergrößert werden, um die Anzahl der Festplattenzugriffe zu verringern und das Dateisystem zu entlasten.
Und dann sind diese Funktionen auch nicht gerade OOP-Konform.
Und wie wirkt sich das aus?

TStringList, TStringStream und Co. haben das "Problem, daß sie die komplette Datei in den Arbeitsspeicher laden, also schlecht für große Dateien.
Da kommt es doch wohl darauf an was ich mit den Daten machen will. Auch bei TStringlist od Co verbietet mir niemand erst einmal ein paar Zeilen für dem Mülleimer zu lesen, und dann erst die Zeilen in den Speicher zu laden (für die weitere Verarbeitung).

Was wirklich fehlt ist ein seek was auf Zeilenbasis funktioniert.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat