VB.Net: Effectuer directement le calcul d'une textbox

Résolu
Anonyme209 Messages postés 681 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,

je viens poser cette question ici car je n'ai pas trouvé la réponse en faisant des recherches.
Je ne suis pas sûr que ce que je vais demander soit possible, mais je demande quand-même
Je voudrais savoir, en visual basic, si on pouvait effectuer directement le calcul inscrit dans une textbox (par exemple textbox1.text = "8*5+3.5/(-5)")
Lorsque l'on appuierait sur un bouton, la textbox afficherait directement le résultat, soit ici -8.7.
Avec
TextBox1.Text = Calcul(TextBox1.Text)

C'est quelque chose comme ça que je voudrais faire, mais avec une fonction qui marche (même s'il faut la rajouter manuellement.)
A voir également:

2 réponses

Utilisateur anonyme
 
Bonjour,

Dim e As Expression = new Expression("2 + 3 * 5")
Msgbox(17 = e.Evaluate())


Source : https://stackoverflow.com/questions/13178637/evaluate-mathematical-expression-from-a-string-using-vb
1
Anonyme209 Messages postés 681 Date d'inscription   Statut Membre Dernière intervention   16
 
Bonjour,

je n'ai pas encore testé, mais d'où sort le 17 (ligne 2 du code)
0
Utilisateur anonyme
 
Je me suis posé la même question ... n'ayant plus VB je n'ai pas pu tester et je n'ai pas voulu modifier le texte de la source ^^
0
Anonyme209 Messages postés 681 Date d'inscription   Statut Membre Dernière intervention   16
 
Petits problèmes:

-La variable ne peut pas être nommée 'e', car déjà dans le sub (j'ai modifié le nom par test)
-Le type Expression est introuvable, j'ai essayé Expressions.Expression, mais l'erreur "New cannot be used on a class that is declared 'MustInherit'" s'affiche
- test.Evaluate ne fonctionne donc pas

Merci de votre aide
0
Anonyme209 Messages postés 681 Date d'inscription   Statut Membre Dernière intervention   16
 
Je n'ai rien dit, c'est mieux en ajoutant la référence NCalc.
Ca marche à merveille (il faut toujours remplacer le nom de la variable "e" par autre chose)
0
Utilisateur anonyme
 
La référence à NCalc est indiquée sur le lien que je t'ai proposé, j'aurais dû copier / coller plus large ^^ par contre je ne sais toujours pas ce que vient faire le 17 avant le Evaluate ... lol

Super que ton pb soit résolu
0
Anonyme209 Messages postés 681 Date d'inscription   Statut Membre Dernière intervention   16
 
Par contre, j'ai remplacé 17 = e.Evaluate() par juste e.Evaluate()
0