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

Résolu
Anonyme209 Messages postés 761 Statut Membre -  
 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.)

2 réponses

  1. Anonyme209 Messages postés 761 Statut Membre 19
     
    Bonjour,

    je n'ai pas encore testé, mais d'où sort le 17 (ligne 2 du code)
    0
    1. 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
    2. Anonyme209 Messages postés 761 Statut Membre 19
       
      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
    3. Anonyme209 Messages postés 761 Statut Membre 19
       
      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
    4. 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
    5. Anonyme209 Messages postés 761 Statut Membre 19
       
      Par contre, j'ai remplacé 17 = e.Evaluate() par juste e.Evaluate()
      0