Einzelnen Beitrag anzeigen

Franzelchen

Registriert seit: 22. Mär 2007
82 Beiträge
 
#14

Re: RichEdit.FindText beschleunigen

  Alt 16. Feb 2008, 12:35
Hallo!

Zitat von marabu:
Hallo,

Eine drastische Beschleunigung der Textsuche könntest du durch den Einsatz eines Directed Acyclic Word Graph (Hier im Forum suchenDAWG) erreichen. Dabei werden die Buchstaben der Suchbegriffe in einen Baum eingetragen und jedes Suchwort entspricht einem Pfad im Baum. Deine Suche geschieht dann eigentlich anders herum: Du prüfst deinen zu durchsuchenden Text anhand des Baums auf existierende Pfade.

Es gibt noch andere Ansätze für eine beschleunigte Suche, die alle effizienter sind als die Methode FindText, aber der DAWG ist leicht zu implementieren und hat einen sehr großen Kosten-Nutzen-Effekt.

Freundliche Grüße
Die Implementation fällt mir nicht ganz so einfach wie Marabu es schreibt.
Ich habe den RE.Text in ein Dawg geschrieben. Das geht sehr leicht.
Das Durchsuchen des RE.dawg mit den Einträgen der Listbox fällt mir schon wesentlich schwerer.
Es erscheinen Variant Fehler. In der Schleife die ich eingefügt habe um die Listbox abzuarbeiten sind offensichtlich auch noch Fehler.
An das Hauptproblem : die Markierung der Listbox Einträge im Dawg , traue ich mich gar nicht erst heran.

Hilfe!!
Angehängte Dateien
Dateityp: zip richeditfaerben4_146.zip (350,5 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat