[VC++] Afficher un numbre dans un MessageBox

Afficher un numbre dans un MessageBox [VC++] - C++ - Programmation

Marsh Posté le 24-04-2003 à 15:20:07    

Bonjour,
 
Pour des raisons de tests, je voudrais en plein milieu de mon programme Visual C++ afficher à l'écran (MessageBox) un nombre, par exemple situé dans une variable temp...
 
Le problème est que MessgeBox n'accepte qu'un char* comme argument (ontrairement au msgBox du VB).
 
Y aurait il un moyen simple d'afficher mon nombre sans avoir à faire de multiples conversions  manuellement en int -> char*? (et sans passer par le debug non plus)
 
Merci,
 
Yoyo*


---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le 24-04-2003 à 15:20:07   

Reply

Marsh Posté le 24-04-2003 à 15:23:40    

Si tu utilises les MFC :
 
- Tu créé un objet CString qui contiendre le texte de ta box
- Tu utilises la méthode Format de cet objet pour formatter ton nombre : CString.Format("%i",n)
- Tu passes la CString en paramètre de Message Box
 
Sinon, tu utilises _itoa()


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-04-2003 à 15:26:17    

non.
dtc.

Reply

Marsh Posté le 24-04-2003 à 15:27:29    

Konar a écrit :

non.
dtc.
 


 
 :lol:

Reply

Marsh Posté le 24-04-2003 à 15:27:52    

Essayes .toString()
 
ca passe en C# ... maintenant, en VC6...

Reply

Marsh Posté le 24-04-2003 à 15:34:04    

ToxicAvenger a écrit :

Essayes .toString()


C'est une méthode de Object, appartenant à .NET


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-04-2003 à 15:42:02    

j'ai trouvé :
 

Code :
  1. int nb = 4258425;
  2. MessageBox(0, (char*)&nb, "", 0);


 
bon ca te l'affiche en codes ascii mais c'est deja ca.
(t'as ka connaitre la table par coeur aussi)
 
evite qd meme les trop gros nombres, sinon ca va depasser et ca va t'afficher plein de trucs en trop (et si ca plante c'est normal aussi).
 
tant pis.
t'as ka faire une macro. ou repasser au vb.

Reply

Marsh Posté le 24-04-2003 à 15:46:10    

Harkonnen a écrit :

Si tu utilises les MFC :
 
- Tu créé un objet CString qui contiendre le texte de ta box
- Tu utilises la méthode Format de cet objet pour formatter ton nombre : CString.Format("%i",n)
- Tu passes la CString en paramètre de Message Box
 
Sinon, tu utilises _itoa()


 
Merci, ca me parait etre la réponse la plus appropriée...
 
J'ai aussi voulu employer la fonction itoa, mais ça ne marchait pas... Alors, j'ai appuyé sur F1 pour avoir de plus amples infos, et là, VC me dit que MSDN n'est pas installé... Savez vous ou je pourrais trouver MSDN? Il me semble que ca se télécharge sur le site de Microsoft, mais je n'ai aps trouvé !
 
Merci,
 
Yoyo*


---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le 24-04-2003 à 15:47:48    

Yoyo@ a écrit :


 Savez vous ou je pourrais trouver MSDN? Il me semble que ca se télécharge sur le site de Microsoft, mais je n'ai aps trouvé !
 
Merci,
 
Yoyo*


 
msdn.microsoft.com
 
y en a pour 2 Go (au moins)

Reply

Marsh Posté le 24-04-2003 à 15:51:32    

Konar a écrit :

j'ai trouvé :
 

Code :
  1. int nb = 4258425;
  2. MessageBox(0, (char*)&nb, "", 0);


 
bon ca te l'affiche en codes ascii mais c'est deja ca.
(t'as ka connaitre la table par coeur aussi)
 
evite qd meme les trop gros nombres, sinon ca va depasser et ca va t'afficher plein de trucs en trop (et si ca plante c'est normal aussi).
 
tant pis.
t'as ka faire une macro. ou repasser au vb.
 


 
tu portes bien ton pseudo, félicitations  :sarcastic:


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 24-04-2003 à 15:51:32   

Reply

Marsh Posté le 24-04-2003 à 15:52:56    

Tetragrammaton IHVH a écrit :


 
tu portes bien ton pseudo, félicitations  :sarcastic:  


 
merci

Reply

Marsh Posté le 24-04-2003 à 15:54:28    


char tagada[20];
sprintf(tagada,"%d",tonEntier)
messageBox avec tagada
 
 
(oui je sais, depassement truc machin bidule pas beau)

Reply

Marsh Posté le 24-04-2003 à 16:09:26    

Code :
  1. int nb = 4258425;
  2. MessageBox(0, (char*)&nb, "", 0);


 
le carnage ... ya pas mieux pour faire planter le prog : violation d'accès mémoire si jms ya pas un 0... Puis pour la lisibilité c top ... (sans compter que sur un PC les octets sont a l'envers pour coder un nb...)


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 24-04-2003 à 16:14:07    

le sprintf c encore le mieux :o

Reply

Marsh Posté le 24-04-2003 à 16:17:37    

BlackGoddess a écrit :

Code :
  1. int nb = 4258425;
  2. MessageBox(0, (char*)&nb, "", 0);


 
le carnage ... ya pas mieux pour faire planter le prog : violation d'accès mémoire si jms ya pas un 0... Puis pour la lisibilité c top ... (sans compter que sur un PC les octets sont a l'envers pour coder un nb...)


 
c'est parfait koi...
 
bon faut remplacer le
     int nb = 4258425;  
par
     int nb[] = {4258425, 0};
 
ca evitera la violation d'accès !!!
 
 

Reply

Marsh Posté le 24-04-2003 à 16:30:17    


On peut savoir quelle mouche te pique ? Encore une remarque à la con et t'iras cracher ton venin chez les télétubbies !


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 24-04-2003 à 16:54:47    

Harkonnen a écrit :


On peut savoir quelle mouche te pique ? Encore une remarque à la con et t'iras cracher ton venin chez les télétubbies !


 
Trop de questions débiles, et trop de réponses débiles.
Le monsieur demandait si c'etait possible "sans avoir a faire de multiples conversions manuellement", et la réponse était bien non. (le "dtc" etait ptet de trop)
 
La "remarque la moins a la con" (mais qd meme débile) serait de lui repondre de rajouter dans un .h de son projet :
 

Code :
  1. int MessageBox(HWND hWnd, int nb, LPCTSTR lpCaption, UINT uType)
  2. {
  3. TCHAR str[16];
  4. sprintf(str, "%i", nb);
  5. return MessageBox(hWnd, str, lpCaption, uType);
  6. }


 
.

Reply

Marsh Posté le 24-04-2003 à 17:26:32    

Konar a écrit :


 
msdn.microsoft.com
 
y en a pour 2 Go (au moins)


 
2Go???
 
Hmmm, on n'a pas du se comprendre...
 
En fait, ce que je voudrais, ce serait simplement télécharger l'aide de Visual C++ 6. Une aide qui incluttous les mots clefs, etc...
 
Rien de plus...
 
Genre, je tape "sprintf" dans l'aide, et il me dit ce que c'est... (car je ne sais aps ce qu'est sprintf moi... JE suis originaire du C++...je connais que le printf! Ce n'est qu'un exemple !)
 
So...?
 
Yoyo*


---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le 24-04-2003 à 17:33:35    

Yoyo@ a écrit :


 
En fait, ce que je voudrais, ce serait simplement télécharger l'aide de Visual C++ 6. Une aide qui incluttous les mots clefs, etc...
 
Rien de plus...
 
So...?
 
Yoyo*


 
aaaaah ok.
 
http://msdn.microsoft.com/library/
 
tu tapes sprintf dans le champs en haut a gauche et ca va te repondre.

Reply

Marsh Posté le 24-04-2003 à 17:42:31    

Konar a écrit :


 
aaaaah ok.
 
http://msdn.microsoft.com/library/
 
tu tapes sprintf dans le champs en haut a gauche et ca va te repondre.


 
mais y a pas un truc téléchargeable, sans que j'ai besoin d'accéder au Net? J'avais ça pour Java je me rappelle, et je suis quasi certain que ca existe pour VC++...
 
Quand je clique sur Help, il me dit "The MSDN Collection does not exist, please reinstall MSDN"...
 
Yoyo*


---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le 24-04-2003 à 17:50:36    

ben en principe, t'as le MSDN complet du moment livré avec ton compilateur.  qu'en as-tu fait? :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 24-04-2003 à 18:49:04    

Yoyo@ a écrit :


 
mais y a pas un truc téléchargeable, sans que j'ai besoin d'accéder au Net? J'avais ça pour Java je me rappelle, et je suis quasi certain que ca existe pour VC++...
 
Quand je clique sur Help, il me dit "The MSDN Collection does not exist, please reinstall MSDN"...
 
Yoyo*


 
Tu n'as pas du installer MSDN. Il te le demande au moment de l'install de VC++ mais tu peux l'ajouter quand tu veux.


Message édité par Tetragrammaton IHVH le 24-04-2003 à 18:49:19

---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 24-04-2003 à 18:57:58    

Tetragrammaton IHVH a écrit :


 
Tu n'as pas du installer MSDN. Il te le demande au moment de l'install de VC++ mais tu peux l'ajouter quand tu veux.


 
Comment je fais? Quand je vais dans Panneau de conf->Installation de programme->Microsoft Visual C++->Modifier, je ne trouve pas MSDN ! Sinon, vous savez pas si ca se télécharge?
 
Yoyo*


---------------
It's nice to be important, but it's more important to be nice
Reply

Marsh Posté le 24-04-2003 à 19:03:28    

Yoyo@ a écrit :


 
Comment je fais? Quand je vais dans Panneau de conf->Installation de programme->Microsoft Visual C++->Modifier, je ne trouve pas MSDN ! Sinon, vous savez pas si ca se télécharge?
 
Yoyo*


 
 :heink: Tu insères le CD1 de la MSDN et tu lances l'autorun.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 24-04-2003 à 23:08:21    

Yoyo@ a écrit :

Bonjour,
 
Pour des raisons de tests, je voudrais en plein milieu de mon programme Visual C++ afficher à l'écran (MessageBox) un nombre, par exemple situé dans une variable temp...
 


 
hop, je pourris une derniere fois ce topic inutile :
Utilises plutot les OutputDebugString(), c'est bien plus pratique que d'afficher des MsgBox.
 
http://www.sysinternals.com/ntw2k/ [...] view.shtml
(y a meme une version pour alpha)

Reply

Marsh Posté le 25-04-2003 à 01:10:53    

sprintf ... résolument  :p

Reply

Marsh Posté le 25-04-2003 à 08:23:03    

perso je balance tout dans un fichier log, mes fenêtres debug ont un buffer limité :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 25-04-2003 à 11:39:04    

drasche a écrit :

perso je balance tout dans un fichier log, mes fenêtres debug ont un buffer limité :/


 
Une fois j'avais oublié de fermer le debugview sur un server que j'avais créé, 1 semaine apres => le debugview prenait 300 Mo en ram.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed