Page 1 sur 1

Interface et barre de progression

Posté : lun. 29 févr. 2016 15:21
par redploplop
Bonjour,

je possède un script ( enfin une suite de script ) qui se lance chacun leur tour et affiche un MsgBox pour dire ok c'est fait

Exemple:

Code : Tout sélectionner

;Modification des clefs de registre pour la désactivation de la mise en veille du poste

Global $DesactivMiseEnVeille =RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\", "ScreenSaveActive")
If  $DesactivMiseEnVeille = "0" Then

 MsgBox(4096, " Préparation de poste ", " La mise en veille est déja désactivée sur ce poste ")

Else

RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop\","ScreenSaveActive","REG_SZ","0")

	EndIf

MsgBox(4096, " Préparation de poste ", " La mise en veille du poste est désormais désactivée sur ce poste ")
J'aimerais pourvoir créer une interface graphique qui quand je lance mon executable affiche tout de suite une liste de titre avec un " OK " en vert ou une barre de progression pour indiquer la réussite de l'opération ou la progression.

je ne sais pas si cela est possible et par où dois-je commencer.

Pouvez m'apporter de l'aide svp

Plop

Re: Interface et barre de progression

Posté : lun. 29 févr. 2016 18:23
par mikell
C'est possible
J'aimerais pourvoir créer une interface graphique (...) par où dois-je commencer.
Ben peut-être par lire le chapitre "GUI Management" du fichier d'aide :roll:

Re: Interface et barre de progression

Posté : ven. 04 mars 2016 11:02
par redploplop
Bonjour,

Heu il n' y pas cette section dans l'aide sur autoit.

Plop

Re: Interface et barre de progression

Posté : ven. 04 mars 2016 12:18
par jchd
You need glasses!

Voir Function Reference > GUI Management

Re: Interface et barre de progression

Posté : mar. 05 avr. 2016 17:25
par Oversid3
Voici ce que j'utilise de manière assez générique pour les petits soft que je créé au taf :

Code : Tout sélectionner

Global $compteur=0
$idProgressbar1=GUICtrlCreateProgress(5, 65, 495, 30)

;Ici en exemple je compte les lignes d'un tableau excel qui me sert d'input.
For $i=0 to Ubound ($RequestColumn)-1
	If $RequestColumn[$i] <> "" Then
		;J'incremente le compteur pour savoir combien d'action j'ai a effectué
		$compteur=$compteur+1
	EndIf
Next

;Je divise 100(barre de progression full) par $compteur pour obtenir la valeur à ajouter à la barre de progression a chaque itération ($pbar)
Global $Pbar=100/$Compteur

FonctionGenerale()

Func FonctionGenerale()
	;Ici ta fonction qui lance tout a la suite
	For $Iteration=1 to Ubound($Action)

			;ici l'action
			Run $Action[$Iteration]

			;Ici on multiple $iteration par $Pbar pour faire 'avancer' la barre de progression.
			$PbarF=$iteration*$Pbar
			GUICtrlSetData($idProgressbar1, $PbarF)


	Next

EndFunc

Re: Interface et barre de progression

Posté : mer. 06 avr. 2016 13:35
par TomAijerrie
@Oversid3

Ton bout de code ne fonctionne pas, et peut être amélioré en évitant des calculs :

Code : Tout sélectionner

Global $compteur=0
$idProgressbar1=GUICtrlCreateProgress(5, 65, 495, 30)

;Ici en exemple je compte les lignes d'un tableau excel qui me sert d'input.
For $i=0 to Ubound ($RequestColumn)-1
   If $RequestColumn[$i] <> "" Then
      ;J'incremente le compteur pour savoir combien d'action j'ai a effectué
      $compteur+=1
   EndIf
Next

GUICtrlSetLimit($idProgressbar1,$compteur,0);la barre de progression va de 0 à (nombre d'actions)

FonctionGenerale()

Func FonctionGenerale()
   ;Ici ta fonction qui lance tout a la suite
   For $Iteration = 1 to Ubound($Action)
         ;ici l'action
         Run $Action[$Iteration - 1]; !!! il faut mettre le -1, sinon tu es hors tableau pour le dernier tour !!!
         GUICtrlSetData($idProgressbar1, $Iteration);plus besoin de mise à l'echelle, la barre de progression est de la bonne taille
   Next
EndFunc