![]() |
Re: Progressbar einbinden
Zitat:
Delphi-Quellcode:
Denn wer sagt dir, daß ein Rechner für diese 65536 Durchgänge nicht 'ne Stunde braucht
for i := 1 to 2000000000 do
begin ... mach was if i and $ffff = 0 then Application.ProcessMessages; end; und ein anderer Rechner das nicht schon nach ein paar Millisekunden durch hat. Ergo kannst du schlecht sagen "noar, das sind grob so um die 5 Mal pro Sekunde". Zitat:
wenn nicht, - dann würde ich lieber < statt <> verwenden - und bei dem =0 könnte es vorkommen, daß einiges übersprungen wird. PS: hier du hast 'ne ProgressBar mit 100 Schritten if (MStream.Position and $ff) = 0 then und bei einer 1 MB-Datei (sozusagen 6-stellig) wird diese ProgressBar über 4000 Mal aktualisiert, das sind 40 Mal mehr, als sie überhaupt anzeigen kann. if (MStream.Position and $2000) = 0 then das ist für mich nicht überraschend ... immerhin ist das fast so schlimm wie if (MStream.Position and $1) = 0 then nur daß bei Letzterem jeden 2. Durchlauf etwas gemacht wird und bei Ersterem 8192 Mal hintereinander und dann 8192 Mal garnicht und so weiter ... also im Durchschnitt bei jedem 2. Durchlauf. versuch es mal so if (MStream.Position and $1fff) = 0 then |
Re: Progressbar einbinden
Hallo,
wenn es nur um die Aktualisierung der ProgressBar geht, dann wäre auch ein Refresh der Progressbar vorzuziehen als ein Application.ProcessMessages. Ausschließlich würde ich aber das nicht machen, da sonst die Application mehr oder weniger schläft. Ich habe es mal so gelöst, dass ich öfters die Progressbar aktualisiert habe als die Application selber. Das bringt spürbare Verbesserung. Vielleicht hilft dir das? Gruß Matze |
Re: Progressbar einbinden
Zitat:
$2000 = Bin 0010 0000 0000 0000 = 8192 $1FFF = Bin 0001 1111 1111 1111 = 8191 i AND $1FFF ist erst im 8192'sten Durchlauf gleich Null -> wie gewünscht. $1FFF oder auch $FFFF funktionieren perfekt. Das mit dem Aktualisieren werde ich mir anschauen, Matze. Danke für eure Hilfe. :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 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 by Thomas Breitkreuz