OVH Cloud OVH Cloud

WD8 EnumèreChamp : est-ce un bug

4 réponses
Avatar
Georges Peyre
Bonjour

////// extrait de l'aide Windev /////////////
Numéro du champ> : Entier
Numéro du champ dont le nom est recherché. Chaque champ est associé à
un numéro. Ce numéro détermine l'ordre de navigation (c'est-à-dire
l'ordre de prise de focus des champs dans l'objet "parent"). La touche
[F5] permet de visualiser l'ordre de navigation sous l'éditeur de
fenêtres
//////////////////////

Contrairement à ce qu'affirme l'aide, à l'intérieur des onglets, les
fonctions EnumèreChamp et EnumèreElément ne permettent pas de lister
les noms des champs dans un ordre identique à celui qui a été déterminé
dans la fen^tre de navigation ou par sélection :

A votre avis est-ce un bug ou une fausse manip de ma part ?

Cordialement

--
Elle est pas belle la vie ?

4 réponses

Avatar
Romuald.besset
Georges Peyre a écrit :

Bonjour

////// extrait de l'aide Windev /////////////
Numéro du champ> : Entier
Numéro du champ dont le nom est recherché. Chaque champ est associé à un
numéro. Ce numéro détermine l'ordre de navigation (c'est-à-dire l'ordre
de prise de focus des champs dans l'objet "parent"). La touche [F5]
permet de visualiser l'ordre de navigation sous l'éditeur de fenêtres
//////////////////////

Contrairement à ce qu'affirme l'aide, à l'intérieur des onglets, les
fonctions EnumèreChamp et EnumèreElément ne permettent pas de lister les
noms des champs dans un ordre identique à celui qui a été déterminé dans
la fen^tre de navigation ou par sélection :

A votre avis est-ce un bug ou une fausse manip de ma part ?

Cordialement




Quid en utilisant la syntaxe données ci après ?
http://www.wdforge.org/modules/newbb/viewtopic.php?topic_id€8&forum=5#forumpost3235

++ R&B de www.WDForge.org
Avatar
Georges Peyre
Bonjour

Romuald.besset a exposé le 17/12/2004 :
Quid en utilisant la syntaxe données ci après ?
http://www.wdforge.org/modules/newbb/viewtopic.php?topic_id€8&forum=5#forumpost3235


Désolé mais ce code ne donne pas une liste dans l'ordre de navigation
dans chaque onglet

------------------------------------

Egalement, le code suivant utilisant EnumereSousElement ne donne pas un
résultat cohérent avec l'ordre de navigation

wch,wch2,ch est une chaîne
MonChamp,wVolet sont des chaînes
ResChamp est une chaîne = "Onglet1"
MonChamp=MaFenêtre..Nom+"."+ ResChamp
wVolet=EnumèreSousElément(MonChamp,enumPremier+enumVolet)
TANTQUE wVolet<>""
wch=EnumèreSousElément(MonChamp+"."+wVolet,enumPremier)
// on parcourt tous les champs
TANTQUE wch <> ""
Trace(ResChamp+"."+wVolet+"."+wch,ch)
// on passe au champ suivant
wch = EnumèreSousElément(MonChamp+"."+wVolet)
FIN
// on passe au volet suivant
wVolet=EnumèreSousElément(MonChamp,enumVolet)
FIN

---------------------------------------------------------------

Et enfin ce code suivant non plus utilisant EnumereChamp ne donne pas
un résultat cohérent avec l'ordre 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

Cordialement

--
Elle est pas belle la vie ?
Avatar
Byky
Tu peut connaitre (et modifier) le numéro "d'odre de navigation" d'un champ
avec la propriété NumTab (monChamp..NumTab).
A toi de les trier une fois que tu les a tous listés.

"Georges Peyre" a écrit dans le message de
news:
Bonjour

Romuald.besset a exposé le 17/12/2004 :
> Quid en utilisant la syntaxe données ci après ?
>


http://www.wdforge.org/modules/newbb/viewtopic.php?topic_id€8&forum=5#forumpost3235
Désolé mais ce code ne donne pas une liste dans l'ordre de navigation
dans chaque onglet

------------------------------------

Egalement, le code suivant utilisant EnumereSousElement ne donne pas un
résultat cohérent avec l'ordre de navigation

wch,wch2,ch est une chaîne
MonChamp,wVolet sont des chaînes
ResChamp est une chaîne = "Onglet1"
MonChamp=MaFenêtre..Nom+"."+ ResChamp
wVolet=EnumèreSousElément(MonChamp,enumPremier+enumVolet)
TANTQUE wVolet<>""
wch=EnumèreSousElément(MonChamp+"."+wVolet,enumPremier)
// on parcourt tous les champs
TANTQUE wch <> ""
Trace(ResChamp+"."+wVolet+"."+wch,ch)
// on passe au champ suivant
wch = EnumèreSousElément(MonChamp+"."+wVolet)
FIN
// on passe au volet suivant
wVolet=EnumèreSousElément(MonChamp,enumVolet)
FIN

---------------------------------------------------------------

Et enfin ce code suivant non plus utilisant EnumereChamp ne donne pas
un résultat cohérent avec l'ordre 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

Cordialement

--
Elle est pas belle la vie ?



Avatar
Georges Peyre
Bonjour,

Byky a formulé la demande :
Tu peut connaitre (et modifier) le numéro "d'odre de navigation" d'un champ
avec la propriété NumTab (monChamp..NumTab).
A toi de les trier une fois que tu les a tous listés.



Merci infiniment c'est exactement ce qu'il me manquait
Compte tenu que mon but final est de générer, dans un fichier .txt, un
code généralisé de validation de tous les champs d'un onglet pour
ensuite le récuper c'est un peu usine à gaz mais je gagne un temps fou
au final

Cordialement :-Z

--
Elle est pas belle la vie ?