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

Discussion :

Comparaison de QString

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 12
    Par défaut Comparaison de QString
    bonjour a tous. je suis en train de programmer un petit jeu et je dois comparer deux variable déclarer en qstring. ca fait plusieur facon que j'essaie ( avec le == ou encore avec le compare() ) et a chaque fois, meme si le resultat donne vrai, le comparateur me dit que c'est faux. voici le code en probleme:

    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
    void Facile::Gagne()
    {
        int x = 0;
        x = QString::compare(motJoueur, motMystere) == 0;
        temporaire->setText("motMystere=" + motMystere + " motJoueur=" + (Reponse->text()) + " x = " + x);
     
        if (Reponse->text().isEmpty())
                QMessageBox::critical(this, "Erreur", "Tu doit entrer au moins un mot");
                coupRestants--;
     
        if (QString::compare(motJoueur, motMystere) == 0)
        {
            bonMot = true;
            QMessageBox::critical(this, "WAHOO", "ca compare.");
        }
        else
        {
            QMessageBox::critical(this, "Erreur", "Désolé, ce n'est pas comme ca.");
            coupRestants--;
        }
     
    }
    svp j'ai vraiment besoin d'un coup de main, je ne sais plus quoi faire.

  2. #2
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 65
    Par défaut
    Tu as au moins quelque chose dans motJoueur et motMystère ? Ou sont-ils définis ?

    Déjà, tu as un problème au niveau de la deuxième ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x = QString::compare(motJoueur, motMystème) == 0
    Tu mets un bool dans un int, je pense que le == 0 est en trop. Mais je sais pas ce que tu voulais réellement faire...

    Pourquoi est-ce que tu utilise un coup Reponse->text() puis motJoueur, ce sont deux valeurs differentes ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 12
    Par défaut
    motJoueur est reponse->text et les variable motJoueur et motMystere contienne quelque chose.

    motJoueur contient le text entré dans le qlabel reponse et motMystere contient un mot choisit au hazard dans un fichier.

    je fais afficher (temporairement) motmystere et motjoueur dans un qlabel pour voir si ils contiennent vraiment quelque chose et oui ca fonctionne. c'est juste la fonction qui retourne toujours faux a la comparaison! c ca que je comprend pas.

  4. #4
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Si tu fais ça cela te donne quoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bool verif = QString::compare(motJoueur, motMystème);
    verif a quelle valeur ??
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 12
    Par défaut
    verif est toujours vrai meme si les 2 variable ne comprennet pas la meme affaire

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 12
    Par défaut
    je viens de lancer un debug avec gdb et voici ce que ca donne quand je demande que vaut motMystere

    Breakpoint 1, Facile::Gagne (this=0x96290d8) at Facile.cpp:62
    62 bool verif = QString::compare(motJoueur, motMystere);
    (gdb) print motMystere
    $1 = {static null = {<No data fields>}, static shared_null = {ref = {
    _q_value = 631}, alloc = 0, size = 0, data = 0x6a306112, clean = 0,
    simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
    reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 2},
    alloc = 0, size = 0, data = 0x6a306126, clean = 0, simpletext = 0,
    righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {
    0}}, d = 0x9640e70, static codecForCStrings = 0x0}

Discussions similaires

  1. Souci de comparaison de QString
    Par lostsoul dans le forum Débuter
    Réponses: 13
    Dernier message: 10/02/2011, 15h35
  2. comparaison de 2 dates
    Par eisti dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2003, 11h33
  3. Comparaison de fichier
    Par danzerg dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2003, 11h49
  4. Comparaison JBuilder avec Sun ONE Studio
    Par chichos dans le forum EDI et Outils pour Java
    Réponses: 4
    Dernier message: 13/11/2002, 15h08
  5. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25

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