GNT sans publicité, site mobile, fonctionnalitées exclusives...

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
Lire les 11 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Romain PETIT
Le #23898361
Il se trouve que eric flament a formulé :
bonjour,



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"



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
eric flament
Le #23898421
Le 24/10/2011 13:37, Romain PETIT a écrit :
Il se trouve que eric flament a formulé :
bonjour,



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"



Je n'ai peut être pas bien compris ?

base.mixcalc ="ABC"+client.nom+client.prenom

info(base.mixcalc)



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
Romain PETIT
Le #23898471
Le 24/10/2011, eric flament a supposé :
j
'aimerai evaluer l'expression contenue par le champ mixcalc dans la base base



Donc pas le champ mais la rubrique (on dit comme ça en WLangage, le
champ c'est l'objet graphique)

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 .



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
eric
Le #23898601
On 24 oct, 14:11, Romain PETIT
Bonjour romain


> j
> 'aimerai evaluer l'expression contenue par le champ mixcalc dans la bas e base

Donc pas le champ mais la rubrique (on dit comme ça en WLangage, le
champ c'est l'objet graphique)

> 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 +leconten u du
> champ nom de la base client+lecontenu du champ prénom de la base clie nt .

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"



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
Romain PETIT
Le #23898651
Après mure réflexion, eric a écrit :
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)



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
Publicité
Suivre les réponses
Poster une réponse
Anonyme