Thema: Delphi Progressbar einbinden

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

Re: Progressbar einbinden

  Alt 28. Okt 2009, 15:17
Zitat von isilive:
Die unterschiedlichen Rechnergeschwindigkeiten sind gar kein so grosses Problem. Wenn meine Progressbar ca. 5 mal pro Sekunde aktualisiert wird, dann ist das schon voll in Ordnung.
Das meine ich ja, aber sowas bekommst du realistisch gesehn nicht hin, wenn man z.B. nur sowas mach
Delphi-Quellcode:
for i := 1 to 2000000000 do
begin

  ... mach was

  if i and $ffff = 0 then
    Application.ProcessMessages;
end;
Denn wer sagt dir, daß ein Rechner für diese 65536 Durchgänge nicht 'ne Stunde braucht
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:
//machwas
verarbeitet immer nur ein Byte?
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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat