Einzelnen Beitrag anzeigen

Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#12

Re: String in 3 MB großen Dateien suchen

  Alt 11. Jun 2004, 17:18
Moin Uncle Cracker,
Du hast Recht.
Es liegt aber nicht der Größe der Datei, sondern an der Häufigkeit des Wortes.

Die Datei wird über TFileStream in 4096 Byte Blöcken bearbeitet.
Bevor ein neuer Block eingelesen wird, wird am Ende der Blockverarbeitung
geguckt, ob die aktuelle Stream Position + der Textlänge kleiner ist als
Stream.Size. Ja, wird Stream.Positon von der aktuellen Position um die
Textlänge zurückgesetzt. Dadurch wird verhindert, dass das gesuchte Wort
durch eine Blockgrenze zerschnitten wird. Wenn das gesuchte Wort den Block
abschließt wird es dadurch aber zweimal gezählt. Das müsste der Fehler sein.
Arbeite gerade dran
I come from outer space to save the human race
  Mit Zitat antworten Zitat