Page 1 sur 1

[R] Besoin d'aide sur les bases de Autoit.

Posté : jeu. 20 sept. 2007 16:47
par Xnorky
Bonjour,

J'ai découvert AutoIt il y a quelques jours...

Pour l'instant j'ai réussi à créer une fenêtre avec des cases à cocher qui exécutent des tâches suivant si elles sont cochés ou pas.

Jusque là, tout va bien.

Maintenant je souhaiterais ajouter un bouton suivant pour faire évoluer mon script, mais là, ça se corse et j'patauge complètement...

J'ai eu un petit résultat en utilisant les fonctions GUICtrlSetState() et les paramètres $GUI_HIDE et $GUI_SHOW mais je pense que c'est un méthode un peu barbare...

De plus, impossible de revenir en arrière dans le script.
Au début, j'ai pensé à Goto et Label mais j'ai vu dans l'aide que ces fonctions étaient remplacées par While...Wend.

Et je ne pige pas le fonctionnement de ces boucles (enfin 1 seule ça va, mais 2 ou 3...)

Bref, si un de vous pouvait m'expliquer les bases... ce serait super sympa !

Merci d'avance...

Posté : jeu. 20 sept. 2007 18:27
par Vins83
Pour ton boutton essai:

Code : Tout sélectionner

GUICtrlCreateButton ( " Exit " , 322 , 442 , 100 , 30 )
@+ Vins

Posté : jeu. 20 sept. 2007 19:08
par Xnorky
Non, je sais créé un bouton :)

C'est pour revenir en arrière dans un script... mais je crois avoir compris. Je fais un test et j'vous tiens au courant.

Posté : jeu. 20 sept. 2007 22:02
par sylvanie
A mon avis, il va falloir diviser pour mieux reigner :
il faut écrire chaque étape dans une fonction dédiée, puis construire iun tableau contenant ces fonctions afin de les appeler grâce à un index que l'on fait évoluer grâce à des boutons "suivant" "arrière"
petit exple :

Code : Tout sélectionner

; imaginons une install en 3 étapes 
; declaration des 3 étapes intermédiaires de l'install 
; on rigole pas ! 
Func toto ( ) 
MsgBox ( 0 , " toto " , " toto " ) 
EndFunc 
Func tata ( ) 
MsgBox ( 0 , " tata " , " tata " ) 
EndFunc 
Func titi ( ) 
MsgBox ( 0 , " titi " , " titi " ) 
EndFunc 
;construction d'un tableau contenant les fonctions 
$NB_func = 3 
Dim $tab_func[$NB_func] = [ " toto " , " tata " , " titi " ] 
; init d'un index pour parcourir ce tableau 
; j'ai pris - 1 pour fair commencer à 0 après pressage de suivant 
;là c'est popote maison 
global $index = - 1 
;construction de la gui avec un bouton suivant , arriere 
#region - - - GuiBuilder code Start - - - 
; Script generated by AutoBuilder 0.6 Prototype 
#include <GuiConstants.au3> 
GuiCreate ( " install à l'arrache " , 392 , 230 ) 
$suivant = GuiCtrlCreateButton ( " suivant " , 30 , 130 , 100 , 40 ) 
$arriere = GuiCtrlCreateButton ( " arriere " , 230 , 130 , 110 , 40 ) 
GuiSetState ( ) 
While 1 
$msg = GuiGetMsg ( ) 
Select 
Case $msg = $GUI_EVENT_CLOSE 
ExitLoop 
Case $msg = $suivant 
$index += 1 
Call ( $tab_func[$index] ) 
If $index = $NB_func - 1 Then 
MsgBox ( 0 , " fin " , " fin " ) 
ExitLoop 
EndIf 
Case $msg = $arriere 
$index - = 1 
If $index = - 1 Then $index = 0 
Call ( $tab_func[$index] ) 
Case Else 
EndSelect 
WEnd 
Exit 
#endregion - - - GuiBuilder generated code End - - -