![]() |
Re: Wörterbuch Datei
Delphi-Quellcode:
Ich hab keine Erfahrung mit Begin bzw. EndUpdate... Wäre das so richtig (hab auch noch gettickcount eingebaut)
var
i:integer; Position:integer; start,stop:longint; begin ListeD.Clear; ListeE.Clear; SucheD.BeginUpdate; try 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; begin start := gettickcount; repeat stop := gettickcount; application.processmessages; until (stop - start ) >= 100; end; end; end; finally SucheD.EndUpdate; end; end; Mein Delphi kennt das nämlich nicht... |
Re: Wörterbuch Datei
Du musst Begin-/EndUpdate auf die Listen anwenden, die verändert werden. SucheD ist das nicht :zwinker:
|
Re: Wörterbuch Datei
Also statt SucheD ListeD hinschreiben?
Kennt er trotzdem nicht. :( |
Re: Wörterbuch Datei
BeginUpdate und EndUpdate sind Methoden von TStrings. Welche Property Deiner Listboxen sind TStrings? Könnte das Items sein? Wie muss die Zeile also lauten?
|
Re: Wörterbuch Datei
und hier machst du JEDESMAL EINE PAUSE VON 100 ms
Delphi-Quellcode:
und nicht ALLE 100 ms
start := gettickcount;
repeat stop := gettickcount; application.processmessages; until (stop - start ) >= 100;
Delphi-Quellcode:
start := gettickcount;
{schleifenstart} ... if gettickcount - start >= 100 then begin application.processmessages; start := gettickcount; end; {schleifenende} |
Re: Wörterbuch Datei
Hm... Wäre es nicht sinnvoll, die Processmessages bei jeder Schleife zu durchlaufen?
Also ich hab mal einen Versuch gemacht: Ich habe die SL geladen und dann in ein MEmo geladen (1,5 Mio Zeilen)- hab damit gerechnet, dass es länger dauert, aber nicht soooo lange. Nach 2 1/2 Minuten hab ich das ganze dann abgebrochen. Deshalb: Ist es möglich, das ganze ein wenig schneller zu laden? Mit Notepad++ dauert es 5 Sekunden und die Zeilen sind da (Programm muss schon offen sein, sonst knapp 15 Sekunden). Da ich beim Suchen ja nicht 1,5 Mio Zeilen laden muss, sondern eher so um die 50, sollten 5 Sekunden schon möglich sein... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz