[DEL "Falsches "Langsam" zuerst im Kopf gehabt und zuspät weitergelesen"]
Das ist eine Verbesserung des
OS, die animieren die Ausgabe
langsam beim Hochzählen.
Es gibt aus den Delphi-Demos ein vorinstalliertes TGauge, da es von Borland vor Jahrzehnten entwickelt wurde, ist dort auch rein garnichts optimiert oder verbessert wurden und demnach malt es seinen Zustand auch sehr schnell.
Ansonsten bleibt nur Eines, denn Rückwärts wird umgehend aktualisiert.
Delphi-Quellcode:
ProgressBar.Position := ProgressBar.Position + 2; // bzw. ProgressBar.StepBy(2);
ProgressBar.Position := ProgressBar.Position - 1; // ProgressBar.StepBy(-1);
ProgressBar.Update;
// oder
ProgressBar.Position := ProgressBar.Max - 1;
ProgressBar.Position := Zähler;
ProgressBar.Update;
[/DEL]
Jupp, wenn es viele Schritte sind, die extrem schnell durchlaufen, dann ist das Überspringen ein sehr guttes Mittel, damit deine Fortschrittsanzeige nicht alles unnötig extrem ausbremst.
Wobei ich hier lieber mit einem zeitlichen Interval (100-500 Millisekunden) arbeite, anstatt mit einem festen Abstand, der überall anders schnell/langsam ist.
Delphi-Quellcode:
T := GetTickCount;
for ....
if Integer(GetTickCount - T) > 250 then begin
T := GetTickCount;
ProgressBar.Position := i;
ProgressBar.Update;
end;
end;
ProgressBar.Position := Max; // wenn Anzeige nach Ende noch sichtbar bleibt