PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Énumération des volets des onglets (ou des rubans)
  • Énumération des volets des boîtes à outils
  • Limite
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
EnumèreSousElément (Fonction)
En anglais : EnumSubElement
Permet d'énumérer les sous-éléments d'un élément du projet. Cette fonction peut être exécutée même si l'élément n'est pas ouvert.
Utilisée dans une boucle, cette fonction peut permettre d'énumérer les champs d'une fenêtre (ou d'une page) d'un projet.
Remarque : Cette fonction ne peut pas être utilisée sur les états ou sur les requêtes.
WINDEVEtats et RequêtesCode Utilisateur (MCU)
// Énumération des champs d'une fenêtre d'un projet
NomChamp est une chaîne = EnumèreSousElément("MaFenêtre", enumPremier)
// Parcours tous les champs
TANTQUE NomChamp <> ""
Trace(NomChamp)
// Passage au champ suivant
NomChamp = EnumèreSousElément("MaFenêtre")
FIN
WINDEVEtats et RequêtesCode Utilisateur (MCU)
// Parcours des volets d'un champ onglet
NomChamp est une chaîne = EnumèreSousElément("FEN_Fenêtre1.Onglet1", enumPremier + enumVolet)

// Parcours de tous les volets
TANTQUE NomChamp <> ""
// Passage au volet suivant
Trace(NomChamp)
NomChamp = EnumèreSousElément("FEN_Fenêtre1.Onglet1", enumVolet)
FIN
WEBDEV - Code ServeurAjax
// Énumération des champs d'une page d'un projet
NomChamp est une chaîne = EnumèreSousElément("MaPage", enumPremier)
// Parcours tous les champs
TANTQUE NomChamp <> ""
Trace(NomChamp)
// Passage au champ suivant
NomChamp = EnumèreSousElément("MaPage")
FIN
WINDEVEtats et RequêtesCode Utilisateur (MCU)
// Parcours des champs d'une fenêtre et affichage de leur type et libellé.
sParent est une chaîne = "FEN_SAISIE_CLIENT"
sNomChamp est une chaîne = EnumèreSousElément(sParent, enumPremier)
TANTQUE sNomChamp <> ""

// Nom complet du champ
sNomComplet est une chaîne = sParent + "." + sNomChamp
// Récupération du type de l'élément
nType est un entier = {sNomComplet, indGPW}..Type

// Si c'est un groupe de champs ou un onglet
SI nType = typOnglet OU nType = typTable OU nType = typBarreOutils OU ...
nType = typBoîteAOutils OU nType = typSuperChamp ALORS
// Enumération des champs qui sont à l'intérieur
Trace(sNomComplet)
SINON
// Ne fait rien si c'est une option de menu
SI nType <> typOptionMenu ALORS
// Ajout de l'élément dans la trace
Trace(sNomComplet, nType, {sNomComplet, indGPW}..Libellé, ...
{sNomComplet, indGPW}..Groupe)
FIN
FIN

// Champ suivant
sNomChamp = EnumèreSousElément(sParent)
FIN
Syntaxe
<Résultat> = EnumèreSousElément(<Elément> [, <Option>])
<Résultat> : Chaîne de caractères
  • Nom complet de l'élément trouvé (par exemple <NomFenêtre/Page>.<NomChamp>),
  • Chaîne vide ("") si aucun élément n'a été trouvé.
<Elément> : Chaîne de caractères (avec guillemets)
Nom complet de l'élément à énumérer. Pour un champ, ce paramètre est de la forme <Nom de la fenêtre/page>.<Nom du champ> (par exemple "MaFenêtre.MaTable").
<Option> : Constante optionnelle
Paramètre à spécifier au premier appel à la fonction (pour lancer l'énumération). Pour poursuivre l'énumération, ce paramètre n'est pas nécessaire.
enumBoiteOutilsÉnumère les volets d'une boîte à outils.
WEBDEV - Code Serveur Cette constante n'est pas disponible.
enumGroupeÉnumère les groupes d'une fenêtre ou d'une page
enumMenuContextuelÉnumère les menus contextuels d'une fenêtre.
WEBDEV - Code Serveur Cette constante n'est pas disponible.
enumMenuPrincipalÉnumère les menus déroulant d'une fenêtre. Il est également possible d'utiliser la fonction EnumèreMenu.
WEBDEV - Code Serveur Cette constante n'est pas disponible.
enumPremierInitialise l'énumération
enumVoletÉnumère les volets des onglets ou des rubans.
WEBDEV - Code Serveur Cette constante n'est pas disponible.
Attention : pour initialiser le parcours, il faut utiliser les combinaisons suivantes :
  • enumPremier pour énumérer les champs d'une fenêtre ou d'une page
  • enumPremier + enumGroupe pour énumérer les groupes d'une fenêtre ou d'une page
  • enumPremier + enumVolet pour énumérer les volets d'un onglet ou d'un ruban
  • enumPremier + enumMenuContextuel pour énumérer les menus contextuels
  • enumPremier + enumBoiteOutils pour énumérer les volets d'une boîte à outils
  • enumPremier + enumMenuPrincipal pour énumérer les menus principaux d'une fenêtre ou d'une page
Remarques
WINDEVEtats et RequêtesCode Utilisateur (MCU)

Énumération des volets des onglets (ou des rubans)

Par défaut, la fonction EnumèreSousElement utilisée sur un onglet énumère tous les champs de tous les volets sans faire apparaître le volet.
En précisant la constante enumVolet, la fonction EnumèreSousElement utilisée sur un onglet énumère tous les onglets (mais pas les champs contenus dans les onglets). Le résultat obtenu est du type "<n>" où <n> est le numéro de l'onglet. Pour obtenir le libellé de l'onglet, utilisez la propriété ..Libellé.
Pour énumérer les champs de chaque volet, il faut relancer une énumération sur le volet à partir de son numéro :
EnumèreSousElement("<fenêtre>.<onglet>.<n>")
Remarque : La propriété ..Occurrence permet de connaître le nombre de volets d'un onglet.
WINDEVEtats et RequêtesCode Utilisateur (MCU)

Énumération des volets des boîtes à outils

Par défaut, la fonction EnumèreSousElement utilisée sur une boîte à outils énumère tous les champs de tous les volets sans faire apparaître le volet.
En précisant la constante enumBoiteOutils, la fonction EnumèreSousElement utilisée sur une boîte à outils énumère tous les volets (mais pas les champs contenus dans les volets). Le résultat obtenu est du type "<n>.<libellé>" où <n> est le numéro du volet et <libellé> son libellé.
Pour énumérer les champs de chaque volet, il faut relancer une énumération sur le volet à partir de son numéro :
EnumèreSousElement("<Fenêtre/Page>.<Boîte à outils>.<n>")

Limite

Cette fonction ne permet pas d'énumérer les sous-éléments d'un élément présent dans un composant.
Classification Métier / UI : Code neutre
Composante : wd260gpu.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
La double syntaxe pour les Onglets complique la programmation
2 syntaxes pour indiquer le numéro de volet:
Onglet[NumVolet].xxx
Onglet.NumVolet.xxx
Chacune retourne une erreur selon les fonctions utilisées.

Syntaxe EnumèreSousElément sur Volet nº 2 :

Correcte : EnumèreSousElément("FEN_ MaFen.SC_F.ONG_1.2.TABLE_Champs", enumPremier)

Erronée :
EnumèreSousElément("FEN_ MaFen.SC_F.ONG_1[2].TABLE_Champs", enumPremier)


Syntaxe lecture Propriétés sur Volet nº 2 :
Erronée :
{"FEN_MaFen.SC_F.ONG_1.2.TABLE_Champs",indChamp}..Libellé

Correcte :
{"FEN_ MaFen.SC_F.ONG_1[2].TABLE_Champs",indChamp}..Libellé

AntonioDev
06 oct. 2020