Aller au contenu


Photo

Petite Question If,endif, Etc.


  • Veuillez vous connecter pour répondre
4 réponses à ce sujet

#1 Cherenkov

Cherenkov

    Gamer lvl 2

  • Membres
  • 165 messages

Posté 07 March 2013 - 06:44

Bonjour,

J'ai essayé de m'aventurer un peu plus loin que les exercices (ayant directement regardé la solution) histoire de bien comprendre ce qui était demandé.
J'ai essayé ceci:
$jour=InputBox("Memoire", "Quel jour sommes-nous?")

If($jour="vendredi") Then
   msgbox(0, "Chanceux", "C'est la FDS!")
Else
   If($jour="Samedi" or "Dimanche") Then
	  msgbox(0, "La semaine recommence bientot", "Pas de chance")
Else 
 If($jour="lundi" or "mardi" or "mercredi" or "jeudi") Then
	  msgbox(0, "Courage", "C'est long")
   EndIf
EndIf


J'ai que:
npad.au3 (12) : ==> "If" statement has no matching "EndIf" statement.

j'ai ajouté un endif encore à la fin mais si je marque ''lundi'', j'obtiens La semaine recommence bientot...
Où est l'erreur? :o

Excusez mon noobisme :unsure:

#2 tydo

tydo

    Débutant lvl 3

  • Membres
  • 74 messages

Posté 07 March 2013 - 08:06

il me semble que pour les lundi mardi mercredi jeudi tu est pas obligé de métre "or" a chaque fois tu peut les "englobé" je croi pour simplifier la lecture et le code. je suis pas sure hein j'en suis au même point que toi je croi mdr

#3 gmsMath

gmsMath

    Fragger

  • Membres
  • 981 messages
  • Location :Paris
  • Hobbies :Voyages, Moto, calembour hilarant et gms temple :)

Posté 07 March 2013 - 11:27

Yo !


je pense que tu devrais passer par des ElseIf car sinon il te faut cloturer tous tes If.

Je m'explique :

soit un seul gros If et plein de ElseIf => un seul EndIf
Pour tes tests t'es sur que ca marche $ma_variable=valeur1 or valeur 2 ??? dans le doute je met un test plus classique
$jour=InputBox("Memoire", "Quel jour sommes-nous?")

If($jour="vendredi") Then
   msgbox(0, "Chanceux", "C'est la FDS!")
ElseIf($jour="Samedi" or $jour="Dimanche") Then
          msgbox(0, "La semaine recommence bientot", "Pas de chance")
ElseIf($jour="lundi" or $jour="mardi" or $jour="mercredi" or $jour="jeudi") Then
          msgbox(0, "Courage", "C'est long")
EndIf

soit plusieurs If et donc autant de End If
$jour=InputBox("Memoire", "Quel jour sommes-nous?")

If($jour="vendredi") Then
   msgbox(0, "Chanceux", "C'est la FDS!")
Else
   If($jour="Samedi" or $jour="Dimanche") Then
          msgbox(0, "La semaine recommence bientot", "Pas de chance")
   EndIf
Else 
   If($jour="lundi" or $jour="mardi" or $jour="mercredi" or $jour="jeudi") Then
          msgbox(0, "Courage", "C'est long")
   EndIf
EndIf

Je ne peux pas tester le code donc je ne sais pas si il tourne ;) mais l'important c'est soit :
If ma condition Then
   mon code si condition ok
Else
   mon code si condition ko
EndIf

ou alors
If ma condition1 Then
   mon code si condition 1
ElseIf macondition 2 Then
   mon code si pas condition 1 mais condition 2
Else
   mon code si ni condition 1 ni condition 2
EndIf

++Mathieu
  • Euclide_ aime ceci
--Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.

#4 hamer-xxx

hamer-xxx

    Gamer lvl 3

  • Membres
  • 235 messages

Posté 07 March 2013 - 16:53

Version avec que des IF
$jour=InputBox("Memoire", "Quel jour sommes-nous?")
If($jour="vendredi") Then
	MsgBox(0, "Chanceux", "C'est la FDS!")
ElseIf ($jour="Samedi" or "Dimanche") Then
	MsgBox(0, "La semaine recommence bientot", "Pas de chance")
ElseIf ($jour="lundi" or "mardi" or "mercredi") Then
    MsgBox(0, "Courage", "C'est long")
Else
    MsgBox(0, "Courage", "On est jeudi")
EndIf

Avec un Switch Global.
$jour = InputBox("Memoire", "Quel jour sommes-nous?")
Switch $jour
	Case "lundi", "mardi", "mercredi"
		MsgBox(0, "Courage", "C'est long")
	Case "vendredi"
		MsgBox(0, "Chanceux", "C'est la FDS!")
	Case "samedi", "dimanche"
		MsgBox(0, "La semaine recommence bientot", "Pas de chance")
	Case Else
		MsgBox(0, "Courage", "On est jeudi")
EndSwitch

Jeudi est le cas qui n'est pas gérer par notre Boucle => donc traité par Else.

Rappel : un seul Else par Boucle car Else traite toute les autres possibilité qui ne seront pas vérifier par If/ElseIf.

Cdt.

Image IPBImage IPB


#5 gmsMath

gmsMath

    Fragger

  • Membres
  • 981 messages
  • Location :Paris
  • Hobbies :Voyages, Moto, calembour hilarant et gms temple :)

Posté 07 March 2013 - 20:59

je viens de tester le multi test $maVariable= val1 or val2 et ca fonctionne !

Bah merci à vous j'ai appris un truc pour le coup ^^
--Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.