Claudius Sailer wrote:

Der Code ist nicht gut....

Ende = Ubound(Zeilen)

for i=Ende DownTo 0
if InStr(Zeilen(i),EditField1.Text)>0 then s.Append Zeilen(i)
next

das sollte gehörig was bringen...

Meinst Du?
Ich habe extra die DownTo-Variante gewählt, weil nur einmal (intern)
UBound errechnet werden muss, danach muss RB sich ohnehin merken,
welchen Wert der Schleifenzähler hat.

Ob das permanente Auslesen aus dem Editfield gut ist oder lieber eine
variable verwendet werden sollte, müsste getestete werden.

Ich habe mal getestet:

for i=UBound(Zeilen) DownTo 0 => 3627 Ticks

bis=UBound(Zeilen)
for i=0 to bis => 3799 Ticks

s1=EditField1.text
for i=UBound(Zeilen) DownTo 0 => 79

s1=EditField1.text
bis=UBound(Zeilen)
for i=0 to bis => 78 Ticks

s1=EditField1.text
for i=0 to UBound(Zeilen) => 267 Ticks

Das Ausschlaggebende war, den Text aus dem Editfield in eine lokale
Variable zu überführen. Danke für den Tipp.

MfG, Metti.

Antwort per Email an