OmegaOff
Messages postés2Date d'inscriptionmardi 21 septembre 2021StatutMembreDernière intervention22 septembre 2021
-
Modifié le 22 sept. 2021 à 17:23
vb95
Messages postés3443Date d'inscriptionsamedi 11 janvier 2014StatutNon membreDernière intervention 7 décembre 2023
-
22 sept. 2021 à 22:12
Hello,
Je débute dans le vb et j'ai essayer de faire une "calculatrice" juste deux TextBox avec un Button pour additionner les 2 TextBox j'ai essayé de m'entraîner pour mes débuts mais je cale depuis tout à l'heure soit je tombe sur 0 quand je modifie le code soit ça me fait ex 1+2 = 12
Je connais l'erreur sauf que le button est dans une private sub donc comment puis-je réussir à entrer des variables qui se trouve à diffèrentes private sub.
Visual Studio me dit que nbun et nbdeux ne sont pas detecté..
Ma question : comment inclure mon TextBox1 et TextBox2 dans mon Button ?
De l'aide please x)
Voici le code :
Public Class Form1
Private Sub mybutton_Click(sender As Object, e As EventArgs) Handles mybutton.Click
Dim resultat As DialogResult ' MessageBox = Dialog
resultat = MessageBox.Show("Testons le boutons", "Apres la virgule le titre", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning)
If resultat = DialogResult.OK Then
MessageBox.Show("Ok !")
End If
End Sub
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
Dim nbun As Integer
nbun = Console.ReadLine()
End Sub
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
Dim nbdeux As Integer
nbdeux = Console.ReadLine()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim resm As Integer
resm = nbun + nbdeux
MessageBox.Show(resm)
End Sub
End Class
vb95
Messages postés3443Date d'inscriptionsamedi 11 janvier 2014StatutNon membreDernière intervention 7 décembre 2023165 Modifié le 22 sept. 2021 à 11:34
Bonjour
Attention aux termes employés : on n'additionne pas des Textbox . On additionne les valeurs numériques inscrites dans ces Textbox .
Le fait que tu obtiens parfois 1 + 2 = 12 vient du fait que l'opérande + a 2 rôles en VB Net
1 ) additionner 2 valeurs numériques : c'est l'addition classique
2) concaténer 2 variables de type String ( on préfère alors utiliser le & commercial comme opérande pour éviter toute confusion )
Dans ton projet tu utilises des TextBox : donc tu n'es plus en mode Console .
Pour lire le contenu d'un Textbox tu dois faire ainsi :
Dim ContenuText as String = Textbox1.Text
Attention c'est une variable de type String
A convertir en type Integer pour avoir la valeur numérique en Integer
vb95
Messages postés3443Date d'inscriptionsamedi 11 janvier 2014StatutNon membreDernière intervention 7 décembre 2023165 22 sept. 2021 à 14:15
Rebonjour
Pour ce qui concerne le fait que nbun et nbdeux ne sont pas détectés c'est parce ce sont des variables privées une dans la Sub TextBox1_TextChanged et l'autre dans la Sub TextBox2_TextChanged .
Donc la Sub Button2_Click qui fait le calcul ne les connait pas .
Il faut déclarer nbun et nbdeux comme variable privées pour toute la Form : voir le mot clé Private .
OmegaOff
Messages postés2Date d'inscriptionmardi 21 septembre 2021StatutMembreDernière intervention22 septembre 2021 22 sept. 2021 à 22:01
Hello,
Merci de votre réponse !
Cependant, j'aimerai savoir comment je pourrais évité que mon erreur car c'est toujours détecter ? Désolé d'en demander beaucoup ^^'
Voici le code +/- corriger :
Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
Dim nbun As Integer
nbun = Console.ReadLine()
End Sub
Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
Dim nbdeux As Integer
nbdeux = Console.ReadLine()
End Sub
Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim resm As Integer
resm = nbun + nbdeux
MessageBox.Show(resm)
End Sub
vb95
Messages postés3443Date d'inscriptionsamedi 11 janvier 2014StatutNon membreDernière intervention 7 décembre 2023165 22 sept. 2021 à 22:12
Bonjour
1) Je vous ai dit de ne pas utiliser le mode console .
2) les variables nbun et nbdeux qui représentent les valeurs numériques entrées sont toujours privées au niveau des Sub alors qu'elles devraient être privées au niveau de la Form .
3) les Textbox contenant une valeur de type String il fait faire la conversion en Integer pour affecter cette valeur à nbun ou nbdeux .
Cela ne sert à rien de mettre la charrue avant les bœufs : avant de faire un programme tout simple il faut d'abord se familiariser avec l'interface de VB Net puis assimiler les notions de variable avec leur différent type .
Suis les cours que je t'ai indiqué en les assimilant correctement : c'est la seule façon valable de progresser . ensuite tu pourras reprendre ton projet .
22 sept. 2021 à 14:15
Pour ce qui concerne le fait que nbun et nbdeux ne sont pas détectés c'est parce ce sont des variables privées une dans la Sub TextBox1_TextChanged et l'autre dans la Sub TextBox2_TextChanged .
Donc la Sub Button2_Click qui fait le calcul ne les connait pas .
Il faut déclarer nbun et nbdeux comme variable privées pour toute la Form : voir le mot clé Private .