Salut tLM
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
moi aussi j'ai ce problème avec les volets d'un onglet
salutations
-
Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !Rejeter la notice
WD Texter l'existence d'une variable.
Discussion dans 'Windev' créé par LAPIPE2018, Août 14, 2018.
Je vous avoue que je n'arrive pas à bien saisir le problème ou du moins comprendre sa formulation
mais puisque vous parlez d'indirection je vous dis mon expérience.
Comme la variable champexiste, j'aimerais tester l'existence de {"tb"+i}, par exempl, tb1 à tb10,Cliquez pour agrandir...
en WLangage on peut vérifier l’existence d'un champ avec la fonction ChampExiste
Code (Text):
// Test de l'existence du champ "SaisieNom"
ResExiste = ChampExiste("SaisieNom")
ResExiste = ChampExiste("SaisieNom")
Je m'explique :
Je déclare 10 variable de nom presque symétrique
Code (Text):
mcpt_01_index est un monétaire
mcpt_02_index est un monétaire
mcpt_03_index est un monétaire
mcpt_04_index est un monétaire
mcpt_05_index est un monétaire
mcpt_06_index est un monétaire
mcpt_07_index est un monétaire
mcpt_08_index est un monétaire
mcpt_09_index est un monétaire
mcpt_10_index est un monétaire
mcpt_02_index est un monétaire
mcpt_03_index est un monétaire
mcpt_04_index est un monétaire
mcpt_05_index est un monétaire
mcpt_06_index est un monétaire
mcpt_07_index est un monétaire
mcpt_08_index est un monétaire
mcpt_09_index est un monétaire
mcpt_10_index est un monétaire
Pour la boucle
Code (Text):
nNbr_Max est un entier sur 2 octets=10
POUR i=1 _À_ nNbr_Max
{"mcpt_"+NumériqueVersChaîne(i,"02d")+"_index",indVariable}=SrcData_Pompes_Carb.pmp_compteur
FIN
POUR i=1 _À_ nNbr_Max
{"mcpt_"+NumériqueVersChaîne(i,"02d")+"_index",indVariable}=SrcData_Pompes_Carb.pmp_compteur
FIN
joker apprécie ceci.
Voici un truc tiré par les cheveux
Je n'ai pas testé mais vous n'allez rien perdre à le faire.Tu peux déjouer le problème en ayant recours au tableaux associatifs
Regarde ce code (tiré de l'aide de WD)
Code (Text):// Tableau associatif d'entiers
// indexé sur des chaînes et avec doublons
taIDParClient est un tableau associatif d'entiers
// Ajout de l'identifiant du client "A"
taIDParClient["A"] = 55
// Ajout de l'identifiant du client "B"
taIDParClient["B"] = 321
SI taIDParClient["A"]..Existe = Vrai ALORS
Info("Il existe au moins un élément A")
FINCode (Text):
// Déclaration des variables
mcpt_01_index est un monétaire=0
mcpt_02_index est un monétaire=0
mcpt_03_index est un monétaire=0
mcpt_04_index est un monétaire=0
mcpt_05_index est un monétaire=0
mcpt_06_index est un monétaire=0
mcpt_07_index est un monétaire=0
mcpt_08_index est un monétaire=0
mcpt_09_index est un monétaire=0
mcpt_10_index est un monétaire=0
// Remplissage du tableau de varaiables
taVars est un tableau associatif de monétaires
nNbr_Max est un entier=10
POUR i=1 _À_ nNbr_Max
taVars["mcpt_"+NumériqueVersChaîne(i,"02d")+"_index"] = {"mcpt_"+NumériqueVersChaîne(i,"02d")+"_index",indVariable}
FIN
// Parcours des éléments du tableau
//sKey est une chaîne
//mValue est un monétaire
//POUR TOUT ELEMENT mValue,sKey DE taVars
// Trace(ChaîneConstruit("%1 : %2", sKey, mValue))
//FIN
ii est un entier=9 // Ex : On va vérifier si la variable numéro 9 existe.
// Vérification de l'existence de la variable
SI taVars["mcpt_"+NumériqueVersChaîne(ii,"02d")+"_index"]..Existe = Vrai ALORS
Info("La variable ["+"mcpt_"+NumériqueVersChaîne(ii,"02d")+"_index"+"]"+" existe.")
SINON
Info("La variable ["+"mcpt_"+NumériqueVersChaîne(ii,"02d")+"_index"+"]"+" n'existe pas.")
FIN
Ezekiel056 et joker aiment ça.
Qu'est ce que tb? Un variant? Si c'est le cas :
Pour plus d'info :Code (Windev):
POUR i=1 À 40
si pas {"tb"+i}..existe continue
{"tb"+i}=PRODUIT.Tb
FIN
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
irobot, Gemini1961 et joker aiment ça.
Qu'est ce que tb? Un variant? Si c'est le cas :
Pour plus d'info :Code (Windev):
POUR i=1 À 40
si pas {"tb"+i}..existe continue
{"tb"+i}=PRODUIT.Tb
FIN
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Cliquez pour agrandir...
On put utiliser le variant pour tester l'existence et transférer.