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 :

Test sur les GroupBox.


Sujet :

C++Builder

  1. #1
    Membre régulier Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 105
    Points
    105
    Par défaut Test sur les GroupBox.
    Salut,

    J'ai créé un GroupBox avec 8 CheckBox et lorsqu'on lance une fonction dans l'application il doit y en avoir obligatoirement une de cochée, sinon un message d'erreur apparait, ok.

    Mais aussi il doit n'y en avoir une et une seule de cocher et comment faire le test, pour que je puisse aussi faire apparaitre une MessageBox lorsqu'il y en a plus d'une de cochée... Là et mon problème...

    Merci à vous...
    " l'imagination est plus importante que le savoir. "
    Albert Einstein.

  2. #2
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Option 1 : tu testes l'état de tous tes checkbox pour vérifier si un ou plusieurs sont cochés.
    Option 2 : tu remplaces ton GroupBox et tes CheckBox par un RadioGroup. Tu auras des ronds à cliquer au lieu de cases mais la gestion de la multi-sélection se ferra toute seule.
    + + +

  3. #3
    Membre régulier Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 105
    Points
    105
    Par défaut
    Bon ben ok je vais opter pour un RadioGroup car le test pour le GroupBox est fastidieux...

    Merci...
    " l'imagination est plus importante que le savoir. "
    Albert Einstein.

  4. #4
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Citation Envoyé par Fred2209
    ... car le test pour le GroupBox est fastidieux...
    Tout de suite
    Du codage sans difficulté, c'est pas drole
    Code C++ : 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
     
    int count = GroupBox->ControlCount;//récupération du nombre d'objets présents dans le GroupBox
     
     int verif = 0; //variable servant au test
     for (int i = 0;i < count;i++)//parcours des controles
     {
      AnsiString ClassName = GroupBox->Controls[i]->ClassName();//récupération du nom de classe de l'objet
      if (ClassName.AnsiCompare("TCheckBox") == 0)//si l'objet est bien de type CheckBox
      {
       if (((TCheckBox*)GroupBox->Controls[i])->Checked)//si le CheckBox est coché
            verif++;//incrément de la variable de test
      }
     }
     
     if (verif > 1 || verif == 0)//si test indique l'absence de coche ou plus d'une coche
            MessageDlg("Veuillez cocher une seule case",mtError,TMsgDlgButtons()<<mbOK,0);//erreur
     else//sinon
            MessageDlg("ça roule :D",mtInformation,TMsgDlgButtons()<<mbOK,0);//c'est bon
    + + +

  5. #5
    Membre régulier Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 105
    Points
    105
    Par défaut
    Impressionnant !

    C'est bon ça marche et je suis rester avec mes CheckBox... Merci...

    Mais tu avais déjà ce morceau de programme où tu l'as fait sur le vif aprés ma question ??
    " l'imagination est plus importante que le savoir. "
    Albert Einstein.

  6. #6
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    J'avais déjà fait un bout de code pour parcourir les objets d'un Controle, j'avais donc déjà la base de code. Le reste, ce n'est que de la logique.
    + + +

  7. #7
    Membre régulier Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 105
    Points
    105
    Par défaut
    D'accord, écoute je te remercie pour ton aide...
    " l'imagination est plus importante que le savoir. "
    Albert Einstein.

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

Discussions similaires

  1. xpath-->test sur les chifres
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 30/01/2006, 15h41
  2. xslt --> test sur les chiffres
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/09/2005, 13h17
  3. xsl : test sur les chaine de caractère
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 13/07/2005, 15h43
  4. xpath-->test sur les commentaires
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/07/2005, 12h14
  5. Fonction de teste sur les voisins d'un point
    Par erkoil dans le forum OpenGL
    Réponses: 9
    Dernier message: 08/05/2005, 17h45

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