Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Verwendung einer ProgressBar (https://www.delphipraxis.net/203352-verwendung-einer-progressbar.html)

ManniSt 10. Feb 2020 21:37

AW: Verwendung einer ProgressBar
 
Habe ich leider schon gelöscht, hat aber auch ordentlich funktioniert, war nur leider zu langsam, aber deutlich schneller als die herkömmliche Methode.

Gute Besserung.

Manni

Luckie 10. Feb 2020 21:41

AW: Verwendung einer ProgressBar
 
Himitsu hat ja erst noch alles in Prozent umgerechnet. Ich bin aber der Meinung, es ginge auch ohne Umrechnen. Nur habe ich mich da total total verkloppt.

Danke. Wird schon wieder.

p80286 10. Feb 2020 22:53

AW: Verwendung einer ProgressBar
 
Ich vermute mal so etwas:
Delphi-Quellcode:
Wert mod Faktor=1;
Wert wäre 0..Ende und mit Faktor bestimmst Du die Intervallgröße.
wobei
Delphi-Quellcode:
wert mod faktor=Ende mod faktor;
oder besser
Delphi-Quellcode:
c:=ende mod faktor;
.....
wert mod faktor=c;
genau auf dem letzten Wert ein "tuwas" veranlasst.

Gruß
K-H

Luckie 10. Feb 2020 23:23

AW: Verwendung einer ProgressBar
 
Danke. :thumb:

himitsu 11. Feb 2020 11:41

AW: Verwendung einer ProgressBar
 
Schneller ist das mit den Ticks nicht, eigentlich sogar langsamer als ein MOD,
aber die Verteilung der Anzeigevorgänge ist "humaner".

Auf schnelleren Rechnern wird es schneller, da weniger Ausgaben (mehr Durchläufe in gleicher Zeit)
und auf langsameren Rechnern wird es etwas langsamer, aber der Mensch muß nicht gleicheitig länger warten.



Früher hatte man auch sowas gemacht, dass man erstmal guckte wie lange ein paar bestimmte Vorgänge dauern und dann rechnete man sich daraus aus, alle vieviele Durchgänge man nun z.B. die Anzeige ansteuert.
Aber da sich CPUs heutzutage dynamisch takten, ist das nicht mehr so gut, als wie zu Zeiten, wo PCs noch einen Turbo-Knopf hatten, bzw. immer mit dem selben Takt liefen.

Zitat:

war nur leider zu langsam, aber deutlich schneller als die herkömmliche Methode.
Man könnte die Zeit ja an die jeweiligen Bedürfnisse anpassen.
Es lassen sich auch andere Counter/Timer verwenden, aber GetTickCount ist im Windows verfügbar und arbeitet direkt mit Millisekunden.


Es lassen sich die Rechenaufgaben auch in einen Thread verschieben und dann kann man die Anzeige z.B. über einen Timer regelmäßig synchronisieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr.
Seite 2 von 2     12   

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