Bonjour !
Aujourd'hui, je vais vous apprendre à vous, les petits novices d'Autoit, comment faire avancer une ProgressBar tranquillement et surtout très facilement !
Introduction
Cela fait bien longtemps que j'essaie de comprendre comment fonctionne la ProgressBar, j'avais beau utiliser l'aide Autoit, je ne comprenais toujours rien et l'exemple était bien trop compliqué pour moi. Aujourd'hui, je viens de demander à un ami comment il faisait. Cela m'a mis sur la voie et grâce à lui, je sais faire fonctionner une ProgressBar à mon rythme !
(/!\ Je vais vous montrer comment faire avancer une progressbars simplement, pour un tutoriel plus complets qui permet de caser une progressbar en fonction d'une action, il y a un tutoriel ici:
http://autoitscript.fr/forum/viewtopic. ... rogressbar)
A la suite de ce tutoriel se trouve un message de Tlem. Dans certaines parties de son message, vous pourrez trouver des informations concernant la structure "For, To, Next" etc...
Vous voulez
Deux façons différentes:
En effet, il y a deux façons pour faire des progressbars:
[*]Les grosses progressbars
[*]Les petites progressbars
Ça paraît bête je sais ! En fait, je vais vous montrer dans un premier temps, les "grosses" progressbarrs. Ce sont celles qui sont encrées dans votre GUI. Ensuite, je vous montrerai les "petites" qui elles sont des fenêtres contenant une progressbarr. N'ayez craintes ce n'est pas bien difficile, le fonctionnement reste quasiment le même.
I) Les grosses progressbars
Donc ici, on va apprendre à faire avancer une grosse progressbar, celle que vous vouliez utiliser (j'en suis sur) en arrivant sur ce tutoriel:
Créons d'abord notre GUI:
► Afficher le texte
Créons notre première fonction:
► Afficher le texte
Func/Endfunc = Début/fin de ma fonction _Progress()
$control = Vous auriez pu l'appeler autrement, ça fait plus sérieux de l'appeler comme ça voilà tout.

Attaquons-nous au plus dur !
$i = Cette variable générera la progression de notre barre.
Code : Tout sélectionner
For $i = 0 To 100 Step 1
Sleep(100)
Next
Next = Suivi d'un "For", le Next doit se trouver après.
Next veut dire "Ensuite tu fais..."
GUICtrlSetData($control,$i) = Cela va nous montrer comment progresse la barre. Vous verrez qu'elle progressera bien de 1 en 1 et qu'une seconde affichera les 10% de la barre ! magique non ?

Il nous reste plus qu'à ajouter dans notre code ( à la suite de "Exit") ceci:
Code : Tout sélectionner
Case $Button1
_Progress($Progress1)
Le code de notre fonction est donc:
► Afficher le texte
► Afficher le texte
Vous pouvez garder la même GUI, on remplacera la fonction et vous pourrez donc voir pleinement ce qui se passe ! Mais, j'ai envie de faire une petite blague pour cette partie. On va imaginer, vous vous faites passer pour un super programmeur, et vous dites à un(e) ami(e):
"- Hé ! J'ai créé un nouveau programme ! Il pourra chercher si tu as des erreurs sur ton ordinateur !
- Ah bon ? Cool, lançons-le !"
Votre ami(e) a dit oui ? Super ! Ne perdons pas de temps alors.
Dans un premier temps, on va placer un truc pour réussir notre farce. En dessous de la création de la GUI, mettez cela:
Code : Tout sélectionner
$Erreurs = Random(100,1000,1)
C'est bon, on peut continuer !
Créons notre nouvelle fonction, appelons là "_Progress2".
► Afficher le texte
ProgressOn("Titre","texte") = Cela fera apparaître une "petite" progressbar, elle sera comme je l'ai expliqué, dans une petite fenêtre !
For, $i, To, Step et Next = Vous connaissez, je ne ré-explique pas hein ?
Sleep(1000) On laisse le temps de regarder cette magnifique barre à notre ami(e).
ProgressOff() = Ferme notre petite progressebar.
MsgBox(type,"titre","texte") = On fait apparaître un message avec comme type une information et on affiche le nombre d'erreurs "trouvées" en utilisant "$Erreurs" qui représentait un nombre entre 100 et 1000 !
(Au cas où vous ne le saviez pas, pour placer une variable dans une MsgBox ou autre, quelque chose qui est généralement utilisé dans les cas où on veut montrer une valeur à l'utilisateur, on fait ça comme ça:
Code : Tout sélectionner
MsgBox(64,"teste","Voici ma valeur ": & $Erreurs) ;Le texte se trouve derrière ma variable donc je met "..." & $ma_variable
MsgBox(64,"teste","$Erreurs & " erreurs trouvées.") ;Le texte se trouve devant ma variable donc je met $ma_variable & "..."
MsgBox(64,"teste","Il y a "$Erreurs & " erreurs trouvées.") ;Le texte entoure ma variable donc je met "..." & $ma_variable & "..."
Merci à:
floriande26 pour ses multiples scripts qu'il a pu me montrer concernant les progressbars
20100 pour son tutoriel complet sur les progressbars
Tlem pour ses remarques
A vous d'avoir suivi ce tutoriel !