Progressbar Problem

  • Hi Leute,

    ich widme mich mal wieder dem leidigen Thema eine Progressbar zu platzieren.

    Folgendes möchte ich:

    - Ich habe ein GUI in dem ein Rechnername zum Abfragen eingetragen werden kann.

    - Nach dem Klick auf den Button Abfragen durchläuft eine While-Schleife diverse Funktionen die mir Informationen zu verschiedenen Rechnern ausgeben

    - diese erscheinen dann nach und nach in dem GUI

    nun soll das Ganze noch durch eine ProgressBar aufgewertet werden, damit der Nutzer auch weiß, wann die Abfrage fertig ist.

    Ist es möglich, jede Funktion am Ende einen Wert an die Progressbar zu übergeben der die Funktion sozusagen "fertig" meldet?

    Wenn ja wie?

    Ich brauche auch keine Zeiten oder geschätzte Dauer sondern wirklich eine jeweilige Rückmeldung wenn eine Funktion fertig ist.

    Die letzte Funktion übermittelt dann quasi das Ende und danach soll die Progressbar schließen.

    Hab das Netzt und das Forum hier schon durchsucht aber nichts für meinen Zweck gefunden was mich zufrieden stellt :/

    Hab bis jetzt nur sloppy-Code und schmeiße den mal hier rein:

  • Du willst also das ProgressSet aktualisieren wenn eine Funktion durchgelaufen ist? Wie wäre es denn wenn du die Funktionspointer in ein Array packst und dann einfach in einer Schleife callst?

    Nach jeder Schleifeniteration weißt du ja welches Prozentwert du anzeigen musst, du kannst da einfach den Schleifenindex nehmen $i.

  • Wenn du weißt wie oft die Funktionen etc. aufgerufen werden (oder kannst dies ggf. im Vorfeld ermitteln), geht folgendes Rechenbeispiel:

    Einzelschritt = 100(%) / Anzahl aller zu erfassenden Durchläufe (z.B. 200) = 0,5% je Step

    Damit hast du jeden einzelnen Step definiert wie viel er erhöht werden muss, damit die Progressbar sauber von 0 - 100 durchläuft.

    Achtung: Beispiel ist anhand einer "externen" Progressbar, nicht der in der GUI eingebetteten (GUICtrlCreateProgress)!

    Hier mit der eingebundenen:

    10 Mal editiert, zuletzt von Moombas (2. Juni 2020 um 12:33)

  • Vielen Dank für eure Hilfen und Hinweise.

    alpines Das wird auf jeden Fall noch Interessant, wenn ich mehrere Parameter mitgeben möchte.

    BugFix genau so möchte ich es lösen ;)

    Moombas Danke vielmals! Genau nach so einer Möglichkeit habe ich gesucht, dass ich die jeweilige Funktion an die Progressbar zurückmelden kann wenn diese fertig ist.

    Danke an alle :klatschen: