AutoIT Progress Bar während Funktion

pytrelooc
Goto Top
Hallo Leute,

ich würde gerne eine Progress Bar solange laufen lassen wie eine Funktion dauert in welcher ich eine Datei auslese.
Meine Funktion sieht so aus:


Da diese Funktion aber etwas dauert wollte ich eine Progress Bar für diese Zeit laufen lassen.

Diese habe ich so geschrieben:


gibt es eine Möglichkeit eine Progressbar gleichzeitig mit der Funktion laufen zu lassen ?
Multithreading ist ja nicht möglich in AutoIT aber evtl. gibt es ja einen Trick wie man das lösen könnte ?

Viellicht könnt ihr mir ja helfen

Gruß

Pytrelooc

Content-Key: 227552

Url: https://administrator.de/contentid/227552

Ausgedruckt am: 02.07.2022 um 14:07 Uhr

Mitglied: colinardo
Lösung colinardo 23.01.2014, aktualisiert am 27.01.2014 um 10:38:27 Uhr
Goto Top
Hallo Pytrelooc,
warum machst du das Update der Progress-Bar nicht direkt aus der eigentlichen Funktion die die Arbeit erledigt, dort könntest du dann auch berechnen (anhand deines Counters) wie lange es noch dauert und die Progress-Bar entsprechend prozentual updaten.

Beispiel:
Grüße Uwe
Mitglied: pytrelooc
pytrelooc 24.01.2014 um 10:03:08 Uhr
Goto Top
Hallo Uwe,

ich verstehe leider nicht wo ich nun meinen Code platzieren muss damit die Progressbar parallel zur Ausführung abläuft.

Gruß Pytrelooc
Mitglied: colinardo
Lösung colinardo 24.01.2014, aktualisiert am 27.01.2014 um 10:38:24 Uhr
Goto Top
Zitat von @pytrelooc:
ich verstehe leider nicht wo ich nun meinen Code platzieren muss damit die Progressbar parallel zur Ausführung abläuft.
ich weiß zwar nicht wie deine Form aufgebaut ist, aber im Prinzip sähe deine Function dann so aus:
Grüße Uwe
Mitglied: pytrelooc
pytrelooc 27.01.2014 um 10:14:16 Uhr
Goto Top
Okey so funktioniert es face-smile

Vielen Dank !

ist es auch möglich während einem RUNWAIT den Ladebalken laufen zu lassen ?
Da dies nur eine Zeile ist wüsste ich jetzt nicht wie man das machen könnte.
Es muss auch gar nicht genau nach Fortschritt laufen, die Hauptsache wäre wenn es zur gleichen Zeit fertig ist wie das RUNWAIT.

Gruß

pytrelooc
Mitglied: colinardo
Lösung colinardo 27.01.2014 aktualisiert um 10:38:22 Uhr
Goto Top
Das wäre nur mit MultiThreading möglich: http://www.autoitscript.com/forum/topic/29326-another-multi-process-hel ...

oder du baust dir ein zusätzliches AutoIt Script mit einer Form welche nur aus einer ProgressBar besteht, welche du aus deinem jetzigen Script aufrufst, und die dann nach dem Durchlauf deines Jobs durch dein Haupt-Script geschlossen wird.

Grüße Uwe
Mitglied: pytrelooc
pytrelooc 27.01.2014 um 10:38:17 Uhr
Goto Top
Das habe ich mir schon gedacht.
Vielen Dank für deine Hilfe !

Gruß pytrelooc