Récuperer une formule écrite dans un textbox

pito85 Messages postés 1 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 19 juillet 2009 - 19 juil. 2009 à 19:26
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 19 juil. 2009 à 22:53
Bonjour tous le monde,
Voilà mon problème : j'aimerais récupérer une formule (avec variable) entrée par un utilisateur dans une Textbox et pouvoir ensuite calculer cette formule avec des valeurs différentes pour la variable.
Voici le projet
- Textbox1 'pour entrer la formule
- Textbox2 'pour donner la valeur à la variable
- Button1
- Textbox3 'Résultat de la formule calculé avec la valeur donnée à la variable

Exemple
L'utilisateur entre la formule dans la première textbox
Textbox1.Text = (3 * X) - 6
L'utilisateur donne la valeur 4 à X
Textbox2.text = 4
L'utilisateur clic sur le button1 et le résultat apparait dans la troisième textbox

Donc
Private Sub Button1_click ..........
Textbox3.text = ????????????????
End Sub

Je n'ai aucune idée comment procéder. Le programme est plus complexe, mais il se résume à cela.
Merci à tout ceux qui peuvent m'aider.

2 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
19 juil. 2009 à 21:18
Salut,

C'est plus difficile que tu le penses.
A moins que ca existe depuis disponible en dotnet.

Il faut soit creer un arbre de calcul comme ca des compilateur.
Ou
soit passer par de la reflexion et de la création d'assembly dynamique.
cf code project

il y a peut etre mieux (lire les commentaires de la source)

Bon courage.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
19 juil. 2009 à 22:53
salut,

ta demande correspond à la fonction EVAL de VBA
n'existe pas en VB6 (voir les fonctions maison), je ne sais pas pour VB.NET

voir EVAL dans les sources, sinon s'inspirer peut-être de celles en VB6
++
[hr]
0
Rejoignez-nous