Bonsoir,
ce bête de code de niveau débutant (que je suis) génère la bagatelle de six erreurs...
Voici le code (j'ai simplifié et isolé cette boucle car je pensais que c'étaient les autres instructions de mon script qui posaient problème)
► Afficher le texte
Code : Tout sélectionner
Global $i, $p
$p = 3
For $i = 1 To 5
If $p = $i Then MsgBox('', '', 'Trouvé')
Else MsgBox('', '', 'Pas trouvé')
EndIf
Next
et voici le résultat sur la console :
► Afficher le texte
Code : Tout sélectionner
>Running AU3Check (3.3.14.2) from:C:\Program Files (x86)\AutoIt3 input:K:\Tarot\voir.au3
"K:\Tarot\voir.au3"(6,1) : error: missing Next.
Else
^
"K:\Tarot\voir.au3"(4,12) : REF: missing Next.
For $i = 1 To
~~~~~~~~~~~^
"K:\Tarot\voir.au3"(6,1) : error: syntax error
Else
^
"K:\Tarot\voir.au3"(6,1) : error: Statement cannot be just an expression.
Else
^
"K:\Tarot\voir.au3"(7,1) : error: syntax error
EndIf
^
"K:\Tarot\voir.au3"(7,1) : error: Statement cannot be just an expression.
EndIf
^
"K:\Tarot\voir.au3"(8,1) : error: Statement cannot be just an expression.
Next
^
K:\Tarot\voir.au3 - 6 error(s), 0 warning(s)
!>23:47:28 AU3Check ended. Press F4 to jump to next error.rc:2
+>23:47:28 AutoIt3Wrapper Finished.
>Exit code: 2 Time: 0.9698
Même "tidy" refuse de l'identer.
Est-ce à dire que les "else" sont incompatibles avec les boucles for / next ?
Y aurait-il une évidence qui m'aurait ébloui au point de ne pas la voir ?
Merci
Ajout : un essai avec while / wend donne les mêmes résultats...
► Afficher le texte
Code : Tout sélectionner
Global $i, $p
$p = 3
$i = 1
While $i < 6
If $p = $i Then MsgBox('', '', 'Trouvé')
Else MsgBox('', '', 'Pas trouvé')
EndIf
$i=$i+1
WEnd
et la console :
► Afficher le texte
Code : Tout sélectionner
"K:\Tarot\voir.au3"(12,1) : error: missing Wend.
Else
^
"K:\Tarot\voir.au3"(10,1) : REF: missing Wend.
While
^
"K:\Tarot\voir.au3"(12,1) : error: syntax error
Else
^
"K:\Tarot\voir.au3"(12,1) : error: Statement cannot be just an expression.
Else
^
"K:\Tarot\voir.au3"(13,1) : error: syntax error
EndIf
^
"K:\Tarot\voir.au3"(13,1) : error: Statement cannot be just an expression.
EndIf
^
"K:\Tarot\voir.au3"(15,1) : error: syntax error
WEnd
^
"K:\Tarot\voir.au3"(15,1) : error: Statement cannot be just an expression.
WEnd
^
K:\Tarot\voir.au3 - 7 error(s), 0 warning(s)
!>00:04:24 AU3Check ended. Press F4 to jump to next error.rc:2
+>00:04:24 AutoIt3Wrapper Finished.
>Exit code: 2 Time: 0.9612
Nouvel ajout :
le code ci après fonctionne... je vais donc m'orienter là dessus mais j'aimerais comprendre. Sans doute ce cas a t'il déjà été rencontré, même si je n'ai rien vu sur le forum avant de poster...
► Afficher le texte
Code : Tout sélectionner
Global $i, $p, $t
$p = 3
$i = 1
For $i = 1 To 5
Switch $i
case 3
MsgBox('', '', 'Trouvé')
case Else
MsgBox('', '', 'Pas trouvé')
EndSwitch
Next