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 :

tester le vide d'une case de StringGrid


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Par défaut tester le vide d'une case de StringGrid
    bonjour a tous ,j'ai un StringGrid qui contient des lignes et des colonnes je veut tester le vide de ces cases ,si une case n'est pa rempli une forme d'erreur s'affiche pour remplir tout les cases de StringGrid .merci pour votre d'aide d'avance.

  2. #2
    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
    Salut,
    tu doit tester la propriété Cells de ton stringGrid, par exemple ce code te donne le texte contenu dans la case de coordonné 0;0 (ça commence toujours par 0 et on met toujours le numéro de colonne puis celui de la ligne) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AnsiString texte = StringGrid1->Cells[0][0];

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Par défaut
    oui mais comment je teste tout les cases de StringGrid

  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
    Eh bien tu fait une double boucle pour parcourir toute les case, sachant que ton nombre de colonne est définit par la propriété ColCount du stringGrid et que le nombre de ligne est définit par la propriété RowCount du même stringGrid

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Par défaut
    j'ai utilisé ce code mais sa marche pa bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(int i=1;i<Form1->StringGrid1->RowCount;i++)
     for(int j=1;j<Form1->StringGrid1->ColCount;j++)
    {
    if(Form1->StringGrid1->Cells[j][i]=="")
    {ShowMessage("Il faut remplir tout les cases de tableau");}
    else {Form4->Visible=true;}
      }

    je veut dire que si toute les cases sont remli la form4 visible =true .

  6. #6
    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,
    avec le code que tu as donné dès la première case testée non vide tu afficheras ta Form4. De plus tu auras autant de message que de case vide.
    Il te faut plutôt un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    bool ToutEstRempli=true;
    for(int i=1;i<Form1->StringGrid1->RowCount;i++)
    {
         for(int j=1;j<Form1->StringGrid1->ColCount;j++)
         {
             if(Form1->StringGrid1->Cells[j][i]!="")
                 ToutEstRempli &= false;
          }
    }
    if(ToutEstRempli)
          Form4->Show();
    else 
          ShowMessage("Il faut remplir tout les cases de tableau");
    Comme ca, tu attends d'avoir testé toutes les cases avant de dire que c'est bon ou pas.

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

Discussions similaires

  1. Tester si une case dans un tableau est non vide
    Par mohsenuss91 dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 28/12/2013, 16h44
  2. comment tester si une case d'un tableau est vide
    Par khadi8 dans le forum Débuter
    Réponses: 7
    Dernier message: 01/05/2013, 09h13
  3. Réponses: 6
    Dernier message: 11/06/2008, 16h35
  4. Réponses: 3
    Dernier message: 18/12/2007, 17h21

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