OVH Cloud OVH Cloud

Evaluer une chaine

4 réponses
Avatar
bertrand
bonjour, je voudrais savoir s'il est possible en VB de=20
faire une fonction qui =E9value une chaine comme la=20
fonction EVAL en PHP. Je m'explique :=20

Private Sub Command1_Click()
Dim maChaine As String
Dim premier As Integer
Dim second As Integer

premier =3D 1
second =3D 2
maChaine =3D "premier"
End Sub

en PHP, eval(maChaine) retourne 2.
Comment faire la m=EAme chose en VB ???

Merci d'avance pour vos r=E9ponses.

4 réponses

Avatar
bertrand
Désolé en PHP eval(maChaine) retourne 1. Cela retourne le
contenu de la variable de nom "premier".

enfin en VB je ne sais toujours pas comment faire ...
Avatar
Denis P
Bonjour Bertrand,

Désolé je ne connais pas PHP, mais si je comprend un peu ta question tu
cherches à obtenir la valeur numérique de ta chaîne. Si c'est bien ça tu
peux utiliser la fonction Val

Val(maChaine) va te retourner 1

Par contre attention avec la fonction Val, si tu as des valeurs décimale
dans ta chaîne avec une virgule comme séparateur décimal, la fonction Val va
te retourner seulement la valeur à gauche de ta décimale. La fonction Val
considère la virgule comme un caractère littérale et non comme une décimale.
En fait Val te retourne seulement les chiffres qui précède un caractère
littérale.

Exemple Val(1234D145) va te retourner 1234 comme valeur
ou encore Val(154,458) va te retourner 154 comme valeur
mais Val(1254.25) va te retourner 1254.25

J'espère que ça répond un peu à ta question

@ +

Denis P
"bertrand" a écrit dans le message de
news:0a1701c3b33a$d74ba5c0$
Désolé en PHP eval(maChaine) retourne 1. Cela retourne le
contenu de la variable de nom "premier".

enfin en VB je ne sais toujours pas comment faire ...
Avatar
Merci Denis pour ta proposition, mais en fait ce n'est
pas exactement ça.
moi je cherche quelques chose comme ça :

foncionXXX("second") = 2

cette fonction évalue la variable passée en paramètre.
Je n'ai toujours pas trouvé :(

Merci encore Denis.

-----Message d'origine-----
Bonjour Bertrand,

Désolé je ne connais pas PHP, mais si je comprend un peu


ta question tu
cherches à obtenir la valeur numérique de ta chaîne. Si


c'est bien ça tu
peux utiliser la fonction Val

Val(maChaine) va te retourner 1

Par contre attention avec la fonction Val, si tu as des


valeurs décimale
dans ta chaîne avec une virgule comme séparateur


décimal, la fonction Val va
te retourner seulement la valeur à gauche de ta


décimale. La fonction Val
considère la virgule comme un caractère littérale et non


comme une décimale.
En fait Val te retourne seulement les chiffres qui


précède un caractère
littérale.

Exemple Val(1234D145) va te retourner 1234 comme


valeur
ou encore Val(154,458) va te retourner 154 comme


valeur
mais Val(1254.25) va te retourner 1254.25

J'espère que ça répond un peu à ta question

@ +

Denis P
"bertrand" a écrit


dans le message de
news:0a1701c3b33a$d74ba5c0$
Désolé en PHP eval(maChaine) retourne 1. Cela retourne le
contenu de la variable de nom "premier".

enfin en VB je ne sais toujours pas comment faire ...


.



Avatar
Zoury
Salut!

Tu peux utiliser le Microsoft Script Control pour y parvenir...
http://groups.google.com/groups?threadm=%232mFRYzLCHA.1632%40tkmsftngp10

il existe aussi une api, mais je doute qu'elle soit distribuable car la dll
ne se trouve pas dans le fichier redist.txt.. de plus la fonction n'est ni
supporté, ni recommandé..
http://groups.google.com/groups?threadm=ukxs6ROuCHA.572%40TK2MSFTNGP12

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
wrote in message
news:0ec301c3b34c$cc071b10$
Merci Denis pour ta proposition, mais en fait ce n'est
pas exactement ça.
moi je cherche quelques chose comme ça :

foncionXXX("second") = 2

cette fonction évalue la variable passée en paramètre.
Je n'ai toujours pas trouvé :(

Merci encore Denis.

-----Message d'origine-----
Bonjour Bertrand,

Désolé je ne connais pas PHP, mais si je comprend un peu


ta question tu
cherches à obtenir la valeur numérique de ta chaîne. Si


c'est bien ça tu
peux utiliser la fonction Val

Val(maChaine) va te retourner 1

Par contre attention avec la fonction Val, si tu as des


valeurs décimale
dans ta chaîne avec une virgule comme séparateur


décimal, la fonction Val va
te retourner seulement la valeur à gauche de ta


décimale. La fonction Val
considère la virgule comme un caractère littérale et non


comme une décimale.
En fait Val te retourne seulement les chiffres qui


précède un caractère
littérale.

Exemple Val(1234D145) va te retourner 1234 comme


valeur
ou encore Val(154,458) va te retourner 154 comme


valeur
mais Val(1254.25) va te retourner 1254.25

J'espère que ça répond un peu à ta question

@ +

Denis P
"bertrand" a écrit


dans le message de
news:0a1701c3b33a$d74ba5c0$
Désolé en PHP eval(maChaine) retourne 1. Cela retourne le
contenu de la variable de nom "premier".

enfin en VB je ne sais toujours pas comment faire ...


.