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

Résolu/Fermé
Anonyme209 Messages postés 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 - 29 sept. 2014 à 17:35
 Utilisateur anonyme - 1 oct. 2014 à 14:10
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
29 sept. 2014 à 17:42
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 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 15
29 sept. 2014 à 17:45
Bonjour,

je n'ai pas encore testé, mais d'où sort le 17 (ligne 2 du code)
0
Utilisateur anonyme
29 sept. 2014 à 17:46
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 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 15
29 sept. 2014 à 17:56
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 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 15
29 sept. 2014 à 18: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
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 678 Date d'inscription samedi 6 octobre 2012 Statut Membre Dernière intervention 22 décembre 2020 15
29 sept. 2014 à 18:22
Par contre, j'ai remplacé 17 = e.Evaluate() par juste e.Evaluate()
0