ENUMERATION

Instruction

Syntaxe

Déclare une suite de constantes numérotées, une par ligne. ENUMERATIONBINARY double la valeur à chaque ligne, pour des drapeaux.

ENUMERATION [<group>] [<start> [STEP <step>]]
  #<NAME> [= <value>]
  …
ENDENUMERATION
ENUMERATIONBINARY [<group>] [<start>]
  #<NAME> [= <value>]
  …
ENDENUMERATION

S’écrit aussi : ENUMERATIONBINARY, ENDENUMERATION

Les éléments

<group>Nom facultatif. Rouvrir une énumération du même nom reprend là où elle s'était arrêtée.
<start>La première valeur. 0 par défaut, ou 1 pour ENUMERATIONBINARY.
<step>Ce qui s'ajoute à chaque ligne. 1 par défaut. ENUMERATIONBINARY refuse STEP.
<NAME>Le nom d'une constante, écrit avec #. Une par ligne.
<value>Valeur facultative pour cette constante ; les lignes suivantes repartent d'elle.

À savoir

  • Les valeurs sont des nombres entiers : 0.5 est arrondi à 1. <start>, <step> et <value> sont des nombres ou des expressions d'autres constantes ; un appel de commande est refusé.
  • Le bloc se ferme seulement par ENDENUMERATION. END ENUMERATION n'est pas accepté.
  • Chaque ligne porte un seul #NAME et rien d'autre : #A, #B et un commentaire après le nom sont refusés (BASIC enumeration accepts only #Constant entries).
  • Sont refusés : les énumérations imbriquées, la réouverture d'une énumération nommée dans l'autre mode, et ENUMERATIONBINARY 1 STEP 2.
  • ENUMERATION STEP 2 n'est pas refusé : STEP est lu comme le nom de l'énumération et 2 comme son départ, d'où les valeurs 2, 3, 4. Donnez toujours un départ : ENUMERATION 0 STEP 2.
  • Comme avec #CONSTANT, une FUNCTION ne peut pas lire une constante d'énumération dans un programme avec DO … LOOP.

Exemple

ENUMERATION  #RED  #GREEN  #BLUEENDENUMERATIONENUMERATION 10 STEP 5  #A  #B  #C = 100  #DENDENUMERATIONENUMERATIONBINARY  #FLAG_A  #FLAG_B  #FLAG_CENDENUMERATIONConsole(Str(#RED) + Str(#GREEN) + Str(#BLUE))   ' 012Console(Str(#A) + " " + Str(#B) + " " + Str(#C) + " " + Str(#D))   ' 10 15 100 105Console(Str(#FLAG_A) + " " + Str(#FLAG_B) + " " + Str(#FLAG_C))   ' 1 2 4
Dans le manuel : Constantes et opérateurs