PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Identifier les groupes de champs par programmation
Identifier les groupes de champs par programmation
Débuté par gwenaelle.arnoux, 22 fév. 2006 16:45 - 1 réponse
Posté le 22 février 2006 - 16:45
Bonjour,
sur une de nos applications que nous sommes en train de déployer dans d'autres pays de notre groupe, nous avons besoin de masquer certains champs de nos fenêtres.
Ces champs appartienent à différents groupes.

Les groupes de champs à masquer sont idenfiés dans un fichier hyper file que nous appellerons "PARAM".

A l'ouverture de nos fenêtres nous avons donc besoin de récupérer l'ensemble des groupes de champs appartenant à cette fenêtre pour ensuite vérifier s'ils existent dans le fichier paramet les rendre invisible.

Notre souci est que nous n'arrivons pas à récupérer la liste des groupes d'une fenêtre par programmation.

Si quelqu'un a une solution...
Nous vous remercions par avance pour l'aide que vous pourrez nous apporter.
Gwénaëlle.
Posté le 23 février 2006 - 08:41
Salut Gwénaëlle,

J'a peut être une solution mais en fonction du nombre de champs de la fenêtre ça peut être plus ou moins long:

//décalaration des variables
i,j,DimensionTableau sont des entiers
TableauGroupe est un tableau de 1 chaine
ResChamp,NomGroupe est une chaîne
TableauGroupeExiste est booleen = faux

DimensionTableau = 1

// On énumère les champs
ResChamp = EnumèreChamp (FenêtreSaisie, i)

TANTQUE ResChamp<>""

// On récupère le nom du groupe du champ
NomGroupe = {ResChamp}..Groupe

//Si le champ appartient à un groupe
Si NomGroupe <> "" Alors

//On boucle pour savoir si on a déjà le nom du groupe dans le tableau
//Si le Tableau a plus d'une iteration
Si DimensionTableau > 1 Alors
Pour j = 1 A DimensionTableau

//On vérifie que le groupe n'existe pas déjà das le tableau
Si TableauGroupe[j] = NomGroupe Alors
TableauGroupeExiste = vrai
RETOUR
Fin
Fin

//Si le groupe n'existe pas dans le tableau on le rajoute
Si Pas TableauGroupeExiste Alors
DimensionTableau += 1
Dimension(TableauGroupe,DimensionTableau)
TableauGroupe[DimensionTableau] = NomGroupe
Fin

//Si le tableau n'a qu'un iteration
Sinon
TableauGroupe[1] = "" Alors
TableauGroupe[1] = NomGroupe
Sinon
DimensionTableau += 1
Dimension(TableauGroupe,DimensionTableau)
TableauGroupe[DimensionTableau] = NomGroupe
Fin
Fin
DimensionTableau += 1
Fin

i++
ResChamp = EnumèreChamp (FenêtreSaisie, i)
FIN


Tout le code tapé reste à être vérifié et n'est pas à l'abris d'unerreur car non testé et créé de tete...

Bon dev,

Philippe