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 :

[enum] recuperer la string


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut [enum] recuperer la string
    comment recuperer la string de la variable enum pour l imprimer...

    mon type enum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef enum {RAM, ROM, SYSRAM, SYSROM, FIXRAM, MEMCARD} enRTCDestinationMemory;
    ma variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    enRTCDestinationMemory m_DestMem
    mon probleme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CString MaString = (CString)_DestMem;
    Comment recuperer les string associées à l enum ?

  2. #2
    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
    En C++ natif, tu ne peux.

    La solution pour ne pas dupliquer: Utiliser une ItemList comme le fait Emmanuel Delahaye. Voir sur son site...
    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.

  3. #3
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    et en visual cpp+MFC c'est possible ?

    sur le site que tu me propose je n ai pas trouvé l itemlist...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ZaaN
    et en visual cpp+MFC c'est possible ?
    Visual C++ n'est qu'une implémentation particulier (celle de Microsoft) du langage C++, et les MFC son't une surcouche graphique.

    donc, si c'est faisable en natif, tu bien non seulement le faire en MFC (donc avec VC++), mais n'importe quel compilateur C++ qui se respecte...

  5. #5
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    pas encore trouvée cette item list... je nage un peu...

  6. #6
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Ça consiste à inclure deux fois (ou plus) un fichier contenant des appels à une macro en changeant la macro. C'est un vieux truc d'utilisation d'un préprocesseur. Je ne le ferais pas pour 6 éléments. Pour 600 je n'hésiterais par contre pas.

  7. #7
    Membre expérimenté
    Avatar de superspag
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 153
    Par défaut
    Moi j'utilise boost::enum ... c'est pas encore integré dans la release de boost mais je trouve ça tellement pratique

    Téléchargeable ici http://boost-consulting.com/vault/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    #include <iostream>
    #include <boost/enum.hpp>
     
    using namespace std;
    using namespace boost;
     
    // Exemple de definition :
    BOOST_ENUM( enRTCDestinationMemory,
                (RAM)(ROM)(SYSRAM)(SYSROM)(FIXRAM)(MEMCARD) );
     
    int main() 
    {
      // Exemple de variable :
      enRTCDestinationMemory var;
      // Exemple d'affectation :
      var = enRTCDestinationMemory::RAM;
      // Ecritures :
      cout << var         << endl; // RAM
      cout << var.index() << endl; // 0
      cout << var.str()   << endl; // RAM
      // Dans un switch :
      switch( var.index() ) {
        case enRTCDestinationMemory::RAM :
          ...
          break;
        case enRTCDestinationMemory::ROM :
          ...
          break;
        ...
        default :
          ...
          break;
      }
    }

Discussions similaires

  1. Comment Recuperer un String en J2ME
    Par kakashi05 dans le forum Java ME
    Réponses: 1
    Dernier message: 11/01/2009, 23h32
  2. Réponses: 2
    Dernier message: 07/05/2008, 11h34
  3. Réponses: 2
    Dernier message: 01/11/2007, 10h23
  4. Réponses: 9
    Dernier message: 15/01/2006, 20h22
  5. [VB.NET] Variable de type enum avec du string
    Par Mouse dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/01/2005, 18h22

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