IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

MessageBox et variables


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 11
    Par défaut MessageBox et variables
    Bonjour !

    Je débute avec le C++ sous code::blocks.

    Code qui plante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    wchar_t msg[255];
    wcspy(msg, L"Ceci est un test");
    MessageBox(hdlg, msg, "Test", MB_OK);
    Comment faire comprendre à la fonction que mon LPCSTR en 2ème paramètres est une variable à lire ?.
    En C++ on ne peut pas faire un adressage avec pointeur, genre: "addressof", "addr", "offset" ?.

    Il n'y a moyen de créer une macro pour simplifier le "set" et "get" d'une variable ?.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    wchar_t msg = "Ceci est un test";
    MessageBox(hdlg, *msg, "Test", MB_OK);

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    A priori, Message box, comme l'indique son nom, sert à afficher un message.
    Cherche une autre fonction/classe

    Cela dit, je ne suis pas spécialiste de cette bibliothèque en particulier

  3. #3
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Les produits microsoft proposent souvent un MessageBox pour afficher et InputBox pour lire.

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Merci pour l'information.
    Qui est le malin qui m'a mis un -1 sans dire pourquoi?

    Après tout, j'ai effectivement correctement diagnostiqué qu'un MessageBox sert à afficher, et qu'il y a une autre chose dédiée à la saisie.
    Ne pas avoir la réponse technique précise justifierait-il de ne pas avoir le droit d'expliquer?

  5. #5
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Citation Envoyé par leternel Voir le message
    Qui est le malin qui m'a mis un -1 sans dire pourquoi?
    J'ai pour équilibrer t'en fait pas .

  6. #6
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    C'est gentil
    N'empêche que j'aimerai bien comprendre

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 482
    Par défaut
    On commence par le début.
    Le code est un doux mélange de code en ASCII et en UNICODE, faudrait se décider mon gars, c'est l'un ou l'autre.

  8. #8
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    D'abord, il faut utiliser le bon type de caractère: TCHAR pour MessageBox(), wchar_t pour MessageBoxW(), etc.

    Ensuite, il faut penser un peu plus en C++!

    Si c'est pour afficher bêtement un texte contenant des variables:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    basic_ostringstream<TCHAR> stm;
    stm << _T("Vous avez") << nombreMessages << _T("Messages non-lus");
    basic_string<TCHAR> msg = stm.str();
    MessageBox(hdlg, msg.c_str(), _T("Test"), MB_OK);

    Par contre, si c'est pour saisir une variable, il n'y a rien de "tout fait" hélas, même les Task Dialogs de Vista ne contiennent pas de textbox.
    Par contre, si c'est acceptable, tu peux possiblement tricher avec une boîte de dialogue Rechercher (inadmissible dans du code pro bien sûr, mais quand tu as vraiment besoin de saisir une chaîne là, maintenant, tout de suite...).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. texte avec variable dans messageBox
    Par luckyalan dans le forum Débuter
    Réponses: 15
    Dernier message: 29/01/2014, 23h08
  2. MessageBox avec texte ET variable
    Par oieretxe dans le forum C
    Réponses: 2
    Dernier message: 29/12/2013, 14h08
  3. Réponses: 6
    Dernier message: 22/10/2009, 17h08
  4. Afficher une variable dans une MessageBox
    Par Chacha35 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/09/2009, 13h10
  5. variable dans messagebox
    Par kynri dans le forum Windows
    Réponses: 4
    Dernier message: 07/12/2007, 21h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo