PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Déclaration des énumérations
  • Passer une énumération en paramètre à une procédure
  • Cas particuliers
  • Extension d'énumération
  • Créer des alias dans une énumération
  • Valeurs associées
  • Propriétés associées
  • Fonctions WLangage disponibles
  • Limites
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Une énumération est un ensemble de valeurs. Une variable ou un paramètre formel de type Enumération peut être affectée uniquement avec une valeur de l'énumération.
Versions 21 et supérieures
Universal Windows 10 App Le type Enumération est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Le type Enumération est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Le type Enumération est désormais disponible en mode Universal Windows 10 App.
Versions 23 et supérieures
Java Le type Enumération est désormais disponible pour les applications Java.
Nouveauté 23
Java Le type Enumération est désormais disponible pour les applications Java.
Java Le type Enumération est désormais disponible pour les applications Java.
Exemple
// Code de déclaration
// Déclarer une énumération
TypeAutomate est une Enumération
Marche
Arrêté
EnMaintenance
EnPanne
FIN
// Déclaration d'une variable de type Enumération
Poste1 est un TypeAutomate
// Affectation de la variable
Poste1 = Marche
// Poste1 = 1 // Affiche une erreur de compilation
// Poste1 = "Marche" // Affiche une erreur de compilation
Syntaxe

Déclarer une énumération Masquer les détails

<Nom de l'énumération> est une Enumération
   <Valeurs de l'énumération>
FIN
<Nom de l'énumération> :
Nom de l'énumération à déclarer
<Valeurs de l'énumération> :
Différentes valeurs pouvant être prises par l'énumération.
<FIN> :
Fin de déclaration.

Déclarer une variable de type Enumération Masquer les détails

<Nom de la variable> est une <Nom de l'énumération>
<Nom de la variable> :
Nom de la variable de type Enumération à déclarer.
<Nom de l'énumération> :
Nom d'une énumération précédemment déclarée. La valeur par défaut de l'énumération correspond à la première valeur de l'énumération.
Remarques

Déclaration des énumérations

Une énumération doit être déclarée dans :
  • Le code d'initialisation du projet pour être utilisable dans tous les traitements du projet (codes du projet, codes des fenêtres, codes des champs, procédures, ...).
  • Le code de déclaration des globales d'une fenêtre pour être utilisable dans tous les traitements de la fenêtre (codes de la fenêtre, codes des champs présents dans la fenêtre, procédures locales, ...).
  • Le code d'ouverture d'un état pour être utilisable dans tous les traitements de l'état (codes de l'état, codes des champs présents dans l'état, procédures locales, ...).
  • Le code de déclaration de classe pour être utilisable dans la classe.
    • Pour accéder à cette énumération depuis une méthode de la classe, utilisez la syntaxe :
      "::<Nom de l'énumération>"
    • Pour accéder à cette énumération depuis un code extérieur à la classe, utilisez la syntaxe :
      "<Nom de la classe>::<Nom de l'énumération>"
  • Le code de déclaration des collections de procédures pour être utilisable dans toutes les procédures de la collection.
Remarque : Une énumération est toujours globale :
  • soit à un projet,
  • soit à une fenêtre,
  • soit à un état,
  • soit à une classe.

Passer une énumération en paramètre à une procédure

Une variable de type Enumération peut être passée en paramètre à une procédure. Pour cela, utilisez la syntaxe suivante :
<Nom de la procédure>(<Nom de la variable de type Enumération>)
Par exemple :
// Procédure avec un paramètre de type Enumération
PROCEDURE Fonctionnement(p est TypeAutomate)

// Appels avec un paramètre de type Enumération
Fonctionnement(Marche)
Fonctionnement(1) // Affiche une erreur de compilation
Fonctionnement("A") // Affiche une erreur de compilation

Cas particuliers

  • Saisie assistée : La saisie assistée pour un paramètre de type énumération propose les différentes valeurs de l'énumération.
  • Ordre des valeurs : Les opérateurs <, <=, >, >= sont disponibles sur les énumérations ainsi que les opérations automatiques de tri (TableauTrie, TableauCherche, ...). L'ordre des valeurs dans l'énumération est celui de la déclaration des valeurs.
    Exemple :
    // Code de déclaration
    // Déclarer une énumération
    TypeAutomate est une Enumération
    Marche
    Arrêté
    EnMaintenance
    EnPanne
    FIN

    // Déclaration d'une variable de type Enumération
    Poste1 est un TypeAutomate
    // Affectation de la variable
    Poste1 = Marche

    ...

    SI Poste1>Arrêté ALORS
    Info("L'automate a actuellement un problème")
    FIN

Extension d'énumération

Une énumération peut étendre les valeurs d'une ou plusieurs autres énumérations en reprenant les valeurs de celles-ci et en y ajoutant de nouvelles valeurs.
La syntaxe utilisée est la suivante :
<Nom de l'énumération> est une Enumération
   [Enumération de base]
   <Valeurs supplémentaires de l'énumération>
FIN
où :
  • Nom de l'énumération : Nom d'une énumération précédemment déclarée.
  • Enumération de base : Nom de l'énumération de base à utiliser.
  • Valeurs supplémentaires de l'énumération : Valeurs supplémentaires à prendre en compte dans l'énumération.
Exemple :
// Code de déclaration
// Déclarer une énumération
TypeAutomate est une Enumération
Marche
Arrêté
EnMaintenance
EnPanne
FIN

TypeAutomateAvancé est une Enumération
[TypeAutomate]
EnBoucle
FIN
L'affectation d'une valeur étendue dans une énumération de base est interdite.

Créer des alias dans une énumération

Il est possible de déclarer des alias pour assurer une compatibilité temporaire par exemple.
La syntaxe utilisée est la suivante :
<Nom de l'énumération> est une Enumération
<Valeur 1 de l'énumération>
<Valeur 2 de l'énumération>
<Valeur 3 de l'énumération> = <Valeur 1 de l'énumération>
FIN
Exemple :
// Code de déclaration
// Déclarer une énumération
TypeAutomate est une Enumération
Marche
Arrêté
EnMaintenance
EnPanne
// Déclaration des alias temporaires
Maintenance = EnMaintenance
Panne = EnPanne
FIN

Valeurs associées

En WLangage, il est possible d'associer une valeur constante de type simple à chaque valeur d'une énumération. Cette valeur est associée à la valeur de l'énumération dans la déclaration de l'énumération.
// Déclaration de l'énumération avec valeurs associées
TypeAutomate est une Enumération
Marche = "Exécution de l'automate"
Arrêté = "Automate arrêté"
EnMaintenance = "Automate en cours de maintenance"
EnPanne = "Automate en panne"
FIN
Il est ensuite possible de lire la valeur associée d'une variable de type Enumération grâce à la propriété ..Valeur.
// Accès à la valeur associée
e est un TypeAutomate
MessageAutomate est une chaîne = e..Valeur
La valeur associée n'a aucune incidence sur les autres comportements des énumérations. En particulier l'ordre de tri reste celui de déclaration des valeurs dans l'énumération.

Propriétés associées

Les propriétés associées aux variables de type Enumération sont les suivantes :
NomPermet de connaître le nom d'une variable de type Enumération.
ValeurPermet de connaître la valeur associée d'une variable de type Enumération.
Versions 19 et supérieures

Fonctions WLangage disponibles

Une énumération peut être stockée dans une rubrique HFSQL ou dans un autre format de fichier. Selon les besoins, il peut être possible de stocker le nom (propriété ..Nom) ou la valeur de l'énumération (propriété ..Valeur).
Les fonctions WLangage suivantes permettent de retrouver les caractéristiques d'une énumération stockée :
Versions 19 et supérieures
EnumérationDepuisNom
EnumérationDepuisNom
Renvoie une valeur d’énumération connue par son nom.
Versions 19 et supérieures
EnumérationDepuisValeur
EnumérationDepuisValeur
Renvoie une valeur d’énumération connue par sa valeur associée.
Versions 19 et supérieures
EnumérationVérifieNom
EnumérationVérifieNom
Vérifie si une valeur d'énumération connue par son nom est valide.
Versions 19 et supérieures
EnumérationVérifieValeur
EnumérationVérifieValeur
Vérifie si une valeur d'énumération connue par sa valeur associée est valide.
Nouveauté 19

Fonctions WLangage disponibles

Une énumération peut être stockée dans une rubrique HFSQL ou dans un autre format de fichier. Selon les besoins, il peut être possible de stocker le nom (propriété ..Nom) ou la valeur de l'énumération (propriété ..Valeur).
Les fonctions WLangage suivantes permettent de retrouver les caractéristiques d'une énumération stockée :
Versions 19 et supérieures
EnumérationDepuisNom
EnumérationDepuisNom
Renvoie une valeur d’énumération connue par son nom.
Versions 19 et supérieures
EnumérationDepuisValeur
EnumérationDepuisValeur
Renvoie une valeur d’énumération connue par sa valeur associée.
Versions 19 et supérieures
EnumérationVérifieNom
EnumérationVérifieNom
Vérifie si une valeur d'énumération connue par son nom est valide.
Versions 19 et supérieures
EnumérationVérifieValeur
EnumérationVérifieValeur
Vérifie si une valeur d'énumération connue par sa valeur associée est valide.

Fonctions WLangage disponibles

Une énumération peut être stockée dans une rubrique HFSQL ou dans un autre format de fichier. Selon les besoins, il peut être possible de stocker le nom (propriété ..Nom) ou la valeur de l'énumération (propriété ..Valeur).
Les fonctions WLangage suivantes permettent de retrouver les caractéristiques d'une énumération stockée :
Versions 19 et supérieures
EnumérationDepuisNom
EnumérationDepuisNom
Renvoie une valeur d’énumération connue par son nom.
Versions 19 et supérieures
EnumérationDepuisValeur
EnumérationDepuisValeur
Renvoie une valeur d’énumération connue par sa valeur associée.
Versions 19 et supérieures
EnumérationVérifieNom
EnumérationVérifieNom
Vérifie si une valeur d'énumération connue par son nom est valide.
Versions 19 et supérieures
EnumérationVérifieValeur
EnumérationVérifieValeur
Vérifie si une valeur d'énumération connue par sa valeur associée est valide.

Limites

Les énumérations ne sont pas disponibles en compilation dynamique.
Version minimum requise
  • Version 18
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire