Rajouter un chiffre dans une Textbox

Résolu
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008 - 24 déc. 2007 à 12:18
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008 - 29 déc. 2007 à 11:06
Bonjour, j'espère que je ne me suis pas trompé de Forum

J'essaye de créer une calculatrice pour ajouter dans un programme en VB2005. Seulement, si je met un code comme ceci :

Public

Class calculatrice

Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.ClickTextBox1.Text = 1

End
Sub

Private
Sub Button2_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button2.ClickTextBox1.Text = 2

End
SubEnd

Class

Il ne rajoute pas un chiffre après l'autre dans le TextBox, il met uniquement un seul chiffre. Pouvez-vous m'aider ?

Merci d'avance

18 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
24 déc. 2007 à 12:32
Salut

Alors pour les calculatrices c'est pas les exemples qui manque sur le
site tu devrais en trouver au moins 15 ou 20 sources

TextBox1.Text += 2
Ou
TextBox1.Text = TextBox1.Text +2

Deplus tu peux gagne un peux de code en codant
Et en 3 lignes tous tes chiffres sont codé
Apres du fait de meme pour les operateurs en 3 lignes + - * / doivent
etre codé.

PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, ButtonX.Click , ....(X de 2
à 9)

TextBox1.Text += CType(sender, Button).Text

End Sub

Bon courage
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
24 déc. 2007 à 12:44
Salut,

A defaut d'avoir de futur problème, je dirais que dans son cas précis, il devrait utiliser le carractère de concaténation : & , ainsi,

TextBox1.Text = TextBox1.Text & 2

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
3
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008
24 déc. 2007 à 12:49
Merci ça fonctionne
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
24 déc. 2007 à 14:08
Oui, d'accord avec exploreur, utilise & pour concaténer des chaînes plutôt que +, ça t'évitera bien des problèmes plus tard

 Pourapprendretoujoursplus!
0

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

Posez votre question
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
24 déc. 2007 à 14:10
(et je rajouterais aussi les guillemets pour  "2", et pas 2 ^^")

 Pourapprendretoujoursplus!
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008
24 déc. 2007 à 17:38
Merci pour ces conseils
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008
24 déc. 2007 à 19:16
J'ai une autre question : Pour calculer des Racines Carrées, comment faut-il faire ?
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
24 déc. 2007 à 19:24
Ca devrait être la commande sqrt() si je ne m'abuse... sinon, bah... une racine carrée, c'est une puissance 1/2, et le signe pour faire une puissance c'est ^   ...

 Pourapprendretoujoursplus!
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
24 déc. 2007 à 19:34
Vas faire un tour dans la bilbliotheque Math de dotnet
http://msdn2.microsoft.com/en-us/library/system.math_methods.aspx

Et tu trouveras surement plus de fonctions que tu le souhaites.
Et des exemples au passage


Bon courage
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008
25 déc. 2007 à 12:18
Merci
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008
26 déc. 2007 à 13:09
Voilà, j'ai encore un problème (à vrai dire, ça m'arrive souvent). Est-ce que le code ci-dessous est Correct ? Car VB2005 m'affiche une erreur :

Sub

CalculAN2()

Dim numAN
As
String

Dim numAC
As
String

Dim numMN
As
String

Dim numBC
As
StringnumAC = TextBox4.Text

numMN = TextBox5.Text

numBC = TextBox6.Text

numAN = Int(numMN * numAC) / Int(numBC)

LabelAN.Text = numAN
LabelDonc.Text "Donc AN " & numAN &
" cm"LabelAM.Text = TextBox1.Text

LabelAB.Text = TextBox2.Text

LabelAC.Text = TextBox4.Text

LabelMN.Text = TextBox5.Text

LabelBC.Text = TextBox6.Text

End
SubJ'essaye de faire en Sorte qu'il calcule  la Longueur AN pour le Théorème de Thalès. Merci d'avance.
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
26 déc. 2007 à 13:16
Salut,

3 trucs à changer:
>     numAN = val(numMN) * val(numAC) / val(numBC)
>     LabelAN.Text = str(numAN)>     LabelDonc.Text "Donc AN " & str(numAN) &
" cm"

(en espérant que val et str marchent aussi bien en VB2005 que ce qu'ils marchent en vb6 (ie: que c'est la même syntaxe :p))

 Pourapprendretoujoursplus!
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
26 déc. 2007 à 13:17
(Il faut bien que tu fasses la différence entre nombres et chaînes de caractères, c'est pas pareil... multiplier ou diviser des chaînes de caractères, ça n'a pas de sens, de même que concaténer des nombres...

 Pourapprendretoujoursplus!
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
26 déc. 2007 à 14:14
Salut

Pour info

Il faut éviter d'utiliser des fonctions de compatibilté de vb6
Il est recommandée d'utiliser

Ctype(textbox1.text,integer) ou ctype(textbox1, double)

A la place de val

et

Ctype(valeur, string) à la place de cstr

C'est plus sur et rapide que les fonctions de compatibilité
Je recommande de travailler en vb.net en explicit et strict à "on"
et de supprimer la référence à microsoft.compatibility.vb6

Ca donne une programmation, plus objet
surtout pour la manipulation des chaines et la gestion des types.

La syntaxe des fonctions vb6 est pour moi à banir des programmes vb.net.

Bon courage.
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008
26 déc. 2007 à 16:35
Merci, mais en Mettant String, sa fait des Arrondis à l'unité. Il faut mettre Decimal alors pour un resultat exact ?
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008
27 déc. 2007 à 10:18
Salut,
Ce code ne marche pas, pourtant j'ai fait les modifs que vous avez dites :

Sub

CalculAM1()

Dim numAM
As
StringnumAM =

CType(TextBox2.Text,
Integer) *
CType(TextBox3.Text,
Integer) /
CType(TextBox4.Text,
Integer)LabelAM.Text =

CType(numAM, String)LabelDonc.Text "Donc AM " &
CType(numAM,
String) &
" cm"LabelAB.Text = TextBox2.Text

LabelAN.Text = TextBox3.Text

LabelAC.Text = TextBox4.Text

LabelMN.Text = TextBox5.Text

LabelBC.Text = TextBox6.Text

End
Sub
Que faut-il changer ? Merci.

 Dri60
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
27 déc. 2007 à 13:59
Salut

Ou est l'erreur?

Et numAM a est de type double ou decimal mais pas string en tout cas.

Tu as un debogueur puissant avec dotnet
tu mets un point d'arret et tu regarde le contenu des variables
ajout un espion / add watch
et dans la fenetre local il y a les variables en cours aussi
en fonction des exceptions levées tu trouveras surement d'ou vient le probleme.

Bon courage
0
Dri60 Messages postés 68 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 17 novembre 2008
29 déc. 2007 à 11:06
Ok Merci. Sinon, je demande toutes ces Choses pour Faire un Programme qui résoud les Problèmes de Maths  Si vous avez des idées, n'hésitez pas

 Dri60
0
Rejoignez-nous