Calcule d'une textbox

Signaler
Messages postés
25
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
19 juillet 2011
-
Messages postés
25
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
19 juillet 2011
-
Bonjour!!
J'ai un problème avec le calcule d'une textbox. Je m'explique: Je veut fabriquer un programme de calcule avec 2 textbox. Une qui pend tout ce que l'utilisateur entre (par ex: (59/89)*(65+2)), et l'autre qui affiche le résultat. mais quand je fais:
x = TextBox1.Text

TextBox2.Text = x

il m'affiche dans textbox2 ce qu'il a entrer. Et je voudrai que le programme calcule tout ce qu'il y a dans la textbox1 et l'affiche dans la textbox2 quand on clique sur un boutton.

Merci de votre aide.

17 réponses

Messages postés
389
Date d'inscription
dimanche 7 avril 2002
Statut
Membre
Dernière intervention
23 septembre 2016
2
SAlut,
Je ne crois pas qu'une telle fonction existe en .NET
Le truc utlisé  est la compilation à la volée

http://www.csharpfr.com/code.aspx?ID=24886
ou
http://www.vbfrance.com/codes/EVALUER-EXECUTER-CHAINE-TANT-CODE_45206.aspx

C'est un truc de taré mais incroyablement efficace......

@+
Megafan
Messages postés
797
Date d'inscription
jeudi 17 mai 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
Salut ;O)

Si ajouter une référence ne te dérange pas, l'objet Microsoft ScriptControl fait cela sans problème.

'En VB6
Dim oSC As ScriptControl

Set oSC = New ScriptControl
oSC.Language = "VBScript"
Me.Text2.Text = oSC.Eval(Me.Text1.Text)

Guy
Messages postés
797
Date d'inscription
jeudi 17 mai 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
Re ;O)))

Je remets le code avec sauts de ligne :

Dim oSC As ScriptControl
Set oSC = New ScriptControl
oSC.Language = "VBScript"
Me.Text2.Text = oSC.Eval(Me.Text1.Text)

Guy
Messages postés
389
Date d'inscription
dimanche 7 avril 2002
Statut
Membre
Dernière intervention
23 septembre 2016
2
Neo.balasik > Salut, Microsoft sciptcontrol c'est quel espace de nom ? ou c'est un com ?
Merci ça peut etre aussi très interessant.
@+
Megafan
Messages postés
389
Date d'inscription
dimanche 7 avril 2002
Statut
Membre
Dernière intervention
23 septembre 2016
2
Neo.balastik > excuse pour la faute sur ton nom.
Messages postés
25
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
19 juillet 2011

merci pour vos réponce mais pour neo.balastik, visual basique 2008 express edition me dit que

ScriptControl n'est pas définie.
Merci encors de m'aider.
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
si tu cherches une fonction d'évaluation d'expressions Mathématiques :
http://www.vbfrance.com/codes/RTFEDIT-EDITEUR-TEXTE-AVANCE-AVEC-PLEIN-FONCTIONS-UTILES_46804.aspx
il y en a une dedans
faut fouiller c'est très brouillon
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
la classe qui t'interresse c'est calc.vb  20KB trop lourd pour poster dans le forum


et non MEGAFAN faut pas faire de compilation à la volée pour évaluer une simple expression math
Messages postés
25
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
19 juillet 2011

merci encor gillardg j'au effectivement trouvé mais je n'arrive pas a savoir quesque je dois prendre.
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
tu mets la classe en entier dans ton projet
 et puis tu l'utilises :
Try

Dim calc
As
New mcCalc()

tbResult.Text= calc.evaluate(tbCalcul.Text)
calc =
Nothing

Catch ex
As Exception


MessageBox.Show(Err.Number & Err.Description)



End



Try
Messages postés
389
Date d'inscription
dimanche 7 avril 2002
Statut
Membre
Dernière intervention
23 septembre 2016
2
gillarrdg > 'et non MEGAFAN faut pas faire de compilation à la volée pour évaluer une simple expression math'
Ah , et pourquoi ne pourrais on pas le faire
J'ai justement converti le code c#, et ça marche très bien.
Bon il est vrai que c'est compliqué (bien que beaucoup plus puissant) mais ça fonctionne désolé.
@+
Megafan
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
bne oui ça fonctionne , mais c'est inutile,
Microsoft Script Control aussi ça fonctionne
mais puisqu'il existe une classe écrite en vb pour faire le boulôt
Messages postés
389
Date d'inscription
dimanche 7 avril 2002
Statut
Membre
Dernière intervention
23 septembre 2016
2
gillardg > Inutile ?????
compiler du code à la volée inutile ????
whaooo.... je reste sans voix
@+
Megafan
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
Megafan dans le cas ci dessus c'est inutile
dans d'autres cas c'est peut-être très utile
Messages postés
389
Date d'inscription
dimanche 7 avril 2002
Statut
Membre
Dernière intervention
23 septembre 2016
2
gillardg > tu peux peut-etre laisser à skeatwin le choix de la méthode ?
S'il veux utiliser une classe de plusieurs centaines de lignes ou 20 lignes de codes pour une compilation à la volée, il est libre de choisir...
N'est-ce pas toi qui disait hier 'La plus grave maladie du cerveau, c'est de réfléchir;'
Personellement je crois que ce post tourne en pulgilat suite à ma remarque d'hier.
Donc à nouveau je m'excuse si je t'ais offusqué, je ne faisais qu'd'exprimer mon sentiment suite aux dernieres sources publiées..
@+
Megafan
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
Mdr Megafan


mais bien sur que c'est  à skeatwin de choisir ce qu'il veut utiliser
Messages postés
25
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
19 juillet 2011

Merci mille foit a toi gillardg, j'ai trouver effectivement le code et j'ai pu en réinventer un plus puisant. Merci a vous tous et vive le VB!!