DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur d'analyses / Modèle Logique des Données
  • Présentation
  • Création de rubriques de type Enumération et Combinaison sous l'éditeur d'analyses
  • Création d'une rubrique de type Enumération
  • Création d'une rubrique de type Combinaison
  • "Conversion" d'une rubrique existante vers le type Enumération ou Combinaison
  • "Convertir" une rubrique en une variable de type Enumération ou Combinaison
  • Utilisation d'une rubrique de type entier ou chaîne
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
WINDEV, WEBDEV et WINDEV Mobile mettent à votre disposition les types de variable Enumération et Combinaison. Ces types permettent de gérer des ensembles de valeurs.
Cette page d'aide vous présente :
Création de rubriques de type Enumération et Combinaison sous l'éditeur d'analyses

Création d'une rubrique de type Enumération

Pour créer une rubrique de type Enumération :
  1. Créez une nouvelle rubrique dans la fenêtre de description des rubriques du fichier de données (option "Description des rubriques" du menu contextuel du fichier sous l'éditeur d'analyses).
  2. Choisissez le type "Enumération, Combinaison".
  3. Dans l'onglet "Général" de la description de la rubrique, cliquez sur le bouton à droite de la combo "Type", puis sélectionnez "Créer une nouvelle énumération".
    Création d'une nouvelle énumération
  4. La fenêtre d'édition d'une énumération s'affiche :
    Edition d'une énumération
    • Précisez le nom de l'énumération.
    • Ajoutez des valeurs (bouton ) ou saisissez directement les valeurs dans la table.
    • Pour chaque valeur, précisez éventuellement la valeur associée ou l'alias (un alias est une valeur de l'énumération ayant la même valeur qu'une autre valeur de l'énumération, mais avec un nom différent).
Vous pourrez utiliser cette énumération comme n'importe quelle variable de type Enumération définie dans l'éditeur de code. Pour plus de détails, consultez Le type Enumération.
Remarque : Si vous avez défini une variable de type Enumération dans l'éditeur de code, pour utiliser cette variable dans une rubrique de l'analyse, vous devez recréer cette énumération dans l'éditeur d'analyses.

Création d'une rubrique de type Combinaison

Pour créer une rubrique de type Combinaison :
  1. Créez une nouvelle rubrique dans la fenêtre de description des rubriques du fichier de données (option "Description des rubriques" du menu contextuel du fichier sous l'éditeur d'analyses).
  2. Choisissez le type "Enumération,Combinaison"
  3. Dans l'onglet "Général" de la description de la rubrique, cliquez sur le bouton à droite de la combo "Type", puis sélectionner "Créer une nouvelle combinaison".
  4. La fenêtre d'édition d'une combinaison s'affiche :
    Edition d'un combinaison
    • Précisez le nom de la combinaison.
    • Ajoutez des valeurs (bouton ) ou saisissez directement les valeurs dans la table.
    • Pour chaque valeur, précisez éventuellement la valeur associée ou l'alias.
Vous pourrez utiliser cette combinaison comme n'importe quelle variable de type Combinaison définie dans l'éditeur de code. Pour plus de détails sur le type Combinaison, consultez Le type Combinaison.
Remarque : Si vous avez défini une variable de type Combinaison dans l'éditeur de code, pour utiliser cette variable dans une rubrique de l'analyse, vous devez recréer cette combinaison dans l'éditeur d'analyses.
"Conversion" d'une rubrique existante vers le type Enumération ou Combinaison
Si vos fichiers de données existants utilisent des rubriques que vous souhaitez transformer en Enumération ou Combinaison (pour faciliter la maintenance du code, éviter les affectations de valeurs indésirables, etc.), plusieurs possibilités s'offrent à vous :
  • "convertir" la rubrique existante en variable de type Enumération ou Combinaison. Cette solution est la plus rigoureuse mais est plus complexe à mettre en oeuvre (surtout si vous avez des fichiers de données en production).
  • utiliser une rubrique de type entier ou chaîne pour mémoriser la valeur ou le nom des éléments de l'énumération ou de la combinaison. Cette solution est plus simple à mettre en oeuvre, mais elle n'empêche pas les valeurs indésirables. Elle permet aussi de mémoriser une valeur d'énumération ou de combinaison dans une base non HFSQL (MySQL, Oracle, ...) où les types Enumération et Combinaison ne sont pas disponibles.

"Convertir" une rubrique en une variable de type Enumération ou Combinaison

La "conversion" doit être réalisée en plusieurs étapes :
  1. Ajoutez une nouvelle rubrique "Enumération, Combinaison" dans la description du fichier de données voulu (voir paragraphes précédents).
  2. Modifiez les fichiers de données physiques. Cette modification peut être faite :
    • soit directement depuis l'éditeur d'analyses via la "Synchronisation de la Structure et des Données déployées". Utilisez cette solution si vous avez accès directement aux fichiers de données depuis le poste de développement.
    • soit par programmation via la fonction WLangage HModifieStructure. Utilisez cette solution si vous n'avez pas accès aux fichiers de données (applications déployées par exemple).
  3. Remplissez la nouvelle rubrique Enumération ou Combinaison à partir du contenu de la rubrique entier (ou chaîne de caractères) originale. Il suffit d'utiliser la fonction WLangage EnumérationDepuisValeur ou CombinaisonDepuisValeur. Cette fonction renvoie l'option d'une énumération ou combinaison à partir d'une valeur donnée.
    Attention : il est nécessaire d'avoir défini une valeur pour chaque option de l'énumération ou de la combinaison. Si le nom de l'option fait office de valeur, utilisez la fonction WLangage EnumérationDepuisNom ou CombinaisonDepuisNom.
    // Si la rubrique Etat (entier) contient une valeur valide pour l'énumération
    SI EnumérationVérifieValeur(EEtatCommande, Commande.Etat) ALORS
    // Remplit la rubrique Enumération avec la valeur correspondante
    Commande.EtatEnum = EnumérationDepuisValeur(EEtatCommande, Commande.Etat)
    // Modifie l'enregistrement
    HModifie(Commande)
    FIN
  4. Supprimez l'ancienne rubrique entier ou chaîne de caractères.
  5. Eventuellement, renommez la nouvelle rubrique avec le nom de l'ancienne.

Utilisation d'une rubrique de type entier ou chaîne

Il est également possible d'utiliser une énumération ou combinaison sans modifier votre analyse existante. Vous pouvez mémoriser la valeur ou le nom de l'option de l'énumération ou combinaison dans une variable de type entier ou chaîne de caractères.
Dans ce cas, les conversions sont effectuées lors de la lecture et de l'écriture via les fonctions WLangage.
Par exemple, pour l'énumération suivante :
// Enumération avec valeurs associées
EEtatCommande est une Enumération
EnAttenteValidation = 1
EnPréparation = 2
EnExpédition = 3
EnLivraison = 4
Livré = 5
FIN
Vous pouvez choisir de mémoriser l'état de la commande dans une rubrique de type :
  • entier : dans ce cas, la valeur de l'option (1, 2, ...) sera mémorisée,
  • chaîne de caractères : dans ce cas, le nom de l'option (EnAttenteValidation, EnPréparation, ...) sera mémorisé.
Attention : par défaut, si vous ne définissez explicitement aucune valeur pour les options, la valeur de l'option sera équivalente à son nom.
Pour récupérer l'énumération ou la combinaison depuis la rubrique, vous devez utiliser les fonctions WLangage :
Par exemple :
// Lit l'enregistrement voulu
HLitPremier(Commande)
// Définit une variable de type Enumération
eMaCommande est un EEtatCommande
// Récupère l'énumération depuis la rubrique
eMaCommande = EnumérationDepuisValeur(EEtatCommande, Commande.EtatCommande)
Pour affecter une rubrique à partir d'une énumération ou combinaison, vous pouvez indiquer directement la variable de type Enumération ou Combinaison. Vous affectez ainsi directement la valeur définie pour l'option (équivalent à la propriété Valeur).
// Définit une variable de type énumération
eMaCommande est un EEtatCommande
// Applique une valeur à la variable
eMaCommande = EnAttenteValidation
// Affecte directement la rubrique avec la variable Enumération
// Equivalent à Commande.EtatCommande = eMaCommande.Valeur
Commande.EtatCommande = eMaCommande
Pour mémoriser le libellé de l'option, vous pouvez utiliser la propriété Nom.
// Mémorise le nom de l'option dans la rubrique
Commande.EtatCommande = eMaCommande..Nom
Version minimum requise
  • Version 20
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale