Calcule d'une textbox

cs_Skeatwin Messages postés 25 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 19 juillet 2011 - 11 juin 2008 à 18:55
cs_Skeatwin Messages postés 25 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 19 juillet 2011 - 12 juin 2008 à 20:59
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

cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
11 juin 2008 à 19:44
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
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
11 juin 2008 à 19:54
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
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
11 juin 2008 à 19:56
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
0
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
11 juin 2008 à 20:06
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
11 juin 2008 à 20:07
Neo.balastik > excuse pour la faute sur ton nom.
0
cs_Skeatwin Messages postés 25 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 19 juillet 2011
11 juin 2008 à 20:55
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.
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 juin 2008 à 20:56
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
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 juin 2008 à 21:27
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
0
cs_Skeatwin Messages postés 25 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 19 juillet 2011
11 juin 2008 à 21:31
merci encor gillardg j'au effectivement trouvé mais je n'arrive pas a savoir quesque je dois prendre.
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 juin 2008 à 21:40
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
0
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
12 juin 2008 à 08:56
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
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
12 juin 2008 à 10:12
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
0
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
12 juin 2008 à 10:24
gillardg > Inutile ?????
compiler du code à la volée inutile ????
whaooo.... je reste sans voix
@+
Megafan
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
12 juin 2008 à 10:32
Megafan dans le cas ci dessus c'est inutile
dans d'autres cas c'est peut-être très utile
0
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
12 juin 2008 à 10:45
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
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
12 juin 2008 à 11:02
Mdr Megafan


mais bien sur que c'est  à skeatwin de choisir ce qu'il veut utiliser
0
cs_Skeatwin Messages postés 25 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 19 juillet 2011
12 juin 2008 à 20:59
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!! 
0
Rejoignez-nous