Affichage super simpliste d'une Barre de progression

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Izarra6492
Niveau 1
Niveau 1
Messages : 6
Enregistré le : sam. 21 mars 2020 12:26
Status : Hors ligne

Affichage super simpliste d'une Barre de progression

#1

Message par Izarra6492 »

Bonjour,

dans un but cosmétique et convivial, je recherche une solution super simple et efficace qui me premettrait d'insérer une progressbar, ou une bannière défilante, ou un gif animé pendant l'éxécution d'un batch lancé auparavant !
je suis en train de finaliser un script dans lequel il ne me reste plus qu'à intégrer cela si possible !

dit d'une autre manière :
- lancement d'une commande Shellexecute pour exécuter un batch dont le temps de traitement prendra 7 à 30 secondes, en fonction de la machine sur laquelle on se trouve !
- le résultat de ce batch est la création d'un fichier TXT (result.txt)
- ensuite, j'affiche les détails de ce fichier TXT dans une GUI pour traitement ultérieur

pendant l'exécution de ce batch, j'aimerais pouvoir afficher quelque chose qui indique que le travail est en cours...
soit un Gif animé (mais j'ai vu que ce n'était pas bien pris en charge avec les commandes Splash
soit une GUI dans laquelle je pourrais insérer une progress bar (avec un temps max à définir)
idéalement, rajouter quelque chose dans la fonction SplashText (ou MsgBox) du type une barre de progression qui va de 0 à 100% sur un temps de 30s max serait top !
toute opinion la bienvenue !

merci !! :)

Code : Tout sélectionner

#include <ColorConstants.au3>
#include <FontConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#Include <File.au3>
#Include <Array.au3>


HotKeySet( "{ESC}", "_ExitESC")
global $MyCommand="MyBat.bat"

MyProg()
MsgAttente()
Exit

Func MyProg()
   filedelete("result.txt")
filedelete($mycommand)
Filewriteline($mycommand,"Timeout 10")
FileWriteline($Mycommand,"echo Item=MAG1 >Result.txt")
ShellExecute($MyCommand,"","","",@SW_HIDE)    ; app1\install.cmd , etc
EndFunc


Func MsgAttente()
;SplashImageOn("Wait","source.gif")
SplashTextOn("Collecting System Datas","Please Wait...",800,600)
For $i=1 to 5
If not FileExists("Result.txt") then
							   sleep(4000)
   							 Else
									;MsgBox(0,"Leaving",$i,2)
											$i=21
EndIf
Next
splashOff()

EndFunc

Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11510
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Affichage super simpliste d'une Barre de progression

#2

Message par Tlem »

Bonsoir Izarra6492.
Avant de poser des questions sur le forum, un minimum de recherches serait bienvenu car ce type de demande a déjà été abordé.

Bonnes recherches.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".

Répondre