Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
828 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++/Windows] afficher une variable dans une messagebox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++/Windows] afficher une variable dans une messagebox

n°523347
iceteapech​e
www.iceteapeche.com
Posté le 25-09-2003 à 17:05:31  profilanswer
 

kikoo tous
 
voila un exemple tout bete : je stocke mon nom (Jojo) dans la variable Nom (char* ou tableau au choix) et apres je veux ecrire "Bonjour Jojo"
 
Mon pb : le texte a l'air completement prédéfini quand je le transmet a ma messagebox
 

Code :
  1. MessageBox(NULL,La j'aimerai placer ma phrase qui contient ma variable,"BONJOUR",MB_OK|MB_ICONEXCLAMATION);

 
 
c'est encore un truc de débutant mais faut bien apprendre.
 
Merci tous


Message édité par iceteapeche le 25-09-2003 à 17:09:58

---------------
Se souvenir des belles choses...
mood
Publicité
Posté le 25-09-2003 à 17:05:31  profilanswer
 

n°523350
chrisbk
-
Posté le 25-09-2003 à 17:10:30  profilanswer
 


 
 

Code :
  1. char *maVariable;
  2. ....
  3. MessageBox(NULL,maVariable,"BONJOUR",MB_OK|MB_ICONEXCLAMATION);

 

n°523351
iceteapech​e
www.iceteapeche.com
Posté le 25-09-2003 à 17:12:00  profilanswer
 

Ca ca marche si je n'ai que ma variable
 
si je veux faire un truc du genre en C :
 
printf("Kikoo %s",Nom)
 
c po possible ca?


---------------
Se souvenir des belles choses...
n°523384
theshockwa​ve
I work at a firm named Koslow
Posté le 25-09-2003 à 18:01:51  profilanswer
 

sstream ...
(sinon, sprintf si tu tiens à avoir exactement la même utilisation, mais ca reste du C)


Message édité par theshockwave le 25-09-2003 à 18:06:49
n°523401
iceteapech​e
www.iceteapeche.com
Posté le 25-09-2003 à 18:30:01  profilanswer
 

Code :
  1. MessageBox(NULL,sprintf("Bonjour %s",Nom),"BONJOUR",MB_OK|MB_ICONEXCLAMATION);

 
 
ca marche ca?


---------------
Se souvenir des belles choses...
n°523402
chrisbk
-
Posté le 25-09-2003 à 18:30:21  profilanswer
 

non
d'aileurs tu l'aurais vu si t'avais essayer
regarde de la doc sur sprintf

n°523403
gatorette
Posté le 25-09-2003 à 18:34:28  profilanswer
 

Tu peux également faire la chose Windows-style en utilisant la fonction FormatMessage et les ressources de messages.


---------------
each day I don't die is cheating
n°809447
lunarnet76
Posté le 29-07-2004 à 02:32:22  profilanswer
 

euh en faite on fait comment pour afficher simplement une variable genre  
int a=55;
afficher a dans une petite fenetre?
lol, c bo de débuter non?


---------------
!jb!
n°809466
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-07-2004 à 07:39:39  profilanswer
 

un truc du genre :

Code :
  1. ostringstream str;
  2. str << "ma variable a " << a;
  3. MessageBox(NULL, str.str().c_str(),....


---------------
Cordialement, Xterm-in'Hate...
n°809843
lunarnet76
Posté le 29-07-2004 à 12:34:44  profilanswer
 

euh c koi le nom de l'entete qui contient ostringstream???


---------------
!jb!
mood
Publicité
Posté le 29-07-2004 à 12:34:44  profilanswer
 

n°809852
lunarnet76
Posté le 29-07-2004 à 12:40:11  profilanswer
 

bouh ca marche pas, mon code c  
void CNewDlg::OnOK()  
{
 // TODO: Add extra validation here
 int a=66;
 ostringstream str;  
   str << "ma variable a " << a;  
 CDialog::MessageBox(NULL,oss.str().c_str(),MB_OK|MB_ICONEXCLAMATION);  
}
et ca met que ostringstream est "undeclared identifier"
c quoi mon probleme?


---------------
!jb!
n°809907
oliv5
Pourquoi ? Parce que !
Posté le 29-07-2004 à 13:36:45  profilanswer
 

Pour le sprintf :  
un ptit exemple en C (qui marchera dans ton code donc)
 
char buf[256];
sprintf(buf,"Mon entier est %d\n",mon_entier);
MessageBox(...,buf,...);
 
inconvénient : le dépassement de capacité doit etre possible si tu met plus de 256 caractères dans ton buffer, ce qui n'est pas le cas dans cet exemple (un entier, c 4 octets => en base 10, ya que 10 chiffres au max)! ATTENTION donc. Le mieux est alors de faire un malloc avec la bonne taille (et le free qui va avec).
 
Sinon, ca reste du C, ya mieux en C++ comme proposé plus haut.

n°809953
lunarnet76
Posté le 29-07-2004 à 14:09:48  profilanswer
 

oliv5 a écrit :

Pour le sprintf :  
un ptit exemple en C (qui marchera dans ton code donc)
 
char buf[256];
sprintf(buf,"Mon entier est %d\n",mon_entier);
MessageBox(...,buf,...);


euh ca marche mais le "mon entier est 5" s'affiche en tant que titre de la message box, comment on fait pour le mettre dedans???


---------------
!jb!
n°809955
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 29-07-2004 à 14:12:32  profilanswer
 

lunarnet76 a écrit :

euh ca marche mais le "mon entier est 5" s'affiche en tant que titre de la message box, comment on fait pour le mettre dedans???


et si tu regardais un peu les paramètres de MessageBox ? :o
 
http://msdn.microsoft.com/library/ [...] agebox.asp


Message édité par Harkonnen le 29-07-2004 à 14:13:21

---------------
J'ai un string dans l'array (Paris Hilton)
n°809962
lunarnet76
Posté le 29-07-2004 à 14:20:52  profilanswer
 

c simple le debugger dit que la fonction MessageBox ne prend pas 4 parametres, alors que sur msdn et partt ou j ai cherche ca en prend 4...
void CNewDlg::OnOK()  
{
 // TODO: Add extra validation here
 char buf[256];  
 int a=66;
 sprintf(buf,"Mon entier est %d",a);  
 CDialog::MessageBox(NULL,"cool",buf,MB_OK|MB_ICONEXCLAMATION);  
}


---------------
!jb!
n°809969
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 29-07-2004 à 14:25:46  profilanswer
 

lunarnet76 a écrit :

c simple le debugger dit que la fonction MessageBox ne prend pas 4 parametres, alors que sur msdn et partt ou j ai cherche ca en prend 4...
void CNewDlg::OnOK()  
{
 // TODO: Add extra validation here
 char buf[256];  
 int a=66;
 sprintf(buf,"Mon entier est %d",a);  
 CDialog::MessageBox(NULL,"cool",buf,MB_OK|MB_ICONEXCLAMATION);  
}


... ou l'art de mélanger Win32 et MFC ...
t'es en train de royalement te planter ! tu utilises la fonction MessageBox de CWnd qui prend 3 paramètres, alors que tu as consulté la doc de MessageBox pour Win32, qui prend effectivement 4 paramètres :pfff:


---------------
J'ai un string dans l'array (Paris Hilton)
n°809977
lunarnet76
Posté le 29-07-2004 à 14:28:14  profilanswer
 

oh #°§¬#mais qu est ce que j suis bete... NULL c la ou fo mettre le texte lol ...


---------------
!jb!
n°809982
HelloWorld
Salut tout le monde!
Posté le 29-07-2004 à 14:32:20  profilanswer
 

ostringstream c'est le mieux. sprintf c'est dangereux, pénible à gérer (taille du buffer, spécificateur de type %d %f...) et comme la cat c'est C++, autant donner une solution C++ standard.
#include <sstream>
using namespace std;
// code de xterminhate


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++/Windows] afficher une variable dans une messagebox

 

Sujets relatifs
Easy PHP fonctionne t-il bien sous Windows XP Pro ?Afficher un calque en CSS : un truc bizarre avec a:hover
formulaire: afficher le contenu des champs dans une fenetre a part!passage de variable!!
[PHP] session_register avec une variable "élaborée",syntaxeloader & afficher un menu JS avant le reste de la page ?
Afficher la source du menu suivant:[Newbie]Bloqué sur un problème de variable
Compilateur COBOL sous Windows ????Utilisation de MB_HELP pour les MessageBox de l'API Win32
Plus de sujets relatifs à : [C++/Windows] afficher une variable dans une messagebox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR