AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wörterbuch Datei

Ein Thema von Delphi-Narr · begonnen am 23. Okt 2009 · letzter Beitrag vom 26. Okt 2009
Antwort Antwort
Seite 5 von 5   « Erste     345   
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#41

Re: Wörterbuch Datei

  Alt 26. Okt 2009, 14:55
Delphi-Quellcode:
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;
Ich hab keine Erfahrung mit Begin bzw. EndUpdate... Wäre das so richtig (hab auch noch gettickcount eingebaut)
Mein Delphi kennt das nämlich nicht...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#42

Re: Wörterbuch Datei

  Alt 26. Okt 2009, 14:57
Du musst Begin-/EndUpdate auf die Listen anwenden, die verändert werden. SucheD ist das nicht
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#43

Re: Wörterbuch Datei

  Alt 26. Okt 2009, 14:59
Also statt SucheD ListeD hinschreiben?
Kennt er trotzdem nicht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#44

Re: Wörterbuch Datei

  Alt 26. Okt 2009, 15:04
BeginUpdate und EndUpdate sind Methoden von TStrings. Welche Property Deiner Listboxen sind TStrings? Könnte das Items sein? Wie muss die Zeile also lauten?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.081 Beiträge
 
Delphi 12 Athens
 
#45

Re: Wörterbuch Datei

  Alt 26. Okt 2009, 15:14
und hier machst du JEDESMAL EINE PAUSE VON 100 ms
Delphi-Quellcode:
start := gettickcount;
repeat
  stop := gettickcount;
  application.processmessages;
until (stop - start ) >= 100;
und nicht ALLE 100 ms
Delphi-Quellcode:
start := gettickcount;
{schleifenstart}

  ...

  if gettickcount - start >= 100 then
  begin
    application.processmessages;
    start := gettickcount;
  end;
{schleifenende}
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#46

Re: Wörterbuch Datei

  Alt 26. Okt 2009, 15:21
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...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 5   « Erste     345   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz