OVH Cloud OVH Cloud

WD8 Problème avec EnumèreChamp

2 réponses
Avatar
Georges Peyre
Bonjour,

Dans une fenêtre j'ai de nombreux champs regraoupés sous des onglets.
A l'aide de EnumèreChamp je désire récupérer les noms des champs pour
chaque onglet.
Malheureusement, et contrairement à l'aide an ligne de Windev,
EnumèreChamp ne respecte pas l'ordre de navigation des champs dans
chaque onglet.

Existe-t-il une astuce pour obtenir une liste des champs qui respecte
l'ordre de navigation onglet par onglet

Cordialement

--
Elle est pas belle la vie ?

2 réponses

Avatar
Michel
Georges Peyre a écrit :
Bonjour,

Dans une fenêtre j'ai de nombreux champs regraoupés sous des onglets.
A l'aide de EnumèreChamp je désire récupérer les noms des champs pour
chaque onglet.
Malheureusement, et contrairement à l'aide an ligne de Windev,
EnumèreChamp ne respecte pas l'ordre de navigation des champs dans
chaque onglet.

Existe-t-il une astuce pour obtenir une liste des champs qui respecte
l'ordre de navigation onglet par onglet

Cordialement



comment ca qui respecte l'ordre de navigation ?
tu veux dire liste des champs de l'onglet 1, liste des champ de l'onglet
2 etc... ?
Si c'est ça il te suffit de reperer le type de champ et le nombre
d'occurrence de champs pour chaque onglet.

ResChamp = EnumèreChamp(sNomContainer, i)
SI ResChamp = "" ALORS RENVOYER 0

SELON {ResChamp}..Type
CAS 3 // Libellé
CAS 4 // Bouton
CAS 5 // Interupteur
CAS 6 // Sélecteur
cas 7 // Liste
CAS 8 // Image
CAS 9 // Table
CAS 12 // Potentiomètre
CAS 16 // Onglet
// Recursivité
POUR j =1 A {ResChamp}..Occurrence
ListeChamps({ResChamp}[j]..Nom) //liste des champs de l'onglet
{ResChamp}
FIN

....


Michel
Avatar
Georges Peyre
Bonjour
Michel a émis l'idée suivante :
comment ca qui respecte l'ordre de navigation ?
tu veux dire liste des champs de l'onglet 1, liste des champ de l'onglet 2
etc... ?
Si c'est ça il te suffit de reperer le type de champ et le nombre
d'occurrence de champs pour chaque onglet.




Moi j'utilise ce code et le résultat n'est pas dans l'ordre de de
navigation

i est un entier
j est un entier
sChamp est une chaîne
NomOnglet est une chaîne
NomOnglet = "Onglet1"
NbVolet est un entier = {NomOnglet}..Occurrence
NumOnglet est un entier = 0
POUR i = 1 A NbVolet
j = 1
sChamp = Majuscule(EnumèreChamp({NomOnglet}[i],j))
TANTQUE sChamp <> ""
SI PAS Majuscule(Gauche(sChamp,7)) = "LIBELLE" ALORS
Trace(sChamp, i)
FIN
j++
sChamp = Majuscule(EnumèreChamp({NomOnglet}[i],j))
FIN
FIN

--
Elle est pas belle la vie ?