Einzelnen Beitrag anzeigen

Nelphin

Registriert seit: 2. Feb 2009
Ort: Kaiserslautern
71 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Progressbar um Loadfromfile fortschritt anzuzeigen.

  Alt 19. Dez 2009, 13:30
Zitat von himitsu:
Application.ProcessMessages verarbeitet die Windowsbotschaften, also es sorgt für das "früher wieder befehle entgegennimmt" und ist auch dafür gedacht, daß sich das Label und die ProgressBar neu zeichnen.

Und daß es "etwas" länger dauert ist auch klar, immerhin werden jetzt nach jeder Zeile der Datei
ein Label, die ProgressBar und alle möglichen Windwsbotschaften verarbeitet ... welches ja zusätzliche Zeit benötigt.

Beschleunigen könnte man es nur dadurch, daß z.B. die Ereignisprozedur nicht nach jeder, sondern nur alle 100 Zeilen aufgerufen würde.

Und wenn man das Label und die ProgressBar manuel zum Neuzeichnen bringt, dann könnte man damit
Application.ProcessMessages ersetzen.
ok ich habe mir jetzt angeschaut wieso progressbar1 nix anzeigt... das liegt an dem Wert den "Progress" liefert...
da kommt je nachdem was ich lade alles mögliche aber fast nie zahlen zwischen 0 und 10000.

bei kleinen datenmengen (paar kilobyte) fängt es mit großen zahlen an und konvergiert langsamer werdend gegen 9999.

bei größeren datensätzen (>10Mb) föngt es mit riesigen negativen zahlen an und konvergiert ebenfalls langsamer werdend gegen 0.
hier mal die ersten paar werte von progress bei nem 11Mb datensatz:
0
-106374335
-23184150
-19237911
-11910370
usw usw später gibt progress dan x mal den selben wert zurück

-175
-175
-175
-175
-174
-174
usw usw

das kann ich also nicht auswerten für die progressbar...
  Mit Zitat antworten Zitat