Also erstmal solltest du bitte mal an deiner Code-formatierung arbeiten
Und um deine Frage zu beantworten kuck mal das an: Application.ProcessMessages
Der Code unten enthält diese Anwendung.
WICHTIG: Es ist nicht ratsam, diese Anweisung nach jedem Schleifendurchlauf aufzurufen, da sonst deine Suchfunktion bestimmt mal 10fach so lange dauert,
da ProcessMessages je nach Situation einiges an Zeit verbrät.
Deswegen ist die Bedingung (i mod 1000) = 0 drin, die dafür sorgt, das ProcessMessages nur alle 1000 Durchläufe aufgerufen wird ... das sollte mehr als genug sein.
Delphi-Quellcode:
var
i : integer;
SL : TStringlist;
Position : integer;
begin
ListeD.Clear;
ListeE.Clear;
Sl:=TStringlist.Create;
SL.LoadFromFile('C:\Users\Lennart\Desktop\Vokabeltrainer Sonja\Datafiles\cfmdoffsfm-80141116124-9u69a\Neu.txt');
for i := 0 to SL.Count-1 do
begin
if Odd(i) = False then
begin
Position:=Pos(SucheD.text,SL[i]);
if Position<>0 then
begin
ListeD.Items.Add(SL[i]);
ListeE.Items.Add(SL[i+1]);
end;
end;
If (i mod 1000) = 0 then Application.ProcessMessages;
end;
end;
MFG