Suchfunktion erweitern

Code:
if Pos(Suchtext, Memo1.Lines.Text) = 0 then
Showmessage('Es wurden keine Treffer gefunden') // Wenn nichts gefunden wurde
else
begin
Memo1.SelStart :=  Pos(Suchtext, Memo1.Lines.Text)-1;
Memo1.SelLength := Laenge; // Wort wird bei Fund markiert
end;

Damit durchsucht das Programm ein Memo-Feld und markiert das gefundene Wort oder den Wortteil.Aber ich möchte,dass es danach möglich ist,weiterzusuchen,also ab der Stelle des letzten Fundes,um ein weiteres Wort zu finden.Dazu bräuchte ich mal wieder hilfreiche Lösungsansätze :)
 
In den neueren Delphi-Versionen gibt es PosEx ( oder so), da kann man eine Startposition für die Suche (sinniger Weise den letzten Fundort+1) angeben

Hilf das?
vop
 
Mit der Funktion kann ich was anfangen,danke ;)

Allerdings gestaltet sich mir nun das Problem,wie ich das realisieren soll.Mit Schleifen hab ich gerade etwas herumprobiert,aber die Ansätze waren wohl nicht ganz richtig,denn entweder wurde permanent der gleiche Teil markiert (wodurch Delphi natürlich neu gestartet werden muss ^^) oder eben gar nichts,obwohl es vorkam :)

Die Funktion sollte nach und nach (bei Buttonklick eben) das ganze Formular absuchen.Ich habs gerade auch probiert,dass er nach einmaligen Druck einfach alle Wörter markieren soll....Ergebnis siehe oben.

Kann mir jemand weiterhelfen? :)
 

Neue Beiträge

Zurück