Probléme de TextBox

Résolu
simo5963 Messages postés 127 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 24 mars 2009 - 5 nov. 2007 à 19:08
simo5963 Messages postés 127 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 24 mars 2009 - 6 nov. 2007 à 18:21
j'ai une probléme avec la zone de text TextBox
j'ai entraint de implémenté un jeu en vb.net,le programme demand a utilisateur de saisie
une formule de calcule par exemple [ ((9+1)/2)*2]
ceci va saisi dans le textbox,mais elle consédire comme une string
je veux une the methode posséde comme parametre un srting et me retourne un valeur numérique


par exemple   s= ( (9+1)/2 )*3 elle me retourne 15, y a t-il des methodes prédéfinie?
Merci d'avance

6 réponses

bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
5 nov. 2007 à 19:19
Salut,

le Val pour un String>valeur
le CStr pour valeur>String

s= Val (( (9+1)/2 )*3)
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 nov. 2007 à 19:16
Salut                      

Regarde dans l'aide de .Net qui parle des 'expressions régulières'
Sinon, parmi les sources ou dans le forum, c'est un sujet qui revient fréquemment.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 nov. 2007 à 19:37
Ah bah oui, je suis bête !
BricoEye a raison, un Val suffit amplement puisqu'il n'y a pas de variables.
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
5 nov. 2007 à 20:19
Bonsoir à tous,

Je serais tenté de dire, qu'il faut peut-être prendre en compte un possible résulat décimal, donc attention au point et la virgule, perso(je peux me trompé), je rajouterais un replace :

s = Replace(Val(((9 + 1) / 2) * 3), ",", ".")
A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

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

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 nov. 2007 à 08:16
Salut,
Je suis d'accord que s = Val((( 9 + 1) / 2) * 3) donnera bien 15

Mais si la formule est entrée dans un textbox ( => Chaine de caractere) cela ne fonctionnera plus.

s = Val("((9 + 1) / 2) * 3")  ne retourne pas 15. (en tout cas pas chez moi)

En VB6 il est possible d'utiliser Microsoft Script Control pour calculer le resultat d'une formule, mais en .NET il y a sûrement qqch de bien plus simple.

@+: Ju£i?n
Pensez: Réponse acceptée
0
simo5963 Messages postés 127 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 24 mars 2009 1
6 nov. 2007 à 18:21
Merci a tout le monde pour leur solutions;
Mais BricoEye ma donne la solution de val, je vais essaye mais ça ne marche pas:
voilà le principe de problème
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>





Note
 : On concéderons les parenthèses







Code vb.net






Public Class Form2
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Label1.Text = Val(Me.TextBox1.Text)
   

End Sub



End Class

Capture
    

Merci d'avance
0
Rejoignez-nous