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

Composants VCL Delphi Discussion :

Rudiment composant TStringGrid


Sujet :

Composants VCL Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 310
    Points : 184
    Points
    184
    Par défaut Rudiment composant TStringGrid
    Bonjour, j'aimerai savoir comment marche exactement un TStringGrid, je dois faire une liste qui se met à jour via d'autre liste ou d'autres controls, malheureusement je n'y arrive pas j'ai des ELIstError list index out of bound qui me sont notifié à la place.

    Quel qu'un peut il m'indiquer un tutorial pour simplement , ajouter , modifier et supprimer une ligne ?

    Merci d'avance

  2. #2
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Salut.
    Un petit rappel sans prétention.
    Un stringgrid c'est comme un tableau multi-dimensionnelle de string.
    Tu as differentes propriété :
    RowCount : indique le nombre de ligne
    ColCount : indique le nombre de colonne
    Cells[Col,Row] : permet de modifier/Lire la valeur de la cellule sur la colonne Col et ligne Row.
    Il faut faire très attention lors de la lacture/ecriture car un indice de Colonne/Ligne en Supérieur à ColCount -1/RowCount -1 provoque un erreur de débordement.

    Maintenant dis nous ce que tu fais exactement
    Tu peux chercher dans l'aide de Delphi sur comment l'utiliser.

    A+
    On progresse .....

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 310
    Points : 184
    Points
    184
    Par défaut
    Bonjour,

    J'ai une stringgrids que je dois mettre a jour suivant la ligne d'un listebox sélectionnée, pour a jouter des lignes j'utilise :

    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
     
     // ma StringGrid
     sgEquipementRegistres.RowCount := Registres.Count + 1;
     
       for I := 0 to Registres.Count - 1 do
        begin
     
         ligne := TStringList.Create;
     
         ligne.Add(Registres.GetValue(i).designation_registre);
         ligne.Add(Registres.GetValue(I).nom_mib);
         ligne.Add(Registres.GetValue(I).oid);
     
         sgEquipementRegistres.Rows[I+1].AddStrings(ligne);
     
         freeAndNil(ligne);
     
        end;
    pour effacer j'utilise cette procedure

    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
     
    EffacerGrille ( grid : TStringGrid );
    var
      i,j : integer;
    begin
     
     Deselection (grid);
     
      for i:=1 to grid.RowCount-1 do
        for j:=0 to grid.ColCount-1 do
        grid.cells[j,i]:='';
      grid.Invalidate;
     
     grid.rowcount := 1;
     
    end;
    mais elle ne marche pas correctement, car elle liquide la ligne de titre et lors d'une nouvelle assignation , j'ai le probleme de EListError

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Salut,

    Essayes donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    EffacerGrille ( grid : TStringGrid );
    var
      i,j : integer;
    begin
     
     for i:=1 to grid.RowCount-1 do
        for j:=0 to grid.ColCount-1 do
        grid.cells[j,i]:='';
     
     grid.rowcount := 1;
     
    end;
    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 310
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par Gilbert Geyer Voir le message
    Salut,

    Essayes donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    EffacerGrille ( grid : TStringGrid );
    var
      i,j : integer;
    begin
     
     for i:=1 to grid.RowCount-1 do
        for j:=0 to grid.ColCount-1 do
        grid.cells[j,i]:='';
     
     grid.rowcount := 1;
     
    end;
    A+
    Bonsoir,
    Désole ça ne marche pas. J'ai toujours de ElistError

  6. #6
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Je vois pas trop ou se trouve le problème sur cette procedure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    EffacerGrille ( grid : TStringGrid );
    var
      i,j : integer;
    begin
    
    for i:=1 to grid.RowCount-1 do
        for j:=0 to grid.ColCount-1 do
        grid.cells[j,i]:='';
       
    grid.rowcount := 1;
     
    end;
    On progresse .....

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    bleuerouge Hier 15h31 : mais elle ne marche pas correctement, car elle liquide la ligne de titre et lors d'une nouvelle assignation , j'ai le probleme de EListError
    bleuerouge Hier 16h09 : Désole ça ne marche pas. J'ai toujours de ElistError
    ... par contre je parie qu'elle ne liquide plus la ligne de titre et que le problème provient du code par lequel tu fais la nouvelle assignation.

    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

Discussions similaires

  1. Réponses: 10
    Dernier message: 30/09/2014, 16h51
  2. Le composant TStringGrid
    Par ZenZiTone dans le forum Composants VCL
    Réponses: 3
    Dernier message: 02/04/2014, 14h41
  3. [Lazarus] [0.9.31] Composant héritier de TStringGrid et RowCount
    Par Invité dans le forum Lazarus
    Réponses: 7
    Dernier message: 04/11/2011, 20h20
  4. [Lazarus] [0.9.31] Override dans un composant TStringGrid. Questions diverses
    Par Invité dans le forum Lazarus
    Réponses: 4
    Dernier message: 04/11/2011, 09h40
  5. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/05/2002, 16h35

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