Boucle qui ne fonctionne pas

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
joce
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 26 janv. 2017 17:00
Status : Hors ligne

Boucle qui ne fonctionne pas

#1

Message par joce »

Bonsoir à tous,

Suite de mon petit projet: j'ai donc quelques logiciels dont je souhaite automatiser l'installation.
J'ai les scripts pour l'automatisation et j'ai la solution pour les lancer.
Maintenant je souhaite lancer cette installation en fonction de cas à cocher.
Voici un bout de mon script:
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit
      Case $GUI_EVENT_CLOSE, $Button2
         Exit
;Lancement de l'installation en fonction des cases cochées
      Case $Button1
         If GUICtrlRead($Checkbox5, $GUI_CHECKED) Then
            Run(@ScriptDir & '\AutoIt3.exe ".\Scripts\Teamviewer.au3" ')
         EndIf
      Case $Button1
         If GUICtrlRead($Checkbox6, $GUI_CHECKED) Then
            Run(@ScriptDir & '\AutoIt3.exe ".\Scripts\UltraVnc.au3" ')
         EndIf
Si je ne coche qu'une des deux cases, l'installation des deux logiciels est quand même lancée.

Qu'ai-je oublié ?

Merci pour votre aide.
Joce
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Boucle qui ne fonctionne pas  

#2

Message par mikell »

Erreur de syntaxe Image
If GUICtrlRead($Checkbox5) = $GUI_CHECKED Then
Mais il faut tout regrouper sous le "Case $Button1"
Suggestion : potasser les scripts d'exemple du fichier d'aide et du forum :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
joce
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 26 janv. 2017 17:00
Status : Hors ligne

Re: Boucle qui ne fonctionne pas

#3

Message par joce »

Oups ! Merci !
Sinon, oui oui je m'y mets mais d'un autre côté j'ai une petit urgence à créer ce programme alors...
En tout cas, encore merci ;-)
joce
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 26 janv. 2017 17:00
Status : Hors ligne

Re: Boucle qui ne fonctionne pas

#4

Message par joce »

Bon et bien j'ai beau essayer de trouver...je n'y arrive pas.
J'ai tout mis sous le "Case $Button1" mais maintenant tout se lance en même temps. Il doit y avoir un moyen de les lancer les uns après les autres...
Case $Button1
         If GUICtrlRead($Checkbox5) = $GUI_CHECKED Then
            Run(@ScriptDir & '\AutoIt3.exe ".\Scripts\Teamviewer.au3" ')
         EndIf
     
         If GUICtrlRead($Checkbox6) = $GUI_CHECKED Then
            Run(@ScriptDir & '\AutoIt3.exe ".\Scripts\UltraVnc.au3" ')
         EndIf
Je pense qu'il y a un autre moyen que de calculer le temps d'installation et mettre un "Sleep" entre chaque If...End mais lequel ?
Merci pour votre aide
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Boucle qui ne fonctionne pas

#5

Message par mikell »

Il faut te débrouiller pour que tes scripts d'installation ne se ferment que quand l'installation est complète, par exemple en utilisant dedans un ShellExecuteWait (ou autre méthode...)
Ensuite ces scripts tu les lances avec RunWait au lieu de Run
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
joce
Niveau 1
Niveau 1
Messages : 11
Enregistré le : jeu. 26 janv. 2017 17:00
Status : Hors ligne

Re: Boucle qui ne fonctionne pas

#6

Message par joce »

Parfait. Je vais me plonger dans ces commandes.
Je te remercie.
Répondre