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

Qt Discussion :

Conversion Qstring en type utilisateur


Sujet :

Qt

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 63
    Points : 51
    Points
    51
    Par défaut Conversion Qstring en type utilisateur
    Bonjour à tous,

    Ayant souvent regardé les forums de dvp.com qui m'ont sauvées la vie à plusieurs reprises, aujourd'hui je suis un peu bloqué et je voudrais vous demander un petit coup de pouce

    Comme il est dit dans l'intitulé, je me demande comment passer d'un type QString à un type utilisateur définit dans un enum.

    Voici le contexte:
    Je paramètre un port série à l'aide de Qt et de sa librairie externe QextSerialPort.

    Pour le paramétrer "en dur" pas de problème, cependant je veux récupérer ces paramètres d'un fichier XML qui fait office de fichier de conf.

    LE problème:
    Les données que je récupère sont des String et les paramètres du port série sont déclarées comme ceci dans qexserialport.h :
    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
    enum BaudRateType 
    {
        BAUD50,                
        BAUD75,                
        BAUD110,
    ...
    };
     
    enum DataBitsType 
    {
        DATA_5,
        DATA_6,
    ...
    };
     
    enum ParityType 
    {
        PAR_NONE,
        PAR_ODD,
    ...
    };
     
    ...
    Comme tous les paramètres du port série sont d'un type particulier, je ne peux pas prendre mes données directement du XML.

    Bon tant pis mais comment faire pour effectuer une conversion?
    Ainsi je pourrai utiliser ma fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void PortSerie::ParamPort(QextSerialPort *portAparam, BaudRateType Vitesse, FlowType ControleFlux, ParityType Parite, DataBitsType BitDonnes,StopBitsType BitStop)
    {       
        portAparam->setBaudRate(Vitesse);
        portAparam->setFlowControl(ControleFlux);
        portAparam->setParity(Parite);
        portAparam->setDataBits(BitDonnes);
        portAparam->setStopBits(BitStop);
    }
    Si quelqu'un a une idée elle sera la bienvenue...

    Merci d'avance.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Salut,
    1 : tu le fait à la main. Par exemple, tu pourrais te fait une map qui prend la QString en clef et la valeur de l'enum correspondant en valeur.

    2: plus automatique, y as les meta data sur un enum d'une classe QObject. Mais vue que tes enume sont déclaré dans qexserialport.h tu devra faire un gros copier coller...
    http://qt.developpez.com/doc/latest/...t.html#Q_ENUMS
    http://qt.developpez.com/doc/latest/...tml#metaObject
    http://qt.developpez.com/doc/latest/...tml#enumerator
    http://qt.developpez.com/doc/latest/...exOfEnumerator
    http://qt.developpez.com/doc/latest/...tml#keyToValue

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 63
    Points : 51
    Points
    51
    Par défaut
    Merci, je vais regarder ça tranquillement mais globalement ça répond à ma question

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/10/2006, 13h49
  2. [VB6]Transferts VARIABLES de TYPE Utilisateurs entre FORMS
    Par KNITTEL dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 24/03/2006, 14h21
  3. type utilisateur modifier
    Par shadow31 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 15/11/2005, 14h58
  4. conversion d'un type Extended vers un string
    Par matterazzo dans le forum Langage
    Réponses: 2
    Dernier message: 28/10/2005, 19h22
  5. [MSDE] CREATE RULE sur un type utilisateur ?
    Par Raduris dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/01/2005, 12h24

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