gub156
Messages postés19Date d'inscriptionvendredi 25 janvier 2013StatutMembreDernière intervention 4 septembre 2014
-
18 mai 2010 à 10:07
gub156
Messages postés19Date d'inscriptionvendredi 25 janvier 2013StatutMembreDernière intervention 4 septembre 2014
-
27 mai 2010 à 13:26
Bonjour,
Je suis débutant en Visual C++ et j'ai quelques problèmes avec une textbox. J'ai parcouru pas mal de forums, googler pas mal aussi, mais je n'arrive à rien du tout.
Alors voici mon problème: dans une textbox je dois rentrer une valeur (numérique uniquement). Après avoir entrer cette valeur, je voudrais effectuer quelques calculs et c'est là que je bloque. Impossible de récuperer cette fichue variable. J'ai essayer GetWindowText, ou d'autres fonctions conseillées dans des forums, mais rien n'y fait.
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 20218 27 mai 2010 à 11:20
Bonjour,
Autant pour moi , car je suis sous C# en ce moment. J'ai créé un petit projet pour me remettre dans le bain et voici :
int^ valeurAltitude = Convert::ToInt32(this->textBoxAltitude.Text);
gub156
Messages postés19Date d'inscriptionvendredi 25 janvier 2013StatutMembreDernière intervention 4 septembre 2014 27 mai 2010 à 13:26
Merci beaucoup pour ton aide Louis14. Ta fonction est effectivement fonctionnelle à un petit détail près. Il faut remplacer le .Text par ->Text comme suit:
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 20218 18 mai 2010 à 10:21
Bonjour,
Tu travailles avec quelle version de VC++?
Avec VC++ 6.0 il faut utiliser le classwizard pour ajouter une variable .
Pour les versions ultérieures, il click droit sur la classe de ta boite de dialogue et choisir le menu ajouter une variable. Dans la nouvelle boite de dialogue choisir variable de contrôle et selectionner l'ID de ta textbox.
louis
Vous n’avez pas trouvé la réponse que vous recherchez ?
gub156
Messages postés19Date d'inscriptionvendredi 25 janvier 2013StatutMembreDernière intervention 4 septembre 2014 18 mai 2010 à 10:33
Merci pour ces premiers conseils. Je travaille avec Visual C++ 2008. Ma question sera peut être bête, mais à quoi correspond la classe sur laquelle je suis sensé cliquer???
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 19 mai 2010 à 15:46
Salut,
GetWindowText() te permet de récupérer le texte du textbox. Elle prend en paramètre le HWND du texbox, un pointeur sur le buffer qui contiendra le texte et une valeur indiquant la taille du buffer. Si les trois paramètres sont valides il n'y a aucune raison pour que la fonction ne marche pas. Il faudra juste ensuite convertir le texte en entier avec une fonction du genre atoi().
GetDlgItemInt() te permet de récupérer directement la valeur numérique du textbox. Cette fonction à besoin de l'identificateur du textbox comme deuxième paramètre.
gub156
Messages postés19Date d'inscriptionvendredi 25 janvier 2013StatutMembreDernière intervention 4 septembre 2014 26 mai 2010 à 15:09
Rebonjour à tous,
Merci pour votre aide, mais malheureusement, je n'arrive toujours pas a dompter cette satanée fonction. Qu'est ce que c'est que ce HWND? Est-ce que le pointeur contenant le texte est un pointeur déjà déclaré par défaut ou dois-je le déclaré moi-même? Finallement, qu'est ce que l'dentificateur du textbox? Où est-ce que cela se trouve?
Si quelqu'un a un exemple à mettre à disposition, je lui serait très reconnaissant.
gub156
Messages postés19Date d'inscriptionvendredi 25 janvier 2013StatutMembreDernière intervention 4 septembre 2014 26 mai 2010 à 21:27
Merci beaucoup pour cette information. Comme je le disait dans le message précédent, je ne sais pas où trouver cette information et je ne suis pas informaticien.
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 20218 27 mai 2010 à 09:16
Rebonjour,
selon ton besoin il faut utiliser :
type_voulu = type_voulu.Parse(Ma_TextBox.Text);
avec type_voulu : int, decimal, double en fonction de ton besoin et Ma_text_box le nom de la textbox dont tu veux récupérer la valeur.
Tu peux aussi utiliser TryParse si tu n'es pas trop sûr de la string dans ta textbox.
Cherche de l'aide sur MSDN ou internet pour es mot-clés de .NET : Parse, TryParse.
gub156
Messages postés19Date d'inscriptionvendredi 25 janvier 2013StatutMembreDernière intervention 4 septembre 2014 27 mai 2010 à 09:23
Bonjour,
Voilà l'endroit dans lequel j'aimerais intégrer la valeur de ma textbox. La valeur sera en fait une altitude et pour l'instant, je fais mon calcul avec une valeur fixe (ici 430). La valeur de la textbox remplacerait donc les valeurs 430 * 430.
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 20218 27 mai 2010 à 09:28
Bonjout,
Dans ce cas il te faut cela :
int valeurAltitude = int.TryParse(this->textBoxAltitude.Text);
et valeurAltitude contiendra ta valeur.
Pour un double:
double valeurAltitude = double.TryParse(this->textBoxAltitude.Text);
Bon codage.