Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: 2 Gigabyte grosse Datei blockweise durchsuchen

  Alt 28. Dez 2006, 15:05
Ein TFileStream-Objekt ist schon richtig. Als Liste würde ich eine TStringlist verwenden.

Wenn Du viel Zeit hast, dann reicht ein generisches Suchen, wobei ich zunächst den jeweils 1. Buchstaben mit den Schlüsselwörtern der Stringliste vergleichen würde, und erst wenn da ein Treffer ist, mal genauer hinschauen.

Wenn Du Dir etwas komplexere Algorithmen zutraust, dann schau mal nach KMP oder ähnlichen Verfahren, die solch 'Multi-Wort' Suche sehr effizient implementieren.

Wenn Du sehr lange Schüsselwörter hast, lohnt ein Blick auf Horspool, Boyer-Moore oder 'Quicksearch'.

Genaueres findest Du hier:

http://www-igm.univ-mlv.fr/~lecroq/string/index.html
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat