Equivalent en VB de {$var} en PHP [Résolu]

Signaler
Messages postés
7
Date d'inscription
mercredi 28 avril 2004
Statut
Membre
Dernière intervention
9 août 2004
-
jpthomasset
Messages postés
95
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
20 avril 2010
-
Bonjour,
je cherche une fonction toute bete en VB qui sert
à considerer le contenu d'une variable comme une
variable en soit.
En PHP on utilise {$variable}.

Exemple (il est faux, je sais, j'ai essayé...) :

Dim var1, var2 as string

Sub Machin()

var2 = "Ploum"
var1 = "var2"

{var1} = "Pas Ploum36"

lbl.caption = var2

End Sub

Et là ... magie, le label affiche "Pas Ploum36"
et var1 contient toujours la chaine "var2".

Sauf que ça marche pas [:-(]

Donc si quelqu'un sait traduire ces foutus {} en VB ...
Je lui en serai tres reconnaissant !

5 réponses

Messages postés
95
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
20 avril 2010

Salut,

La solution la plus simple est d'utiliser Microsoft Script Control. Tu peux alors évaluer des expressions complexes assez facilement.

Voila un exemple que j'avait fait en reponse à une question similaire : c'est juste un formulaire avec deux textbox, un bouton et un controle MSSCript. Le premier textbox contient l'expression à évaluer.

Dim m_Module As MSScriptControlCtl.Module

Private Sub Form_Load()
' Create a new module
Set m_Module = ScriptControl1.Modules.Add("Module 1")
' Define some constant
m_Module.AddCode "Const Base =100"
' Declare a Variable
m_Module.AddCode "Private HRA"
' Set it's default value
m_Module.ExecuteStatement "HRA=0"
End Sub

Private Sub Command1_Click()
' Execute the statemente for ex : HRA = Base *0.2
m_Module.ExecuteStatement Text1.Text
' Put the result in textbox 2
Text2.Text = m_Module.Eval("HRA")
End Sub


A+,
JP.
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 135 internautes nous ont dit merci ce mois-ci

Messages postés
7
Date d'inscription
mercredi 28 avril 2004
Statut
Membre
Dernière intervention
9 août 2004

Merci de t'as réponse, elle me sera super utile vu qu'elle est beaucoup plus complette que ce a quoi je m'attendai. Je penssais pas qu'on pouvait evaluer une expression en VB.

Parcontre je ne vois pas bien la différence entre :
m_Module.ExecuteStatement
et
m_Module.AddCode

Après ça, c'est promis je t'embete plus ;-)

@+
Messages postés
7
Date d'inscription
mercredi 28 avril 2004
Statut
Membre
Dernière intervention
9 août 2004

Et aussi ce serai pas plutot :

Dim m_Module As MSScriptControl.Module
au lieu de
Dim m_Module As MSScriptControlCtl.Module
Messages postés
95
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
20 avril 2010

Salut,

Ca ne m'embete pas :-).
Pour ta question, AddCode permet de déclarer une variable ou definir une fonction/procédure alors que ExecuteStatement permet d'executer une commande dans le contexte du module (par exemple executer une fonction ou dans mon cas un calcul).

A+,
JP
Messages postés
95
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
20 avril 2010

Chez moi c'est pas MSScriptControl.Module, mais bien MSScriptControlCtl.
Mais je pense que ca dépend des versions : Microsoft aime bien ne pas garder de compatibilité, ca doit etre pour justifier plus facilement les bugs ;-)

A+,
JP.