La liste des conditions dans une structure IF ... THEN peut inclure n'importe quelle série de tests, y compris AND et OR. Essayez de modifier les conditions du dernier exemple avec l'une des lignes suivantes :
E> If NUIT=JOUR And NUIT<>12 Then Goto LIT E> If NUIT<JOUR Or NUIT=12 Then Edit
ELSE
structure : qualifier une condition
If condition Then instruction1 Else instruction2
ELSE est aussi reconnu lors de la prise de décisions, pour choisir quelle action entreprendre selon les conditions. Ainsi, le dernier exemple pourrait être modifié comme ceci :
E> If NUIT+1=JOUR Then Goto LIT Else Tirer
L'alternative d'instructions dans ce type de structure doit être une ou plusieurs instructions AMOS Professional. Il faut aussi penser à inclure une commande GOTO si vous souhaitez sauter vers une étiquette ou un numéro de ligne, sinon l'étiquette sera interprétée comme un nom de procédure, ce qui pourrait entraîner une erreur. Par exemple :
X> If NUIT=1 Then Goto LIT : Rem Ceci est parfait X> If NUIT=1 Then LIT : Rem Cherche une procédure nommée LIT
Une instruction IF ... THEN est limitée à une seule ligne dans le listing, ce qui n'est pas très satisfaisant pour un programmeur AMOS Professional. Cette technique est dépassée par les tests structurés, dans lesquels IF déclenche toute une série d'instructions selon le résultat d'une seule décision.
Tests structurés
END IF
structure : terminer un test structuré
If test structuré End If
Dans un test structuré, chaque test commence par un IF et se termine par un END IF correspondant, mais en aucun cas THEN ne doit être utilisé à l'intérieur de ce type de test ! Les instructions dans un test structuré sont séparées par des deux-points sur une même ligne, comme d'habitude, mais peuvent s'étendre sur autant de lignes que nécessaire dans votre listing. Regardez cette ancienne structure en ligne unique :
X> If condition=true Then Goto Etiquette1 Else Etiquette2
Cela peut maintenant être remplacé par la forme alternative d'un test structuré :
X> If condition=true : Goto Etiquette1 : Else Goto Etiquette2 : End If