Thema: Delphi Datei durchsuchen

Einzelnen Beitrag anzeigen

Benutzerbild von Techcrawler
Techcrawler

Registriert seit: 14. Sep 2006
Ort: Neukirchen-Vluyn
40 Beiträge
 
Delphi 2006 Architect
 
#1

Datei durchsuchen

  Alt 5. Mär 2009, 08:01
Hallo erstmal,

ich habe nun schon dieses Forum durchsucht und auch in der Code-Library nachgesehen, doch das alles erfüllt nicht den gesuchten Zweck.

Die Frage: Ich möchte eine Datei nach einem String durchsuchen. Ich will ja an dieser Stelle gar keinen fertigen Code, sondern vielmehr eine Diskussion, welche Möglichkeiten es gibt und welche davon die wohl geeignetste ist.

Das Problem: Eine Datei beliebiger Größe (also von Byte bis Gigabyte) soll nach einem String durchsucht werden - geneauer gesagt, nach einem (oder mehreren) Hexcode(s), die Funktion für die Hexcodes habe ich bereits fertig - und dies natürlich möglichst schnell und effektiv.

Idee 1: Ich öffne die Datei mit FileOpen, dann wird per FileSeek mit Schrittweite 1 durch eine Schleife iteriert, bis das erste Zeichen des gesuchten String gefunden wird. Absprung zu einer Anaylse funktion, die dann Schritt für Schritt alle weiteren Zeichen einliest, ob dies der String ist. Wenn ja, Resultat = true, wenn nein, wieder in die Schleife. Das ganze bis der String gefunden wurde oder das letzte Zeichen der Datei gelesen wurde.
Ich finde das dies zwar eine Lösung darstellt, diese aber nicht besonders "schön" oder effektiv ist, da es, IMHO, zuviel Rechenleistung verbrauchen würde.

Idee 2: Ich lade die Datei in einen String und durchsuche diesen. Allerdings dürfte bei GB Dateien ziemlich schnell eine Speicherüberlauf aufkommen.

Idee 3: Eure Idee!?

Würde mich freuen, wenn ihr eure Ideen präsentieren würdet. Wie gesagt, ich brauche gar keinen fertigen Code, nur die "richtige" Idee will sich derzeit bei mir einfach nicht einstellen.

Danke im vorraus...
  Mit Zitat antworten Zitat