Hallo,
Wie schaffen es eigentlich Manche Programme bei Zb. einer Reparierung der Registry, die Progressbar immer in der gleichen Geschwindigkeit schnell laufen zu lassen und schaffen es, das der Prozess dann immer fertig ist, wenn die Progressbar bei 100% ist. Also wenn z.B. ein Programm die Registry untersucht, weiß es ja nicht, ob da genau 100 Fehlerhafte Schlüssel sind die es geheben muss, und somit bei jedem Schlüssel eine Status weiter macht oder ob es 300.000 Fehlerhafte Schlüssel sind.
Mein Frage, wie schaffen die Programmierer bei Installationen, Oder anderen Sachen die Statusanzeige immer so Flüssig und genau verlaufen zu lassen.
Flüssige Anzeige bei ProgressBarGadget
Flüssige Anzeige bei ProgressBarGadget
----------------------------------------------------------
PB 5.20 Beta 10 | Windows 7
PB 5.20 Beta 10 | Windows 7
du musst die Gesammt Zeit vorher abschätzen / hochrechnen, je genauer dest do besser.
dann kannst du auch eine Aussagen darüber treffen wie viel schritte / Schleife oder Sekunde weiten gerückt werden müssen.
das das SAU schwer ist, sieht man an WIN selber, wenn man sich die Kopierbalken anguckt, wo es dann auch mal sein kann das er von 4restmin auf 5 springt ^^, das liegt daran das Datein unterschiedlich groß sind, und verschiedene Dinge gemacht werden.
beoi der Reg. ist es ja relativ einfach hoch zu rechnen weil da ja eh fast alles gleich ist...
dann kannst du auch eine Aussagen darüber treffen wie viel schritte / Schleife oder Sekunde weiten gerückt werden müssen.
das das SAU schwer ist, sieht man an WIN selber, wenn man sich die Kopierbalken anguckt, wo es dann auch mal sein kann das er von 4restmin auf 5 springt ^^, das liegt daran das Datein unterschiedlich groß sind, und verschiedene Dinge gemacht werden.
beoi der Reg. ist es ja relativ einfach hoch zu rechnen weil da ja eh fast alles gleich ist...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Naja, sau schwer ist jetzt was übertrieben, denn perfekte Zeitangabe ...
das glaub ich nicht.
Beim kopieren, löschen und verschieben von Dateien sieht man ja, wie
perfekt die Zeitangabe ist. Es wird wohl einfach die Anzahl der Dateien
genommen, eventuell auch die Gesamtdatenmenge, und dann einfach hoch
gerechnet. Es sind also nichts weiter als Prognosen wie beim
Wetter.
Reparieren der Registry ... was bedeutet das eigentlich?
Wie viel einträge existieren lässt sich sicher zu Programmstart ermitteln.
Somist muss man einfach nur schauen, wie viele hab ich in welcher Zeit
geschaft und wie viele kommen noch.
Und erlich gesagt ... der Kosten/ Nutzenfaktor wäre hier auch viel zu
gering, wenn es mehr als nur eine einfache Prognose wäre.
MFG PMV
das glaub ich nicht.
Beim kopieren, löschen und verschieben von Dateien sieht man ja, wie
perfekt die Zeitangabe ist. Es wird wohl einfach die Anzahl der Dateien
genommen, eventuell auch die Gesamtdatenmenge, und dann einfach hoch
gerechnet. Es sind also nichts weiter als Prognosen wie beim
Wetter.

Reparieren der Registry ... was bedeutet das eigentlich?
Wie viel einträge existieren lässt sich sicher zu Programmstart ermitteln.
Somist muss man einfach nur schauen, wie viele hab ich in welcher Zeit
geschaft und wie viele kommen noch.
Und erlich gesagt ... der Kosten/ Nutzenfaktor wäre hier auch viel zu
gering, wenn es mehr als nur eine einfache Prognose wäre.

MFG PMV
Ok, gute Idee,
Bei Programmstart lasse ich das Programm den PC einfach in 3 Stufen einteilen
1. Stufe: Pentium 3 Win. 98 (sehr langsam)
2. Stufe: Core 2 Duo Win XP (schnell)
3. Stufe: Core 2 Duo Win. Vista (spezialstufe
)
Und dann mach ich einfach 3 Zeitabschätzungen
Aber ob ich wirlich den aufwand beitreibe, weiß ich nicht.
Bei Install Shield Z.B. sieht man ja, das da keiner Lust hat das Abzuschätzen, da war das schon 5 mal bei 100% bis da mal "Dateien werden kopiert" steht und dann nochmal 3 mal bis 100%
und dann kommt erst Fertigstellen.
Bei Programmstart lasse ich das Programm den PC einfach in 3 Stufen einteilen
1. Stufe: Pentium 3 Win. 98 (sehr langsam)
2. Stufe: Core 2 Duo Win XP (schnell)
3. Stufe: Core 2 Duo Win. Vista (spezialstufe

Und dann mach ich einfach 3 Zeitabschätzungen
Aber ob ich wirlich den aufwand beitreibe, weiß ich nicht.
Bei Install Shield Z.B. sieht man ja, das da keiner Lust hat das Abzuschätzen, da war das schon 5 mal bei 100% bis da mal "Dateien werden kopiert" steht und dann nochmal 3 mal bis 100%

----------------------------------------------------------
PB 5.20 Beta 10 | Windows 7
PB 5.20 Beta 10 | Windows 7
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Du teilst alles in Happen, für Dateien hab ich hier mal ein Beispiel
ausgearbeitet, mußte mal suchen.
Bei Registrierung unterteilste z.B. nach Hauptschlüsseln o. ä. und gibts jedem
Abschnitt einen Prozentwert. Die Geschwindigkeit des PCs ist dabei
unwichtig.
Über eine globale Variable erfährt das Timer-Callback, wieweit der
Fortschritt sein soll.
Ist eigentlich nicht so besonders Aufwendig. Ein bissel Tricksen, damit der
Anwender immer das Gefühl hat, es passiert noch was und gut ist
ausgearbeitet, mußte mal suchen.
Bei Registrierung unterteilste z.B. nach Hauptschlüsseln o. ä. und gibts jedem
Abschnitt einen Prozentwert. Die Geschwindigkeit des PCs ist dabei
unwichtig.
Über eine globale Variable erfährt das Timer-Callback, wieweit der
Fortschritt sein soll.
Ist eigentlich nicht so besonders Aufwendig. Ein bissel Tricksen, damit der
Anwender immer das Gefühl hat, es passiert noch was und gut ist

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Also ich würde das schon am Code festmachen wenn ich einen solchen Laufbalken benutze. Es gibt nichts schlimmeres als ein solchen Balken der zuende gelaufen ist und das Progie braucht aber noch ein paar Minuten. Da trommeln viele nervös auf der Tastatur rum und denken an Absturz.
Zu irgendeinen Zeitpunkt muß es doch absehbar sein wie viele (meist Schleifen) noch zu bearbeiten sind um den Balken zu steuern?
Zu irgendeinen Zeitpunkt muß es doch absehbar sein wie viele (meist Schleifen) noch zu bearbeiten sind um den Balken zu steuern?
:::: WIN 10 :: PB 5.73 :: (x64) ::::