Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Verwendung einer ProgressBar

  Alt 10. Feb 2020, 17:55
[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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (10. Feb 2020 um 18:06 Uhr)
  Mit Zitat antworten Zitat