evaluer un champ
Le
eric flament
bonjour,
en windev 7.5
j'ai besoin d'evaluer une expression contenue dans un champ
exemple
base.mixcalc ="ABC"+client.nom+client.prenom
expression est une chaine
expression ={base.mixcalc}
info(expression)
me renvoit "ABC"+client.nom+client.prenom
j'ai besoin de recevoir "ABCdurandpaul"
comment faire
merci
eric
en windev 7.5
j'ai besoin d'evaluer une expression contenue dans un champ
exemple
base.mixcalc ="ABC"+client.nom+client.prenom
expression est une chaine
expression ={base.mixcalc}
info(expression)
me renvoit "ABC"+client.nom+client.prenom
j'ai besoin de recevoir "ABCdurandpaul"
comment faire
merci
eric

Poser une question


Bonjour,
Je n'ai peut être pas bien compris ?
base.mixcalc ="ABC"+client.nom+client.prenom
info(base.mixcalc)
--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
j
'aimerai evaluer l'expression contenue par le champ mixcalc dans la base
base
monexpression= {base.mixcalc} attention ce sont des {} pas des ()
monexpression renvoit "'ABC'+client.nom+client.prenom"
alors que j'aimerai quelle me renvoit "ABCdupontpaul" cad ABC +lecontenu
du champ nom de la base client+lecontenu du champ prénom de la base client .
en clipper de ma jeunesse c'était &expression
vloila
cela a rapport aux indirections
eric
Donc pas le champ mais la rubrique (on dit comme ça en WLangage, le
champ c'est l'objet graphique)
Donc c'est bien ce que j'ai écrit :
Si tu as initialisé ta rubrique
base.mixcalc ="ABC"+client.nom+client.prenom
Alors à cet instant, et si tu es positionné sur le client Paul Dupont
au niveau du fichier CLIENT, si tu fais :
Info(base.mixcalc)
Tu auras la boite de dialogue info affichant "ABCdupontpaul"
A+
--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Bonjour romain
non , ca me renvoie une erreur de type " une erreur est survenue dans
la fenétre l''élément ' "ABC"+client.nom+client.prenom ' est inconnu
"
j'utilise bien les indirecion genre
POUR i =1 A 30
{"bouton"+SansEspace(NumériqueVersChaine(i))} .. Etat = Invisible
FIN
HLitPremier(Articles,IDArticles)
TANTQUE PAS HEnDehors(Articles)
{"bouton"+SansEspace(NumériqueVersChaine(Articles.BTNUM))} .. Etat =
Visible
{"bouton"+SansEspace(NumériqueVersChaine(Articles.BTNUM))} .. Valeur
= Articles.description
{"bouton"+SansEspace(NumériqueVersChaine(Articles.BTNUM))} ..CouleurFond
= Articles.COULTYPE
{"bouton"+SansEspace(NumériqueVersChaine(Articles.BTNUM))} ..Couleur
= Articles.COULLYBE
{"bouton"+SansEspace(NumériqueVersChaine(Articles.BTNUM))} ..Note =
Articles.IDArticles
HLitSuivant(Articles,IDArticles)
FIN
la on attribue une valeur à un objet de type bouton
j'ai besoin de faire évaluer l'expression contenue dans une rubrique
de base de donnée et la windev ne fonctionne pas
quelle galére , en fait c'est pour éviter de coder des if ou des
selon / cas.
merci si la solution existe
un bout du code utilisé
HLitRecherche(Serialsoft,codesoft,Xsoftware)
Info("Lu " + Serialsoft.appelationsoft)
quoi = {Serialsoft.clefs}
Info(quoi) // erreur ici
sserialnumber=genere(Serialsoft.clefs)
info(sserialnumber)
eric
J'ai pas vraiment compris le fonctionnement de ton code mais pour faire
des indirections, il faut utiliser des chaines de caractères.
si tu fais :
quoi = {Serialsoft.clefs}
Tu fais une indirection sur le contenu de Serialsoft.clefs
donc si serialsoft.clefs est "ABCTOTO", tu fais une indirection sur un
champ, une rubrique, une variable appellé ABCTOTO.
(donc erreur si ce champ, cette variable ou cette rubrique n'existe
pas)
Par contre, si tu fais
quoi = {"Serialsoft.clefs"}
ou
quoi = {Serialsoft.clefs..nom}
Alors là tu fais une indirection sur le champ, la rubrique ou la
variable elle-même et ça te donne la valeur (donc "ABCTOTO").
Mais pour une rubrique, ce type d'indirection est identique à
quoi = Serialsoft.clefs
(sauf si c'est un fichier dynamique/externe)
NB : Il est préférable d'indiquer le type attendu dans une indirection,
pour une question de lisibilité du code et de rapidité :
Exemple : {"Serialsoft.clefs", indRubrique}
et encore mieux en rajoutant ce que tu cherches à récupérer (..Valeur).
Exemple : {"Serialsoft.clefs", indRubrique}..Valeur
A+
--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup