[..] Aide pour commande bouton

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
tytynono
Niveau 2
Niveau 2
Messages : 20
Enregistré le : lun. 08 mars 2010 19:12
Status : Hors ligne

[..] Aide pour commande bouton

#1

Message par tytynono »

Bonjour a tous, j'ai utilisé Koda pour faire un interface visuel mais je n'arrive pas a ce que le click sur bouton lance un fichier bat.
Voici le code que j'ai avec koda ,je voudrais que le bouton 1 lance le fichier 1.bat, le bouton 2 lance le fichier 2.bat etc....

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 621, 515, 192, 124)
Global $Pic1 = GUICtrlCreatePic("C:\Users\Thierry\Desktop\Capture.JPG", 0, 0, 617, 513)
Global $Button1 = GUICtrlCreateButton("Button1", 48, 48, 73, 25)
Global $Button2 = GUICtrlCreateButton("Button2", 176, 48, 73, 25)
Global $Button3 = GUICtrlCreateButton("Button3", 304, 48, 73, 25)
Global $Button4 = GUICtrlCreateButton("Button4", 432, 48, 73, 25)
Global $Button5 = GUICtrlCreateButton("Button5", 48, 152, 73, 25)
Global $Button6 = GUICtrlCreateButton("Button6", 176, 152, 73, 25)
Global $Button7 = GUICtrlCreateButton("Button7", 304, 152, 73, 25)
Global $Button8 = GUICtrlCreateButton("Button8", 432, 152, 73, 25)
Global $Button9 = GUICtrlCreateButton("Button9", 48, 256, 73, 25)
Global $Button10 = GUICtrlCreateButton("Button10", 176, 256, 73, 25)
Global $Button11 = GUICtrlCreateButton("Button11", 304, 256, 73, 25)
Global $Button12 = GUICtrlCreateButton("Button12", 432, 256, 73, 25)
Global $Button13 = GUICtrlCreateButton("Button13", 48, 360, 73, 25)
Global $Button14 = GUICtrlCreateButton("Button14", 176, 360, 73, 25)
Global $Button15 = GUICtrlCreateButton("Button15", 304, 360, 73, 25)
Global $Button16 = GUICtrlCreateButton("Button16", 432, 360, 73, 25)
Global $Button17 = GUICtrlCreateButton("Button17", 176, 464, 73, 25)
Global $Button18 = GUICtrlCreateButton("Button18", 304, 464, 73, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit

 EndSwitch
WEnd
 
est ce que quelqu'un voudrait bien me faire les premiere ligne?
Merci d'avance :wink:
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..]Aide pour commande bouton

#2

Message par jbnh »

Salut.

La clé pour toi c'est Eval.

Exemple :

Code : Tout sélectionner

$variable1 = 12
$nombre = 1
$exemple = Eval("variable"&$nombre)  ; $s is set to 12
MsgBox(0,"",$exemple)
 
Dans ta boucle poses y donc un For... To... Next et passes touts les boutons en vue.

Est-ce clair ?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..]Aide pour commande bouton

#3

Message par timmalos »

Bien que ce que dis mon voisin du dessus est tout a fait juste, je pense que là n'était pas votre demande.

Pour assigner a chaque bouton une action, il y a 2 possibilités : GuiGetMsg() ou le Mode Evenementiel. Je vais ici vous donner la première solution.


Remplacez

Code : Tout sélectionner

While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit

 EndSwitch
WEnd
par

Code : Tout sélectionner

While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit
  Case $Button1
    Run('fichier1.bat')
  Case $Button2
    Run('fichier2.bat')
  Case $Button3
    Run('fichier3.bat')
  ;Etc continuez avec 4,5, 6, ...

 EndSwitch
WEnd
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Aide pour commande bouton

#4

Message par jbnh »

Salut tim,

Si en fait j'étais dans le juste, mais je suis clairement mal exprimé, j'avais un manque de temps cet aprem pour peaufiner mon post.

Voila ce que je voulais faire :

Code : Tout sélectionner

While 1
 $nMsg = GUIGetMsg()
Select 
    Case $nMsg = $GUI_EVENT_CLOSE
    Exit
EndSelect

For $i = 1 to 18 Step 1
    Select
        Case $nMsg = Eval("Button"&$i) 
             Run('fichier'&$i&'.bat')
    EndSelect
Next
WEnd
Pour le gain de place c'est quand même mieux !
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Aide pour commande bouton

#5

Message par timmalos »

Bien entendu, mais vu qu'il commence juste (au vu de sa question très simple, qui d'ailleurs a déjà été répondue de nombreuses fois sur le forum) j'ai préféré faire simple, et ne pas l'embrouiller avec des For, Eval et Assign ;)
tytynono
Niveau 2
Niveau 2
Messages : 20
Enregistré le : lun. 08 mars 2010 19:12
Status : Hors ligne

Re: [..] Aide pour commande bouton

#6

Message par tytynono »

Merci a vous deux pour vos réponse mais quand je clique sur les boutons rien ne se passe , j'ai éssayé les deux methode et c'est pareil :(

Code : Tout sélectionner

; Script Start - Add your code below here
; Déclaration du répertoire d'arrivée
Global $REPERTOIRE =  @ScriptDir & "\" ; Le "\" final est important
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Changeur bouton avancer/reculer", 615, 438, 192, 124)
Global $Pic1 = GUICtrlCreatePic("Previsualisation.JPG", 0, 0, 609, 433)
Global $Button1 = GUICtrlCreateButton("Choisir", 16, 104, 65, 25)
Global $Button2 = GUICtrlCreateButton("Choisir", 112, 104, 65, 25)
Global $Button3 = GUICtrlCreateButton("Choisir", 216, 104, 65, 25)
Global $Button4 = GUICtrlCreateButton("Choisir", 312, 104, 65, 25)
Global $Button5 = GUICtrlCreateButton("Choisir", 408, 104, 65, 25)
Global $Button6 = GUICtrlCreateButton("Choisir", 512, 104, 65, 25)
Global $Button7 = GUICtrlCreateButton("Choisir", 16, 200, 65, 25)
Global $Button8 = GUICtrlCreateButton("Choisir", 112, 200, 65, 25)
Global $Button9 = GUICtrlCreateButton("Choisir", 216, 200, 65, 25)
Global $Button10 = GUICtrlCreateButton("Choisir", 312, 200, 65, 25)
Global $Button11 = GUICtrlCreateButton("Choisir", 408, 200, 65, 25)
Global $Button12 = GUICtrlCreateButton("Choisir", 512, 200, 65, 25)
Global $Button13 = GUICtrlCreateButton("Choisir", 16, 288, 65, 25)
Global $Button14 = GUICtrlCreateButton("Choisir", 112, 288, 65, 25)
Global $Button15 = GUICtrlCreateButton("Choisir", 216, 288, 65, 25)
Global $Button16 = GUICtrlCreateButton("Choisir", 312, 288, 65, 25)
Global $Button17 = GUICtrlCreateButton("Choisir", 416, 288, 65, 25)
Global $Button18 = GUICtrlCreateButton("Choisir", 512, 288, 65, 25)
Global $Button19 = GUICtrlCreateButton("Choisir", 112, 384, 65, 25)
Global $Button20 = GUICtrlCreateButton("Choisir", 216, 384, 65, 25)
Global $Button21 = GUICtrlCreateButton("Choisir", 312, 384, 65, 25)
Global $Button22 = GUICtrlCreateButton("Choisir", 408, 384, 65, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit
Case $Button1
    Run('Changer boutons navigationO.bat')
  Case $Button2
    Run('Changer boutons navigationQ.bat')
  Case $Button3
    Run('Changer boutons navigationN.bat')
 EndSwitch
WEnd
 
Biensûr les fichiers bat sont dans le même dossier que le script.
timmalos a écrit :...d'ailleurs a déjà été répondue de nombreuses fois sur le forum...
J'ai du mal checher, pourriez vous me donner un lien?
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Aide pour commande bouton

#7

Message par timmalos »

Maintenant ca ne sert plus a rien, essayez de mettre une MsgBox() dans le case, vous verrez qu'elle apparait bien. C'est donc votre Run qui pose problème, et vous auriez pu du le voir tout seul, il faut apprendre à debugger un code.

C'est peut etre l'espace qui n'est pas aimé, essayez avec un simple fichier '1.bat' et

Run(@Scriptdir&'\1.bat')
tytynono
Niveau 2
Niveau 2
Messages : 20
Enregistré le : lun. 08 mars 2010 19:12
Status : Hors ligne

Re: [..] Aide pour commande bouton

#8

Message par tytynono »

En fait le probleme vient de l'image que je veux inclure en fond , si je la supprime ça marche donc la ligne "Global $Pic1 = GUICtrlCreatePic("Previsualisation.JPG", 0, 0, 609, 433)"n'est pas bonne pour inclure une image en fond elle m'empeche l'accés aux boutons.Sauriez vous comment faire?
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Aide pour commande bouton

#9

Message par timmalos »

Essayez GUICtrlSetState ( $Pic1, $GUI_DISABLE ) apres la creation, ou alors mettez le GuiCtrlCreatePic en premier, avant la creation des boutons
Répondre