[R] Utilisation bouton Radio , Fonction successif

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
foudepc83
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 15 juin 2013 11:45
Status : Hors ligne

[R] Utilisation bouton Radio , Fonction successif

#1

Message par foudepc83 »

Bonjour

Etant Administrateur Réseau Système , j'installe quasiment tous le temps les nouveaux PC , Qui me prend beaucoup de temps.

J'ai découvert autoit qui est vraiment pratique pour mon cas .
J'ai donc commencé a faire un script qui me permet d'installer les applications en peu de cliques

Le script contiendra :

Des boutons radio lesquel on sélectionne les applications que l'on veux installer
Un bouton Lancer laquel va lancer l'installation d'un ou plusieurs application(s)

Code : Tout sélectionner

#RequireAdmin
If IsAdmin() Then MsgBox(64,"","Mode Administrateur détecté")
   
Global $GUI=GUICreate("Application",500,300)
GUISetState(@SW_SHOW)
init()
;GUICtrlSetState($Bouton2, $GUI_HIDE)


while 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $zip
         zip()
      Case $adobe
         adobe()
      Case $firefox
         firefox()
      Case $java
         java()
      Case $Pidgin
         pidgin()
      Case $Lancer
         ExitLoop
   EndSwitch
WEnd
      
func init()
Global $zip=GUICtrlCreateCheckbox("7Zip",10,10,75,25)
Global $adobe=GUICtrlCreateCheckbox("Adobe Acrobat Reader",10,30,150,25)
Global $firefox=GUICtrlCreateCheckbox("Firefox",10,50,75,25)
Global $java=GUICtrlCreateCheckbox("Java",10,70,75,25)
Global $pidgin=GUICtrlCreateCheckbox("Pidgin",10,90,75,25)
Global $Lancer=GUICtrlCreateButton("Lancer",415,270,75,25)   
Global $logo=GUICtrlCreatePic("Application\logo.jpg",450,0,50,50)
EndFunc

func zip()
; Autoinstallation de 7Zip
TrayTip( "Installation de 7zip", "Debut de l'installation de 7Zip" , 1000 )
sleep(3000)
ShellExecute("Application\7z922.exe")
WinWaitActive("7-Zip 9.22beta Setup",  "Choose Install Location")
Send ("{ENTER}")
WinWaitActive("7-Zip 9.22beta Setup",  "Completing the 7-Zip 9.22beta Setup Wizard")
Send ("{ENTER}")
EndFunc

func adobe()
; Autoinstallation Adobe Acrobat Reader
TrayTip( "Installation de Adobe Acrobat Reader", "Debut de l'installation de Adobe acrobat reader ", 1000 )
sleep(3000)
ShellExecute("Application\adobe.exe")
WinWaitActive("Installation pour Adobe Reader 9.3",  "Dossier cible")
Send ("{ENTER}")
WinWaitActive("Installation pour Adobe Reader 9.3",  "L'installation du programme peut commencer")
Send ("{ENTER}")
WinWaitActive("Installation pour Adobe Reader 9.3",  "Installation terminée")
Send ("{ENTER}")
EndFunc

func firefox()
; Autoinstallation de Firefox
TrayTip( "Installation de Firefox", "Debut de l'installation de Firefox" , 2000 )
Sleep(3000)
ShellExecute("Application\Firefox.exe")
WinWaitActive ("Installation de Mozilla Firefox", "Bienvenue dans l'assistant d'installation de Mozilla Firefox")
Send("{ENTER}")
WinWaitActive ("Installation de Mozilla Firefox", "Type d'installation")
Send("{ENTER}")
WinWaitActive ("Installation de Mozilla Firefox", "Résumé")
Send("{ENTER}")
WinWaitActive ("Installation de Mozilla Firefox", "Fin de l'assistant d'installation de Mozilla Firefox")
Send("{SPACE}")
Send("{ENTER}")
EndFunc

func java()
; Autoinstallation de java6
TrayTip( "Installation de Java 6", "Debut de l'installation de java 6 ", 1000 )
Sleep(3000)
ShellExecute("Application\jre6.exe")
WinWaitActive("Configuration Java - Bienvenue",  "Bienvenue dans Java™")
Send ("{TAB}")
Send ("{TAB}")
Send ("{TAB}")
Send ("{ENTER}")
WinWaitActive("Installation de Java - Terminer",  "Java est maintenant installé.")
Send ("{ENTER}")
EndFunc

func pidgin()
; Autoinstallation de Pidgin
TrayTip( "Installation de Pidgin", "Debut de l'installation de Pidgin ", 1000 )
Sleep(3000)
ShellExecute("Application\pidgin.exe")
WinWaitActive("Installer Language",  "Please select a language.")
Send ("{ENTER}")
WinWaitActive("Installation de Pidgin 2.10.7",  "Bienvenue dans le programme d'installation de Pidgin 2.10.7")
Send ("{ENTER}")
WinWaitActive("Installation de Pidgin 2.10.7",  "Licence utilisateur")
Send ("{ENTER}")
WinWaitActive("Installation de Pidgin 2.10.7",  "Choisissez les composants")
Send ("{ENTER}")
WinWaitActive("Installation de Pidgin 2.10.7",  "Choisissez le dossier d'installation")
Send ("{ENTER}")
WinWaitActive("Installation de Pidgin 2.10.7",  "Installation terminée")
Send ("{ENTER}")
WinWaitActive("Installation de Pidgin 2.10.7",  "Fin de l'installation de Pidgin 2.10.7")
Send ("{ENTER}")
EndFunc

Le truc , c'est quand je coche une case , l'installateur commence directement .

Avez vous une idée ?

Merci de votre réponse
Modifié en dernier par foudepc83 le jeu. 04 juil. 2013 15:40, modifié 1 fois.
Manox
Niveau 3
Niveau 3
Messages : 43
Enregistré le : mar. 18 déc. 2012 10:56
Status : Hors ligne

Re: [...] Utilisation bouton Radio , Fonction successif

#2

Message par Manox »

Bonjour,

GuiGetMsg() ne fait qu "intercepter" les ID des contrôles manipulé via votre GUI (bouton, case à coché, label etc..) Or ici vous interceptez le contrôle et lancez une fonction directement !

Pour que cela fonctionne, vous devez intercepter le clique sur le bouton "lancer", qui lui lancera une fonction à part entière.

J'ai modifié votre script pour que vous puissiez comprendre la nuance :

Code : Tout sélectionner

#include <GUIConstantsEx.au3>

#RequireAdmin
If IsAdmin() Then MsgBox(64,"","Mode Administrateur détecté")

Global $GUI=GUICreate("Application",500,300)
GUISetState(@SW_SHOW)
Global $zip=GUICtrlCreateCheckbox("7Zip",10,10,75,25)
Global $adobe=GUICtrlCreateCheckbox("Adobe Acrobat Reader",10,30,150,25)
Global $Lancer=GUICtrlCreateButton("Lancer",415,270,75,25)
;GUICtrlSetState($Bouton2, $GUI_HIDE)


while 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
          Exit
      Case $Lancer
          _Start()
   EndSwitch
WEnd


func _start()
    if GUICtrlRead($zip) = $Gui_CHECKED Then
        Msgbox("","","Vous avez coché zip")
    else
        Msgbox("","","Vous n'avez pas coché zip")
    endif

    if GUICtrlRead($adobe) = $Gui_UNCHECKED Then
        Msgbox("","","Vous n'avez pas coché adobe")
    Else
        Msgbox("","","Vous avez coché adobe")
    endif
EndFunc
 
M40
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [...] Utilisation bouton Radio , Fonction successif

#3

Message par mikell »

OK mais utiliser plutôt cette fonction _IsChecked

Code : Tout sélectionner

func _start()
    if _IsChecked($zip) Then zip()
    if _IsChecked($adobe) Then adobe()
    ; etc

Func _IsChecked($controle)
    Return BitAND(GUICtrlRead($controle), $GUI_CHECKED) = $GUI_CHECKED
EndFunc ;==>_IsChecked
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
foudepc83
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 15 juin 2013 11:45
Status : Hors ligne

Re: [...] Utilisation bouton Radio , Fonction successif

#4

Message par foudepc83 »

Merci Beaucoup de votre conseil , cela fonctionne très bien !

Une fois mon script terminé , je partage mon script pour ceux qui en aurons besoin.


PS : Si j'ai une autre question , je doit poster un nouveaux sujet ou , je continue ici ?

Encore merci !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [...] Utilisation bouton Radio , Fonction successif

#5

Message par mikell »

Nouvelle question => nouveau sujet
et merci de mettre un [R] dans le titre du 1er sujet si résolu :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
foudepc83
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 15 juin 2013 11:45
Status : Hors ligne

Re: [...] Utilisation bouton Radio , Fonction successif

#6

Message par foudepc83 »

Effectivement , j'avais oublié ... je récifie le titre
Répondre