Référence Mot-clé


Enum

Énumère des constantes.

[scope] Enum [Step <stepval>] <constantlist>

Paramètres

scope [optionnel] La portée de Enum devrait être mentionnée en, Local, Global, Dim ou rien. Si rien, le comportement de Dim est utilisé.
stepval [optionnel] Le pas par défaut consiste à ajouter 1. D'autres méthodes de pas sont possibles : *n, +n, -n où n est un nombre entier.
constantlist Une liste de constantes à énumérer.

Remarque

Par défaut, la première constante sera 0 et les autres seront incrémentées de 1 à partir de là.
Lorsqu'on utilise l'opérateur de la multiplication comme pas, la première constante sera 1 et les autres seront multipliées successivement par le pas.
Les constantes peuvent être assignées explicitement par une déclaration valide.

Exemples

Exemple 1

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Ces variables seront énumérées de 0 à 2.
    Local Enum $eVar1, $eVar2, $eVar3
    MsgBox($MB_SYSTEMMODAL, "", "$eVar1 is equal to (0): " & $eVar1 & @CRLF & _
            "$eVar2 is equal to (1): " & $eVar2 & @CRLF & _
            "$eVar3 is equal to (2): " & $eVar3 & @CRLF)

    ; Ces variables sont énumérées de 1 à 2 puis $eVariant3 est défini à 5 puis continue
    ; par incrémentation de 1.
    Local Enum $eVariant1 = 1, $eVariant2, $eVariant3 = 5, $eVariant4
    MsgBox($MB_SYSTEMMODAL, "", "$eVariant1 is equal to (1): " & $eVariant1 & @CRLF & _
            "$eVariant2 is equal to (2): " & $eVariant2 & @CRLF & _
            "$eVariant3 is equal to (5): " & $eVariant3 & @CRLF & _
            "$eVariant3 is equal to (6): " & $eVariant4 & @CRLF)

    ; Multiplie chaque élément par 2.
    Local Enum Step *2 $eFoo1, $eFoo2, $eFoo3, $eFoo4
    MsgBox($MB_SYSTEMMODAL, "", "$eFoo1 is equal to (1): " & $eFoo1 & @CRLF & _
            "$eFoo2 is equal to (2): " & $eFoo2 & @CRLF & _
            "$eFoo3 is equal to (4): " & $eFoo3 & @CRLF & _
            "$eFoo3 is equal to (8): " & $eFoo4 & @CRLF)
EndFunc   ;==>Example


Exemple 2

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Crée des variables à portée locale et énumére les variables. Par défaut le début de l'énumération est 0.
    Local Enum $eCat, $eDog, $eMouse, $eHamster ; $eHamster est égale à la valeur trois, pas quatre.

    ; Crée un tableau de portée locale avec 4 éléments.
    Local $aAnimalNames[4]

    ; Attribue à chaque élément du tableau le nom de l'animal respectif. Par exemple, le nom du chat est Jasper.
    $aAnimalNames[$eCat] = 'Jasper'; $eCat est égal à 0, pareil que d'utiliser $aAnimalNames[0]
    $aAnimalNames[$eDog] = 'Beethoven'; $eDog est égal à 1, pareil que d'utiliser $aAnimalNames[1]
    $aAnimalNames[$eMouse] = 'Pinky'; $eMouse est égal à 2, pareil que d'utiliser $aAnimalNames[2]
    $aAnimalNames[$eHamster] = 'Fidget'; $eHamster est égal à 3, pareil que d'utiliser $aAnimalNames[3]

    ; Affiche les valeurs du tableau.
    MsgBox($MB_SYSTEMMODAL, '', '$aAnimalNames[$eCat] = '& $aAnimalNames[$eCat] & @CRLF & _
            '$aAnimalNames[$eDog] = '& $aAnimalNames[$eDog] & @CRLF & _
            '$aAnimalNames[$eMouse] = '& $aAnimalNames[$eMouse] & @CRLF & _
            '$aAnimalNames[$eHamster] = '& $aAnimalNames[$eHamster] & @CRLF)

    ; Parfois, l'utilisation de cette approche pour accéder à un élément est plus pratique que d'utiliser une valeur numérique, car le changement de la valeur de l'index
    ;de la constante d'énumération n'a aucun effet sur sa position dans le tableau. Par conséquent changer l'emplacement de $eCat dans le tableau est aussi simple que de changer l'ordre
    ; défini dans la déclaration initiale, par exemple:

    ;Local Enum $eDog, $eMouse, $eCat, $eHamster

    ;Maintenant $eCat est le 2ème élément du tableau. Si vous utilisez des valeurs numériques, vous devez modifier manuellement toutes les références de $aAnimalNames[0] à
    ;$aAnimalNames[2], ainsi que pour les autres éléments qui ont maintenant changé.
EndFunc   ;==>Example