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 :

comment je suprime les lignes d'un 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 comment je suprime les lignes d'un StringGrid
    Bonjour , comment je suprime une ligne de StringGrid si elle verifie pas la condition.merci d'avance pour votre aide.

  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
    Bonjour,
    tout d'abord, si elle vérifie pas la condition ? Quel condition ??
    Si tu n'est pas plus précis, on ne pourra pas beaucoup t'aider.
    Deuxièmement il y as le code qui permet de supprimer une ligne d'un StringGrid dans la FAQ : ici

    A plus

    pottiez

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Par défaut
    salut tout le monde
    finalement j'ai vu que c'est pas important de supprimé la ligne et de affiché une forme au lieu de la supprission en fait j'ai utilsé ce code

    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
    int e;int f; String chaine1,chaine; String M1,M2;int pos3; int pos4; int  a,b;
    {for(int i=1;i<Form4->StringGrid5->RowCount;i++)
    {
    if(Form4->StringGrid5->Cells[1][i]==Form2->ComboBox5->Text)
    {  AnsiString chaine = Form4->StringGrid5->Cells[0][i];
     
    {if(int pos1 = chaine.Pos(Form2->ComboBox4->Text))
    {chaine1= Form2->ComboBox2->Text;
    e=StrToInt(chaine1);
    chaine= Form4->StringGrid5->Cells[2][i];
     
    M1=chaine.SubString(chaine.Pos("[")+1,(chaine.Pos(",")-chaine.Pos("["))-1);
    a=StrToInt(M1);
     
    M2= chaine.SubString(chaine.Pos(",")+1,(chaine.Pos("]")-chaine.Pos(","))-1);
    b=StrToInt(M2);
     
     
    {if(e >= a&& e<= b)
    {Form7->Visible=true;} else {Form3->Visible=true;}
    }}}}}}
    je veut pour la 1er if si la condition n'est pas verifié, la form6 s'affiche
    et la meme chose pour 2eme if .j'espere que ma question est claire.merci d'avance pour votre aide.

  4. #4
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    je veut pour la 1er if si la condition n'est pas verifié, la form6 s'affiche
    et la meme chose pour 2eme if .j'espere que ma question est claire.merci d'avance pour votre aide.
    Je ne comprend ou est ton problème ?? si tu veux simplement afficher une form en fonction de ta condition il suffit de mettre dans ton if :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(Form4->StringGrid5->Cells[1][i]==Form2->ComboBox5->Text)
    {  AnsiString chaine = Form4->StringGrid5->Cells[0][i];
     TForm6 * form6;
     form6= new TForm6(Form6);
     form6->Visible= true;
    pense à mettre "Unit6.h" dans l'en-tête de ton cpp....

    J'espère que tu pourras avancer
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 335
    Par défaut
    Bonjour, en fait mon code est valide que si la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(Form4->StringGrid5->Cells[1][i]==Form2->ComboBox5->Text)
    est verifié , je veut pour le cas contraire , si aucune ligne de cette colonne n'egale
    la form 6 s'affiche .merci d'avance pour votre aide

  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
    Salut,
    Déjà, une remarque, écrit ton code, clairement si tu veut t'y retrouver, en voyant ton code je n'ai pas envie de m'y plonger dedans pour te dire l'endroit ou mettre le code, alors que je sais quel code mettre pour résoudre ton problème.
    Donc ton code écrit clairement donne :
    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
    42
    43
    int e;
    int f; 
    String chaine1,chaine; 
    String M1,M2;
    int pos3; 
    int pos4; 
    int a,b;
    {
    for(int i=1;i<Form4->StringGrid5->RowCount;i++)
    {
      if(Form4->StringGrid5->Cells[1][i]==Form2->ComboBox5->Text)
      {  
        AnsiString chaine = Form4->StringGrid5->Cells[0][i];
     
    {
        if(int pos1 = chaine.Pos(Form2->ComboBox4->Text))
        {
          chaine1= Form2->ComboBox2->Text;
          e=StrToInt(chaine1);
          chaine= Form4->StringGrid5->Cells[2][i];
     
          M1=chaine.SubString(chaine.Pos("[")+1,(chaine.Pos(",")-chaine.Pos("["))-1);
          a=StrToInt(M1);
     
          M2= chaine.SubString(chaine.Pos(",")+1,(chaine.Pos("]")-chaine.Pos(","))-1);
          b=StrToInt(M2);
     
     
    {
          if(e >= a&& e<= b)
          {
            Form7->Visible=true;
          } 
          else 
          {
            Form3->Visible=true;
          }
    }
        }
    }
      }
    }
    }
    Déjà on remarque tout de suite que tu as des accolade en trop (mise en rouge ici) ce n'est pas une erreur, mais ça ne sert pas ici.

    Ensuite maintenant je pense que si tu ne sais pas faire les conditions if (puisqu'il s'agit de ta question à la base) tu devrait consulter quelque tuto sur le c ou le c++

    Je te donne tout de même la réponse, il faut mettre un else pour mettre le code lorsque ta condition ne se verifie pas :
    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
    42
    int e;
    int f; 
    String chaine1,chaine; 
    String M1,M2;
    int pos3; 
    int pos4; 
    int a,b;
    for(int i=1;i<Form4->StringGrid5->RowCount;i++)
    {
      if(Form4->StringGrid5->Cells[1][i]==Form2->ComboBox5->Text)
      {  
        AnsiString chaine = Form4->StringGrid5->Cells[0][i];
     
        if(int pos1 = chaine.Pos(Form2->ComboBox4->Text))
        {
          chaine1= Form2->ComboBox2->Text;
          e=StrToInt(chaine1);
          chaine= Form4->StringGrid5->Cells[2][i];
     
          M1=chaine.SubString(chaine.Pos("[")+1,(chaine.Pos(",")-chaine.Pos("["))-1);
          a=StrToInt(M1);
     
          M2= chaine.SubString(chaine.Pos(",")+1,(chaine.Pos("]")-chaine.Pos(","))-1);
          b=StrToInt(M2);
     
     
          if(e >= a&& e<= b)
          {
            Form7->Visible=true;
          } 
          else 
          {
            Form3->Visible=true;
          }
        }
      }
      else
      {
        //Affichage de la form6
        Form6->Show();
      }
    }

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/03/2009, 12h11
  2. Comment sélectionner que les lignes doublons
    Par Inconnu_du_69 dans le forum Langage SQL
    Réponses: 20
    Dernier message: 12/02/2009, 16h18
  3. suprimer les lignes vides d'un tableau
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/01/2009, 17h03
  4. Réponses: 5
    Dernier message: 24/06/2008, 13h07
  5. Réponses: 1
    Dernier message: 04/08/2007, 18h07

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