Page 1 sur 1
[..] Plusieurs If de suite
Posté : sam. 13 avr. 2013 00:38
par Kwhy
Bonjour, j'ai un probléme à la suite de plus : If. Je voudrais faire :
Code : Tout sélectionner
Si la variable m1 est different de rien Alors
Ecrire m1
Appuyer sur entrer
Fin de si
Si la variable m2 est different de rien Alors
Ecrire m2
Appuyer sur entrer
Fin de si
.....
.....
J'ai fais :
Code : Tout sélectionner
For $a = 1 To GUICtrlRead($nbr) Step 1
If Not $m1 = "" Then
Send ($m1)
Send ("{ENTER}")
Else
EndIf
If Not $m2 = "" Then
Send ($m2)
Send ("{ENTER}")
Else
EndIf
If Not $m3 = "" Then
Send ($m3)
Send ("{ENTER}")
Else
EndIf
If Not $m4 = "" Then
Send ($m4)
Send ("{ENTER}")
Else
EndIf
If Not $m5 = "" Then
Send ($m5)
Send ("{ENTER}")
Else
EndIf
If Not $m6 = "" Then
Send ($m6)
Send ("{ENTER}")
Else
EndIf
Next
Le problème c'est si il y a que 3 variable sur 6 remplis par exemple , le script bugeras à la 4ém.
Un autre problème : si je remplis les variables m1,m2...,m6 il ne vont jamais s’arrêter à la variable $nbr (For $a = 1 To GUICtrlRead($nbr) Step 1)
Ça va faire comme un : While.
Merci d'avance

Re: [..] Plusieurs If de suite
Posté : sam. 13 avr. 2013 01:24
par Sea
Qu'es ce que $nbr?
De plus pourquoi ne pas définir t'es variables avant?
Code : Tout sélectionner
Global $m1 = false,$m2 = false,$m3 = false,$m4 = false,$m5 = false,$m6 = false
;Ta gui et ton code
For $a = 1 To GUICtrlRead($nbr) Step 1
If $m1 Then
Send ($m1)
Send ("{ENTER}")
EndIf
If $m2 Then
Send ($m2)
Send ("{ENTER}")
EndIf
If $m3 Then
Send ($m3)
Send ("{ENTER}")
EndIf
If $m4 Then
Send ($m4)
Send ("{ENTER}")
EndIf
If $m5 Then
Send ($m5)
Send ("{ENTER}")
EndIf
If $m6 Then
Send ($m6)
Send ("{ENTER}")
EndIf
Next
Re: [..] Plusieurs If de suite
Posté : sam. 13 avr. 2013 02:06
par mikell
Tu peux même profiter de l'occasion pour apprendre à te faire une fonction puisque ton test est répétitif
Code : Tout sélectionner
_test($m1)
_test($m2)
_test($m3)
; etc
Func _test($var)
If $var<>"" Then
Send ($var)
Send ("{ENTER}")
EndIf
EndFunc
Au fait qu'est-ce que la boucle For fait là-dedans ?
Re: [..] Plusieurs If de suite
Posté : sam. 13 avr. 2013 11:02
par Kwhy
Merci pour vos réponses, la boucle for et le $nbr permettent d'effectuer un certain nombre de fois les messages à envoyer
Je ne connais pas les fonctions
Merci
PS : J'ai essayer avec des global $m1 = false mais le probléme c'est que c'est l'utilisateur qui remplis la variable via :
Code : Tout sélectionner
Case $msg1
$m1 = InputBox ("Message","Ecrire votre 1er message")
Re: [..] Plusieurs If de suite
Posté : dim. 14 avr. 2013 18:13
par Kwhy

Toujours pas réussi

Re: [..] Plusieurs If de suite
Posté : dim. 14 avr. 2013 18:44
par mikell
Si on s'en tient au titre du sujet et à ton 1er post, les codes qu'on t'a donné marchent
Mais un script c'est pas juste un petit bout de code, et comme tu as donné peu d'infos on peut pas t'en dire plus...
Re: [..] Plusieurs If de suite
Posté : dim. 14 avr. 2013 22:38
par Kwhy
Voici mon code en entier sans la GUI
Code : Tout sélectionner
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
;========================================SCRIPT=====================
;================Messages===============
Case $msg1
$m1 = InputBox ("Message","Ecrire votre 1er message")
Case $msg2
$m2 = InputBox ("Message","Ecrire votre 2em message")
Case $msg3
$m3 = InputBox ("Message","Ecrire votre 3em message")
Case $msg4
$m4 = InputBox ("Message","Ecrire votre 4em message")
Case $msg5
$m5 = InputBox ("Message","Ecrire votre 5em message")
Case $msg6
$m6 = InputBox ("Message","Ecrire votre 6em message")
;=================================================Boutton GO2=====================================================
Case $go2
MsgBox (64,"Infos","Vous avez 5secondes")
Sleep (5000)
;===============Redimension===============
WinMove ("","",0,0,800,600)
MouseClick ("left",550,550)
;===Si message===
For $a = 1 To GUICtrlRead($nbr) Step 1
If Not $m1 = "" Then
Send ($m1)
Send ("{ENTER}")
Else
MouseMove (550,500)
EndIf
If Not $m2 = "" Then
Send ($m2)
Send ("{ENTER}")
Else
MouseMove (550,500)
EndIf
If Not $m3 = "" Then
Send ($m3)
Send ("{ENTER}")
Else
MouseMove (550,500)
EndIf
If Not $m4 = "" Then
Send ($m4)
Send ("{ENTER}")
Else
MouseMove (550,500)
EndIf
If Not $m5 = "" Then
Send ($m5)
Send ("{ENTER}")
Else
MouseMove (550,500)
EndIf
If Not $m6 = "" Then
Send ($m6)
Send ("{ENTER}")
Else
MouseMove (550,500)
EndIf
Next
EndSwitch
WEnd
Re: [..] Plusieurs If de suite
Posté : dim. 14 avr. 2013 22:51
par mikell
C'est quoi $msg1, $msg2 etc et $nbr ?
Et pis d'abord il est censé faire quoi ce code ? parce que là comme ça c'est loin d'être évident ^^
Re: [..] Plusieurs If de suite
Posté : dim. 14 avr. 2013 23:27
par Kwhy
$msg1 $msg2... sont des boutons
Code : Tout sélectionner
$msg1 = GUICtrlCreateButton("Msg 1", 8, 40, 67, 33)
$msg2 = GUICtrlCreateButton("Msg 2", 88, 40, 67, 33)
$msg3 = GUICtrlCreateButton("Msg 3", 8, 80, 67, 33)
$msg4 = GUICtrlCreateButton("Msg 4", 88, 80, 67, 33)
$msg5 = GUICtrlCreateButton("Msg 5", 8, 120, 67, 33)
$msg6 = GUICtrlCreateButton("Msg 6", 88, 120, 67, 33)
$nbr est une variable créer par la commande GUICtrlCreateInput
Re: [..] Plusieurs If de suite
Posté : lun. 15 avr. 2013 00:20
par parazitenew
Comme dit mikell c'est pas évident de corriger un script si on sait pas à quoi il sert

Re: [..] Plusieurs If de suite
Posté : lun. 15 avr. 2013 00:59
par Kwhy
Il sert a écrire des messages personnalisé par des variables dans une boîte de dialogue
Re: [..] Plusieurs If de suite
Posté : lun. 15 avr. 2013 09:35
par mikell
Bon et c'est quoi la boite de dialogue ?
Mets le script entier parce que là ça n'avance pas