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

Lazarus Pascal Discussion :

Assignation de TStringGrids [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre actif

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2021
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2021
    Messages : 138
    Points : 207
    Points
    207
    Par défaut Assignation de TStringGrids
    Bonjour,
    je me demande si ce code d'assignation est correct. J'avoue utiliser de moins en moins le Pascal Object.

    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
    procedure TForm1.sgFillMonth(aYear, aMonth: integer);
    var
      aRow: integer;
      aSG: TStringGrid;
    begin
      aSG := TStringGrid.Create(nil);
      case aMonth of
        1: aSG :=SG01;
        2: aSG :=SG02;
      end;
      with aSG do
      begin
        RowCount := DaysInAMonth(nYearCurrent, aMonth) + 1;
        for aRow := 1 to RowCount - 1 do
        begin
          Cells[2, arow] := IntToStr(arow);
        end;
       end;
      aSG:= Nil;
      asG.Free;
    end;
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    type
      TForm1 = class(TForm)
        cbYEAR: TComboBox;
        SG01: TStringGrid;
        SG02: TStringGrid;
        private
         procedure sgFillMonth(aYear, aMonth : Integer);
        public
     
      end;
    Merci. Cordialement. Gilles

  2. #2
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 420
    Points : 1 102
    Points
    1 102
    Par défaut
    Bonjour,

    Soit tu fais (Ligne 6) un create et alors tu fais un Assign (lignes 8 et 9 ce qui copie un objet dans un autre)

    Soit tu fais des (lignes 8 et 9) := et alors tu ne fais pas de create car alors ton objet est EXACTEMENT celui que tu assignes (et dans ce cas la ligne 20 est aussi inutile car sinon tu libère l'objet assigné (soit SG01 Soit SG02 selon le cas) et de toutes façons l'assignation à nil doit être faite après (ligne 19).

    Cordialement

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 302
    Points
    11 302
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Autre possibilité : dans le Create de la fiche, attribuer les SG0X à une variable privée de type tableau[1..X] de grilles.
    Et pour leur remplissage, les utiliser simplement comme le dit acaumes, en prenant soin de les créer si non fait en design ou au Create de la fiche.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Membre actif

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2021
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2021
    Messages : 138
    Points : 207
    Points
    207
    Par défaut
    Bonjour,
    merci à vous deux.
    Cordialement. Gilles

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/10/2022, 14h53
  2. Delete dans la propriété Rows d'un TStringGrid ???
    Par Neilos dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/02/2004, 23h55
  3. Delphi 7 et les TStringGrid
    Par Claude HENRY dans le forum Composants VCL
    Réponses: 6
    Dernier message: 28/05/2003, 09h18
  4. C'est quoi "Profile" dans le assign du XMLGram ?
    Par Lux interior dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/02/2003, 11h37
  5. Comment imprimer le contenu d'un TStringGrid
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/06/2002, 15h41

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