Nardo26 a raison: il donne les deux écritures possibles pour réaliser cela.
En Panoramic, le mot-clé THEN introduit UNE SEULE COMMANDE à écécuter en cas de condition vraie d'un IF. Aucun ELSE n'est permis après cela. A la fin de cette seule commande, Panoramic s'attend à une nouvelle commande indépendante. Dans ce cas de figure, il n'y a PAS de directive END_IF !
Si l'on veut utiliser ELSE, il faut utiliser la structure "bloc" de la commande IF:
- Code:
-
IF
... liste de commandes à exécuter si la condition est vraie
ELSE
... liste de commandes à exécuter si la condition est fausse
END_IF
Et cette même construction doit être utilisée si on veut conditionner un bloc par un IF, même sans ELSE:
- Code:
-
IF
... liste de commandes à exécuter si la condition est vraie
END_IF
La difficulté se présente si l'on utilise des lignes de continuation. Essaye ceci:
- Code:
-
dim i%
i% = 3
if i%=2 then print "a" : print "b" else print "x"
if i%=3 then print "c" : print "d"
end
tu verras que ni a ni b ne sont imprimés, mais c et d. Ceci montre qu'après un THEN, LE RESTE DE LA LIGNE est considéré comme étant exécuté uniquement si la condition est vrai. Je pense donc que pour éviter des problèmes, il vaut mieux programmer comme suit:
- Code:
-
IF (condition) THEN ...une seule commande...
IF (condition)
... une liste de commandes
END_IF
IF (condition)
... une liste de commandes
ELSE
... une liste de commandes
END_IF
même si la "liste de commandes" est réduite à une seule commande.