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 :

Problème pour retrourner une valeur


Sujet :

C++

Vue hybride

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 50
    Par défaut Problème pour retrourner une valeur
    Bonjour,

    Voila deux jour que j'essaie de faire une fonction "ERREUR" mais j'ai un problème et je ne trouve rien.

    Donc désespérément je me tourne vers vous.

    Je vous explique donc mon problème.
    Je souhaite définir des erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #define NO_ERR  0x00000001
    #define ERROR_1 0x00000002
    #define ERROR_2 0x00000004
    #define ERROR_3 0x00000008
    .
    .
    .
    #define ERROR_31 0x80000000
    Dans l'application d'un bouton je vérifie les valeurs contenues dans 2 EDIT
    Si la valeur contenu dans l'EDIT dépasse une certain valeur alors je lui affecte une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void __fastcall TMainForm::btnValiderClick(TObject *Sender)
    {
    int ERR=NO_ERR;
    .
    .
    .
    if (duree < 1 || duree > 1000)
          ERR |= ERROR_3;
    .
    .
    .
     
    et puis a la fin je met un return (ERR);
    }
    Mais je ne peux pas... pkoi??
    PS : je traville sous C++ Builder 6

  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
    Parce que ta fonction est marquée comme ne retournant rien (void) ?
    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 averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 50
    Par défaut
    oui je suis d'accord mais si je mets un int TMainForm::btnValiderClick(TObject *Sender)
    il me dis que ça ne marche pas comme ça !!!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 50
    Par défaut
    Faut il changer le ModalResult du boutton??

  5. #5
    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
    Mais cette fameuse erreur, tu cherches à la retourner à qui exactement ?
    À la fonction qui appelle la boîte de dialogue modale ? Directement à l'affichage ?
    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.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 50
    Par défaut
    Directement à l'affichage...

    Exemple que l'on me dise ERREUR Valeur trop grande.

    Voila la solution de facilité en utilisant des if, else... et puis switch case.
    Mais j'ai 31 erreur possible... donc ça serait vraiment pas joli lol.


    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
    36
    37
    38
    39
    40
    41
    void __fastcall TForm1::ValiderClick(TObject *Sender)
    {
       double amplitude, duree, total;
       int erreur;
     
       amplitude = Amplitude->Text.ToDouble();
       duree = Duree->Text.ToDouble();
     
       if (amplitude < 0 || amplitude > 12)
       {
          if (duree < 1 || duree > 1000)
          erreur = 3;
          else
          erreur = 1;
       }
       else if (duree < 1 || duree > 1000)
       erreur = 2;
       else erreur = 0;
     
       switch(erreur)
       {
          case 1:
          {
             ShowMessage ("L'amplitude doit être comprise entre"
             " 0 et 12 Volts");
             break;
          }
          case 2:
          {
             ShowMessage ("La durée des impulsions doit être comprise entre"
             " 0 et 1000 ms");
             break;
          }
          case 3:
          {
             ShowMessage ("L'amplitude doit être comprise entre 0 et 12 Volts"
             "\net la durée des impulsions doit être comprise entre"
             " 0 et 1000 ms");
             break;
          }
          default:

Discussions similaires

  1. Problème pour récupérer une valeur
    Par matdev62 dans le forum Développement
    Réponses: 3
    Dernier message: 15/09/2009, 15h07
  2. [Zend_Session] Problème pour passer une valeur
    Par yosraisi dans le forum Autres composants
    Réponses: 2
    Dernier message: 05/05/2008, 11h27
  3. Réponses: 4
    Dernier message: 04/11/2007, 13h46
  4. Problème pour définir une valeur dans la base des registres
    Par hellspawn_ludo dans le forum Dreamshield
    Réponses: 2
    Dernier message: 30/09/2007, 03h03
  5. problème pour récupérer une valeur dans ma bd (débutante)
    Par auryn111 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/08/2005, 17h49

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