Enumérations


Syntax
Enumeration [nom] [<constante> [Step <constante>]] 
  #Constante1
  #Constante2 [= <constante>]
  #Constante3
  ...
EndEnumeration



EnumerationBinary [nom] [<constante>] 
  #Constante1
  #Constante2 [= <constante>]
  #Constante3
  ...
EndEnumeration
Description
Les énumérations sont très pratiques pour déclarer rapidement une série de constantes sans s'occuper de leur valeur numérique. La première constante de l'énumération prendra la valeur 0, la constante suivante prendra la valeur 1 etc. Il est possible de changer la valeur de départ de l'énumération et d'ajuster la valeur utilisée pour l'incrémentation de chaque constante. Si nécessaire, il est possible d'affecter directement une valeur numérique à une constante (grâce à l'opérateur '=') et les constantes suivantes utiliseront cette nouvelle valeur comme valeur de base. Comme les énumerations n'acceptent que les nombres entiers, les nombres flottants seront arroundis à l'entier le plus proche.

Un 'nom' peut être configuré pour identifier une énumération et permettre de l'interrompre puis de la poursuivre plus tard. C'est utile pour regrouper des objets dans une même énumération tout en les déclarant dans différents endroits du code.

Pour les utilisateurs avancés seulement : La constante réservée #PB_Compiler_EnumerationValue stocke la prochaine valeur qui sera utilisée par l'énumération. Cela peut être utile pour connaître la valeur de la dernière énumération ou pour chaîner plusieurs énumérations.

EnumerationBinary peut être utilisé pour créer des énumérations appropriées pour les options (flags). La première valeur de l'élément est 1.

Exemple: Enumération simple

  Enumeration
    #GadgetInfo ; égale à 0
    #GadgetText ; égale à 1
    #GadgetOK   ; égale à 2
  EndEnumeration

Exemple: Enumération avec un pas déterminé

  Enumeration 20 Step 3
    #GadgetInfo ; égale à 20
    #GadgetText ; égale à 23
    #GadgetOK   ; égale à 26
  EndEnumeration

Exemple: Enumération avec un changement dynamique

  Enumeration
    #GadgetInfo      ; égale à 0
    #GadgetText = 15 ; égale à 15
    #GadgetOK        ; égale à 16
  EndEnumeration

Exemple: Enumérations nommées

  Enumeration Gadget
    #GadgetInfo ; égale à 0
    #GadgetText ; égale à 1
    #GadgetOK   ; égale à 2
  EndEnumeration
  
  Enumeration Window
    #FirstWindow  ; égale à 0
    #SecondWindow ; égale à 1
  EndEnumeration

  Enumeration Gadget
    #GadgetCancel ; égale à 3
    #GadgetImage  ; égale à 4
    #GadgetSound  ; égale à 5
  EndEnumeration

Exemple: Obtenir la prochaine valeur d'énumération

  Enumeration
    #GadgetInfo ; égale à 0
    #GadgetText ; égale à 1
    #GadgetOK   ; égale à 2
  EndEnumeration
  
  Debug "La prochaine valeur d'énumération est : " + #PB_Compiler_EnumerationValue ; affiche 3

Exemple: Enumération binaire

  EnumerationBinary
    #Flags1 ; égale à 1
    #Flags2 ; égale à 2
    #Flags3 ; égale à 4
    #Flags4 ; égale à 8
    #Flags5 ; égale à 16
  EndEnumeration