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++Builder Discussion :

Problème de parenthèse


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 47
    Par défaut Problème de parenthèse
    Salut

    J'ai un problème qui va peut-être vous paraître stupide ou évident mais voilà :
    Cela fait référence à la fonction de test (voir la question sur le forum :"[Résolu] Faire des test dans une base de donnée") dans cette fonction on doit vérifier si la quantité retirée par l'utilisateur n'est pas supérieur à la quantité présente dans la base de donnée.

    Si c'est le cas un simple message s'affiche mais maintenant ce que je voudrais c'est q'une boite de dialogue s'affiche et indique la quantité en stock du produit sélectionné , pour cela j'ai fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int reponse ;
     
    reponse = Application->MessageBox("La quantité en stock est de :(ADOQuerySortieStock->FieldByName("StockMini")->AsString)","Quantité en stock insuffisante", MB_OK );
    if(reponse == IDOK)
    {
    //instructions
    }
    else
    {
    //instructions
    }
    mais j'obtiens le message d'erreur suivant :
    ) manquante dans l'appel de fonction.

    Je ne vois pas ou elle manque.

    Voilà encore une fois désolé pour la question

  2. #2
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Ce sont les guillemets autour de StockMini qui provoque l'erreur.

    Si tu veux mettre la valeur de ta requette dans la boîte de dialogue,
    il faut d'abord construire la chaine de caractère et la passer ensuite à MessageBox.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 47
    Par défaut
    Salut

    Je comprends pas bien ce que tu dis : construire la chaîne de caractère ?

  4. #4
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui de cette maniere :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    int reponse ;
    AnsiString message = "La quantité en stock est de : " ;
    message += (ADOQuerySortieStock->FieldByName("StockMini")->AsString) ;
    reponse = Application->MessageBox(message,"Quantité en stock insuffisante", MB_OK ) ;
    if(reponse == IDOK)
    {
    //instructions
    }
    else
    {
    //instructions
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 47
    Par défaut
    J'ai fais comme t'a dit mais j'obtiens deux erreur au niveau de cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    reponse = Application->MessageBox(message,"Quantité en stock 
         insuffisante", MB_OK ) ;
    erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [C++ Erreur] fensortistock.cpp(60): E2034 Impossible de convertir 'AnsiString' en 'const char *'.
    [C++ Erreur] fensortistock.cpp(60): E2342 Mauvaise correspondance de type dans le paramètre 'Text' ('const char *' désiré, 'AnsiString' obtenu).

  6. #6
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    reponse = Application->MessageBox(message.c_str(),"Quantité en stock insuffisante", MB_OK ) ;

  7. #7
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut,
    Je pense qu'il faut que tu construise ton Message:
    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    reponse = Application->MessageBox("La quantité en stock est de :(ADOQuerySortieStock->FieldByName("StockMini")->AsString)","Quantité en stock insuffisante", MB_OK );
    fait un truc comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    AnsiString message 
    message = "La quantité en stock est de :" +
    (ADOQuerySortieStock->FieldByName("StockMini")->AsString);
    reponse = Application->MessageBox(message,"Quantité en stock insuffisante",MB_OK);
    Je ne sais pas si ta fonction récupérant la donnée dans ta base de données te renvoie un entier ou une AnsiString, attention à ca.

  8. #8
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    AnsiString st;
    st = "La quantité en stock est de : " + ADOQuerySortieStock->FieldByName("StockMini")->AsString;
    Application->MessageBox(st.c_str(),"Quantité en stock insuffisante", MB_OK );
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

Discussions similaires

  1. [RegEx] Problème de parenthèses capturantes
    Par Tuttu dans le forum Langage
    Réponses: 3
    Dernier message: 27/02/2009, 14h37
  2. Problème de parenthèses dans un String
    Par cameron dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 15/10/2008, 07h15
  3. ALTER MODIFY problème de parenthèse
    Par ldims24 dans le forum SQL
    Réponses: 1
    Dernier message: 30/06/2008, 14h37
  4. [ANTLR] Problème de parenthèses imbriquées
    Par vkphoenixfr dans le forum Autres langages
    Réponses: 0
    Dernier message: 30/11/2007, 11h40
  5. [TP] Problème de parenthèse
    Par AjeAurel dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 13/11/2007, 21h55

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