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

Langage Delphi Discussion :

vider plusieurs stringgrid


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Octobre 2011
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 87
    Points : 21
    Points
    21
    Par défaut vider plusieurs stringgrid
    Bonjour
    c'est con de ma part, mais je n'arrive pas à vider plusieurs stringgrid à la fois.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var
         i, j :integer;
     begin
     
           // StringGrid 1
         for i := 0 to form2.a.RowCount -1 do
         for j := 0 to form2.b.RowCount -1 do
          // StringGrid 2
         form2.a.Rows [i].Clear;
         form2.b.rows[j].clear;
    merci d'avance pour votre aide.
    merci

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    bonjour

    J ai trouvé ça. Je pense que cela peut t aider.

    http://www.developpez.net/forums/d57...er-composants/

  3. #3
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Octobre 2011
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 87
    Points : 21
    Points
    21
    Par défaut vider plusieurs stringgrid
    bonsoir
    j'ai rien compris, le niveau me dépasse de loin.
    merci quand même.
    et je m'excuse pour le non respect de la règle du forum. ça ne se reproduiras plus jamais.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 671
    Points : 25 481
    Points
    25 481
    Par défaut
    sur "vider tstringgrid" : [D78] Comment vider une TStringGrid

    Attention évite d'utiliser form2, préfère self (ou rien)
    Je soupçonne deux tForm2, l'une créer par le DPR et l'autre par ton code !

    on peut corriger ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
         // StringGrid 1
         for i := 0 to a.RowCount -1 do
           a.Rows[i].Clear;
     
         // StringGrid 2
          for j := 0 to b.RowCount -1 do
            b.Rows[j].clear;
    a et b comme nom de StringGrid faut osé !
    Tu ne semble pas bien à l'aise avec les boucles : Guide Pascal et Delphi VIII-B-1. Blocs 'for'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure ViderStringGrid(AGrid: TStringGrid);
    var
      i: integer;
    begin
      for i := 0 to AGrid.RowCount - 1 do
        AGrid.Rows[i].Clear();
    end;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ViderStringGrid(a);
    ViderStringGrid(b);

  5. #5
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Octobre 2011
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 87
    Points : 21
    Points
    21
    Par défaut vider plusieurs stringgrid
    Re bonsoir,
    merci pour la réponse
    mais quand je compile (f9)
    message d'erreur (agrid erreur)
    je ne comprend pas
    merci encore.

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 671
    Points : 25 481
    Points
    25 481
    Par défaut
    Soit plus précis, fourni le message d'erreur en entier !
    As-tu cherché à comprendre le code fourni ?!
    As-tu même correctement recopier ?
    As-tu cherché à vérifier si Form2 était unique ou pas ?

    Comment veux-tu que l'on t'aide avec aussi peu d'information !

  7. #7
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Octobre 2011
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 87
    Points : 21
    Points
    21
    Par défaut vider plusieurs stringgrid
    Re bonsoir
    merci pour votre réponse
    en fait j'ai 02 stringGrid l'un pour introduire des valeur, l'autre pour affichage d'un résultat.
    moi personnellement, je fais de la recherche opérationnelle (RO)
    au moment de la saisie pas de problème, mais quand il va falloir corriger la matrice (stringGrid), suite à des erreurs de saisie, message d'erreur :
    (n'est pas une valeur en virgule flottante).
    c'est à ce moment là je veux vider les deux stringGrid.
    voilà les lignes de programme à ma façon biensûr, mais ca marche.
    merci

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    const
    nbtab=50;
    var
    z : boolean;
    i,j : integer;
    tab, tab1 : array[1..nbtab,1..nbtab] of real;
    som, k, po, la: array [1..nbtab] of real;
    lmax, Rc,IC,IA: real;
    begin
    z:= true;
                   //remplir un tableau
       //a.cells[arow,acol]:= a.Cells[ACols,Arow];
       for i := 1 to nbcri do begin
         for j:= 1 to nbcri do
         //a.Cells[i,j] := SysUtils.FormatFloat(a.Cells[0,j], StrToFloat(a.Cells[i,0]));
         tab[i,j] := strtofloat(a.cells[i,j]);
       end;
     
             // vecteur de la somme de chaque ligne
      for j := 1 to nbcri do begin
      som[j] := tab[j,1];
        for i := 2 to nbcri do begin
        som[j] := som[j]+ tab[j,i];
        end;
       //ListBox1.Items.Add(floattostr(som[j]));
      end;
      // ListBox1.Items.Add('');
     
           // normalisation du tableau
      for i := 1 to nbcri do begin
          for j := 1 to nbcri do
           tab1[i,j] := tab[i,j] / som[i];
        k[i]:=tab1[1,i];
        //ListBox1.Items.Add(floattostr(k[i]));
         end;
        //ListBox1.Items.Add('');
     
          // vecteur poids
     // ListBox1.Items.Add('vecteur poids');
      for i := 1 to nbcri do begin
       po[i]:= tab1[1,i];
         for j := 2 to nbcri do
          po[i] := (po[i] + tab1[j,i]);
          po[i]:= po[i]/nbcri;
          //round((po[i]),3);  round(x,3)
          a1.Cells[i,1]:= floattostr(po[i]);
          panel7.Visible := true;
          //z4:= true;
          //ListBox1.Items.Add(floattostr(po[i]))
          end;
        // ListBox1.Items.Add('');
     
         // calcule des lambda
        //  ListBox1.Items.Add('les valeur de lambda');
      for i:= 1 to nbcri do begin
        la[i]:= tab[1,i]*po[1];
         //ListBox1.Items.Add(floattostr(la[i]));
        for j := 2 to nbcri do
         la[i] := la[i]+(tab[j,i]*po[j]);
         la[i] := la[i]/po[i];
        //  ListBox1.Items.Add('la '+inttostr(i)+'  '+floattostr(la[i]));
       end;
      // ListBox1.Items.Add('');
     
       //recherche de lambda max
       lmax:= la[1];
       for i:= 2 to nbcri do
         if la[i]>lmax then lmax:= la[i];
      // ListBox1.Items.Add('lambda max est: '+floattostr(lmax));
     
        // test de cohérence
        IC:= (lmax-nbcri)/nbcri-1;
         case nbcri of
        //2 : IA := 0;
        3:  IA := 0.58;
        4:  IA := 0.9;
        5:  IA := 1.12;
        6:  IA := 1.24;
        7:  IA := 1.32;
        8:  IA := 1.41;
        9:  IA := 1.45;
        10: IA := 1.49;
        11: IA := 1.51;
         end;
     
        RC:= IC/ IA ;
        if RC > 0.1 then begin
         z := false;
         if z=false then
           showmessage('le jugement n''est pas cohérent veuillez vérifier votre tableau');
        end;
    end;  
    end.

Discussions similaires

  1. [Débutant] Vider plusieurs textbox a la fois a laide d'un Button
    Par zitoune31 dans le forum VB.NET
    Réponses: 8
    Dernier message: 24/10/2012, 20h55
  2. impression de plusieurs stringgrid
    Par redoran dans le forum Débuter
    Réponses: 5
    Dernier message: 29/11/2010, 07h50
  3. chercher le contenu de edit dans plusieur StringGrid
    Par faniette dans le forum C++Builder
    Réponses: 9
    Dernier message: 22/05/2009, 18h49
  4. comment vider plusieurs textbox et combobox dans un formilaire et Plus
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 05/05/2008, 15h52
  5. cherche a vider plusieurs tables en meme temps?
    Par nenekes dans le forum Langage SQL
    Réponses: 10
    Dernier message: 01/02/2007, 18h58

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