PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → CONDITION AFFICHE [1][2][3] SI, SINON. AUTRE ? TABLEAU ...
CONDITION AFFICHE [1][2][3] SI, SINON. AUTRE ? TABLEAU ...
Débuté par Laurent, 29 sep. 2014 12:47 - 4 réponses
Posté le 29 septembre 2014 - 12:47
Bonjour,

J'ai une condition pour un sélecteur pour la récupération d'une valeur en fonction de la selection.

SEL_Metier : boulanger, topographe, tailleur de pierre

gsMetierValeur est une chaîne

SI SEL_Metier[1] = Vrai ALORS // valide, soft, hard
gsMetierValeur= "boulanger"
SINON SI SEL_Metier[2] = Vrai ALORS
gsMetierValeur= "topographe"
SINON SI SEL_Metier[3] = Vrai ALORS
gsMetierValeur= "tailleur de pierre"
FIN


Je récupère bien la valeur, mais est-ce qu'il est possible d'avoir la même condition en utilisant un code différent
avec un tableau ou autre...

merci de votre retour, bonne journée
Membre enregistré
1 923 messages
Popularité : +53 (65 votes)
Posté le 29 septembre 2014 - 14:58
Bonjour,
gsMetierValeur est une chaîne
POUR TOUT i=1 A 3
SELON SEL_Metier[i] // valide, soft, hard
CAS 1 : gsMetierValeur= "boulanger"
CAS 2 : gsMetierValeur= "topographe"
CAS 3 : gsMetierValeur= "tailleur de pierre"
FIN


--
Bon dev.
Jean-Pierre
Posté le 29 septembre 2014 - 15:19
Bonjour,
Ca ne fonctionne pas, car SEL_Metier[i] dans la boucle ne vaut pas 1,2 ou 3
mais Vari ou Faux...
Dans la description du sélecteur il est possible d'affecter une valeur à
chaque option.
Ainsi il suffit de vérifier la valeur du sélecteur (sans aucun indice) pour
savoir quel option est cochée, sans besoin d'une boucle.

Frédéric.

"Jean-Pierre BLOCH" a écrit dans le message de groupe de discussion :
2014e68b11238258f2fdf74dd438dabf72f7@news.pcsoft.fr...

Bonjour,
gsMetierValeur est une chaîne
POUR TOUT i=1 A 3
Selon SEL_Metier[i] // valide, soft, hard
cas 1 : gsMetierValeur= "boulanger"
cas 2 : gsMetierValeur= "topographe"
cas 3 : gsMetierValeur= "tailleur de pierre"
FIN


--
Bon dev.
Jean-Pierre
Membre enregistré
939 messages
Popularité : +66 (68 votes)
Posté le 29 septembre 2014 - 18:21
bonjour,

en pour un sélecteur on peu faire :

SELON SEL_Metier
CAS 1
// Boulanger
CAS 2
// topographe
CAS 3
// tailleur de pierre
FIN


tester si SEL_Metier=1 équivaut à tester si SEL_Metier[1]=Vrai ...
tester si SEL_Metier=2 équivaut à tester si SEL_Metier[2]=Vrai ...
etc...

vous pouvez utiliser ceci pour reprendre tel quel le libellé de votre sélecteur...
gsMetierValeur est une chaîne

gsMetierValeur=SEL_Metier[SEL_Metier]..Text



ou saisir des valeurs dans "Valeur renvoyé" de vos options.
dans ce cas là,
il suffira de faire
gsMetierValeur est une chaîne

gsMetierValeur=SEL_Metier



bon dèv
Posté le 29 septembre 2014 - 19:20
Bonsoir,

Il est vrai qu'on a souvent tendance à attribuer un indice à chaque choix, situation adressée par les réponses proposées.

Dans le cas soumis par Laurent,
SELON Vrai
CAS SEL_Metier[1]
gsMetierValeur= "boulanger"
CAS SEL_Metier[2]
gsMetierValeur= "topographe"
CAS SEL_Metier[3]
gsMetierValeur= "tailleur de pierre"
FIN


Cft la doc sur SELON : http://doc.pcsoft.fr/fr-FR/index.awp?1510008

SELON avec test sur une condition
Il est possible dans une instruction SELON de tester le résultat d'une condition réalisée dans le CAS. Cette condition peut être par exemple une condition complexe, contenant des appels de fonctions, ...

Bon travail

Hemgé