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++

  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Points : 661
    Points
    661
    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 ?
    Pour les details, cherche tout seul !

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    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
    Points : 661
    Points
    661
    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...
    Pour les details, cherche tout seul !

  4. #4
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    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...
    besoin de réponses ? demande a un pote

  5. #5
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Points : 661
    Points
    661
    Par défaut
    pas encore trouvée cette item list... je nage un peu...
    Pour les details, cherche tout seul !

  6. #6
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    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.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  7. #7
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Ç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.
    un pti exemple de code, ou un lien, ci possible ?
    besoin de réponses ? demande a un pote

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    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.

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 153
    Points : 186
    Points
    186
    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;
      }
    }
    Plus y'a d'Gruyère, plus y'a d'trous !
    Plus y'a d'trous, moins y'a d'Gruyère...
    Donc, Plus y'a d'Gruyère, moins y'a d'Gruyère !!!

  10. #10
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Il va falloir que je regarde. Ne fut-ce que pour comprendre la technique qu'ils utilisent pour faire une boucle dans le preprocesseur sans utiliser d'include.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  11. #11
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Très intéressants ces trucs. Cela manque un peu de doc pour voir comment on fait les for_each (truc pénible avec les "vrais" énums typés).

    Jusqu'à présent, je passe par des scripts perl qui me génèrent (à partir de fichiers d'identifiants) des couples enum+chaines, ainsi que les fonctions de convertions pour passer de l'un à l'autre.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

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