PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → liste des champs
liste des champs
Débuté par no, 24 jan. 2005 16:01 - 3 réponses
Posté le 24 janvier 2005 - 16:01
Bonjour,

Est-il possible de connaître la liste des noms des champs affichés dans une fenêtre quelconque (ou la fenêtre courante) ? Aussi, comment rendre invisible tous les champs de la fenêtre ?

Merci beaucoup,

Sébastien
Posté le 24 janvier 2005 - 16:19
Regarde l'aide sur "EnumèreChamp".

Exemple :
i est un entier = 1
ResChamp est une chaîne =EnumèreChamp(Fenetre_Menu,i)

TANTQUE ResChamp<>""
// Ton traitement
i++
ResChamp=EnumèreChamp(Fenetre_Menu, i)
FIN

Pour manipuler ton champ, tu peux ensuite passer par les indirections.
Exemple :
{ResChamp}..Visible=Faux



Sébastien a écrit :
Bonjour,

Est-il possible de connaître la liste des noms des champs affichés dans une fenêtre quelconque (ou la fenêtre courante) ? Aussi, comment rendre invisible tous les champs de la fenêtre ?

Merci beaucoup,

Sébastien
Posté le 24 janvier 2005 - 16:37
Oui, avec la fonction énumèrechamp:
Dixit d'aide de Windev:
Renvoie le nom du Nème champ de la fenêtre, de l'état, du groupe, de l'onglet ou du super-champ.

Utilisée dans une boucle, cette fonction peut permettre d'énumérer les champs d'une fenêtre, d'un groupe, d'un onglet ou d'un super-champ.


// Remplir une combo avec la liste des champs de la fenêtre
i est un entier = 1
ResChamp est une chaîne
ResChamp = EnumèreChamp(FenêtreSaisie, i)
TANTQUE ResChamp<>""
i++
ListeAjoute(ListeChamp, ResChamp)
ResChamp = EnumèreChamp(FenêtreSaisie, i)
FIN


Frédéric.
Posté le 24 janvier 2005 - 16:46
Pour lister les champs d'une fenêtre, regardes dans l'aide sur EnumèreSousElement.
Attention, cette fonction n'est pas "récursive", elle ne descend pas dans les onglets ou les superchamps. Si un des éléments énumeré est un superchamp ou un onglet, alors il faut de nouveau appeler EnumereSousElement (MonSuperChamp) ou EnumereSousElement (MonOnglet.NumVolet)

Pour rendre tous les champs invisibles, soit à partir de la liste ci-dessus, tu fais pour tous les champs :
MonChamp..Visible = faux

soit, tu associes tous tes champs dans un même groupe GR_CHAMP et tu fais directement GR_CHAMP..Visible = faux