Developpez.com - Delphi
X

Choisissez d'abord la catégorieensuite la rubrique :

Nono40.developpez.com
Le petit coin du web de Nono40
SOURCES TESTS DELPHI WIN32 AUTOMATISMES DELPHI .NET QUICK-REPORT
Retour à l'accueil
29 - COPIE D'UN TSTRINGGRID DANS UN FICHIER INI

PRÉSENTATION : Enregistrer/Lire le contenu d'un TStringGrid dans un fichier .INI
ZIP : Téléchargez le zip APERÇUS :

NOTES : Pour enregistrer le contenu il faut appeler la procédure EcritureGrille avec les paramètres :
Grille : composant de type TStringGrid à sauvegarder
NomFichier : nom du fichier .INI
CasesVides : Indique si les cellules vides sont enregistrées dans le fichier .INI. A False les cellules vides ne sont pas enregistrées, ceci réduit la taille du fichier .INI si la grille contient beaucoup de cellules vides. Par défaut CasesVides est à True.

Pour lire le contenu il faut appeler la procédure LectureGrille avec les paramètres :
Grille : composant de type TStringGrid à sauvegarder
NomFichier : nom du fichier .INI


CODE :
// Procédure d'écriture d'une grille dans un fichier .INI
//   Grille : composant de type TStringGrid dont le contenu doit être écrit
//   NomFichier : nom du fichier .INI de sauvegarde
//   CasesVides : indique si les cellules vides sont enregsitrées
Procedure EcritureGrille(Grille:TStringGrid;NomFichier:String;CasesVides:Boolean=True);
Var Ini:TIniFile;
    i,j:Integer;
Begin
  Ini:=TIniFile.Create(NomFichier);
  With Grille Do Try
    // Enregistrement de la taille de la grille
    Ini.WriteInteger('GENERAL','COLCOUNT',ColCount);
    Ini.WriteInteger('GENERAL','ROWCOUNT',RowCount);
    // Enregistrement des cellules de la grille
    For i:=0 To ColCount-1 Do For j:=0 To RowCount-1 Do
      If CasesVides Or (Cells[i,j]<>'')
        Then Ini.WriteString(IntToStr(i),IntToStr(j),Cells[i,j]);
  Finally
    Ini.Free;
  End;
End;

// Procédure de lecture d'une grille dans un fichier .INI
//   Grille : composant de type TStringGrid dont le contenu doit être lu
//   NomFichier : nom du fichier .INI à lire
Procedure LectureGrille(Grille:TStringGrid;NomFichier:String);
Var Ini:TIniFile;
    i,j:Integer;
Begin
  Ini:=TIniFile.Create(NomFichier);
  With Grille Do Try
    // Test si la taille de la grille est incluse
    If Ini.ValueExists('GENERAL','COLCOUNT'And Ini.ValueExists('GENERAL','ROWCOUNT')
    Then Begin
      // Adaptation de la grille à la taille enregistrée dans le fichier
      ColCount:=Ini.ReadInteger('GENERAL','COLCOUNT',ColCount);
      RowCount:=Ini.ReadInteger('GENERAL','ROWCOUNT',RowCount);
      // Lecture du contenu de la grille dans le fichier .NINI
      For i:=0 To ColCount-1 Do For j:=0 To RowCount-1 Do
        Cells[i,j]:=Ini.ReadString(IntToStr(i),IntToStr(j),'');
    End;
  Finally
    Ini.Free;
  End;
End;

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003 Bruno Guérangé. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Responsables bénévoles de la rubrique Delphi : Gilles Vasseur - Alcatîz -