Zitat von
juergen:
Delphi-Quellcode:
[...]
NextPos := pos(Suche.Text, Copy(ItemText, Suche.StrPos +
length(Suche.Text), length(ItemText) - Suche.StrPos));
if NextPos > 0 then
Suche.StrPos := Suche.StrPos + length(Suche.Text) + NextPos - 1
else
Suche.StrPos := 0;
[...]
Da hast du aber zuerst einmal noch einen Fehler drin. Wenn der Suchtext "otto" ist und der durchsuchte Text "ottotto" enthält, so wird nur das erste Otto gefunden. Und um die Geschwindigkeit zu erhöhen könntest du den Copy-Befehl rausschmeißen und statt
Pos mit
PosEx arbeiten:
Delphi-Quellcode:
[...]
PosEx(Suche.Text, ItemText, Succ(Suche.StrPos));
if NextPos > 0 then
Suche.StrPos := Pred(NextPos) // Warum hier eigentlich einen weniger?
else
Suche.StrPos := 0;
[...]
Edit: Arrg, PosEx hatte jfheins ja schon genannt. Muss die Uhrzeit machen