cs_saravana
Messages postés91Date d'inscriptionvendredi 25 mars 2005StatutMembreDernière intervention18 octobre 2007
-
3 août 2005 à 16:22
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
4 août 2005 à 09:31
salut a tous je cherche comment enregistrer ( et aussi ouvrir) les lignes d'un stringgrid dans un fichier avec une extension que je veut creer exprès pour mon programme,merci.
bye.
A voir également:
Comment enregistrer les lignes d'un stringgrid dans un fichier avec une extensio
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 3 août 2005 à 17:46
Il te suffit de creer un TFileStream, d'inscrite le nombre de lignes
ainsi que le nombre de colonnes et d'écrire dedans. L'extension n'est
pas importante: tu peux mettre ce que tu veux.
Ici, j'utilise un TSaveDialog mais ce n'est pas obligé.
procedure TForm1.BtnSaveClick(Sender: TObject);
var
X, Y, L: Integer;
Fs: TFileStream;
begin
{ Execution de la boite de dialogue.
C'est une TSaveDialog dont la propriété DefaultExt contient l'extension voulue. }
if not SD.Execute then
Exit;
{ Création du'un flux fichier. }
Fs : = TFileStream.Create(SD.FileName,fmCreate);
try
{ Ecriture de la taille du StringGrid (ici, il s'appelle sg). }
Fs.WriteBuffer(sg.ColCount,SizeOf(Integer));
Fs.WriteBuffer(sg.RowCount,SizeOf(Integer));
{ Boucle pour enregistrer toutes les chaines. }
for X := 0 to sg.ColCount -1 do
for Y : = 0 to sg.RowCount -1 do
begin
{ Récupération de la talle de la chaine. }
L := Length(sg.Cells[X,Y]);
{ Ecriture de la taille de la chaine. }
Fs.WriteBuffer(L,SizeOf(Integer));
{ Puis écriture de la chaine elle-même. }
Fs.WriteBuffer(sg.Cells[X,Y][1],L);
end ;
finally
{ Libération du flux. }
Fs.Free;
end; // try.
end;
<hr size ="2" width="100%">Rien de plus simple.
Si ca te convient, je te mettrai la procédure de relecture.
@ ++
Florent
Si tu ne te plantes pas ......
tu ne poussera jamais