Interface et barre de progression

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
redploplop
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 03 févr. 2016 17:07
Status : Hors ligne

Interface et barre de progression

#1

Message 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
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Interface et barre de progression

#2

Message 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:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
redploplop
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 03 févr. 2016 17:07
Status : Hors ligne

Re: Interface et barre de progression

#3

Message par redploplop »

Bonjour,

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

Plop
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: Interface et barre de progression

#4

Message par jchd »

You need glasses!

Voir Function Reference > GUI Management
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Oversid3
Niveau 3
Niveau 3
Messages : 45
Enregistré le : jeu. 29 janv. 2015 11:20
Status : Hors ligne

Re: Interface et barre de progression

#5

Message 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
Avatar du membre
TomAijerrie
Niveau 5
Niveau 5
Messages : 192
Enregistré le : lun. 02 juin 2014 09:55
Localisation : Lyon
Status : Hors ligne

Re: Interface et barre de progression

#6

Message 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
Répondre