Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionunit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls; type TMainFiche = class(TForm) GRID_IN: TStringGrid; B_Enregistrer: TButton; B_Charger: TButton; GRID_OUT: TStringGrid; procedure CREER(Sender: TObject); procedure CDE_Enregistrer(Sender: TObject); procedure CDE_Charger(Sender: TObject); private { Déclarations privées } procedure Afficher_GRID_OUT; public { Déclarations publiques } end; var MainFiche: TMainFiche; Largeur, Hauteur: Integer; V_Tableau_IN: array of array of Byte; V_Tableau_OUT: array of array of Byte; implementation uses StrUtils, Math, DateUtils; {$R *.dfm} {$R manifest.res} procedure TMainFiche.CREER(Sender: TObject); var X, Y: Integer; begin Largeur := 5; Hauteur := 4; Setlength(V_Tableau_IN,Largeur,Hauteur); // colonnes, lignes //---Start-Mise en place de données aléatoires dans V_TABLEAU_IN et affichage dans GRID_IN---// Randomize; For X := 0 to Largeur - 1 do For Y := 0 to Hauteur - 1 do Begin V_Tableau_IN[X,Y] := Random(256); GRID_IN.Cells[X,Y] := IntToStr(V_Tableau_IN[X,Y]); end; //---End---Mise en place de données aléatoires dans V_TABLEAU_IN et affichage dans GRID_IN---// end; procedure TMainFiche.CDE_Enregistrer(Sender: TObject); var X, Y: Integer; FileStrm: TFileStream; begin if FileExists('Texture.tx3') then DeleteFile('Texture.tx3'); FileStrm := TFileStream.Create('Texture.tx3',fmCreate or fmShareExclusive); // ouverture d'un flux en création de fichier et de façon exclusive à l'application Try FileStrm.Position := 0; // on se positionne au début du flux FileStrm.WriteBuffer(Largeur,SizeOf(Integer)); // Nb de colonnes FileStrm.WriteBuffer(Hauteur,SizeOf(Integer)); // Nb de lignes For Y := 0 to Hauteur - 1 do For X := 0 to Largeur - 1 do FileStrm.WriteBuffer(V_Tableau_IN[X,Y],SizeOf(Byte)); // données FileStrm.Free; Except end; end; procedure TMainFiche.CDE_Charger(Sender: TObject); var X, Y, L, H, Taille: Integer; FileStrm: TFileStream; begin if FileExists('Texture.tx3') then Begin FileStrm := TFileStream.Create('Texture.tx3',fmOpenRead or fmShareExclusive); // ouverture d'un flux en lecture de fichier et de façon exclusive à l'application Try FileStrm.Position := 0; // on se positionne au début du flux FileStrm.ReadBuffer(L,SizeOf(Integer)); // Nb de lignes FileStrm.ReadBuffer(H,SizeOf(Integer)); // Nb de colonnes Setlength(V_Tableau_OUT,L,H); // colonnes, lignes For Y := 0 to H - 1 do For X := 0 to L - 1 do FileStrm.ReadBuffer(V_Tableau_OUT[X,Y],SizeOf(Byte)); // données FileStrm.Free; Except end; Afficher_GRID_OUT; end; end; procedure TMainFiche.Afficher_GRID_OUT; var X, Y: Integer; begin For X := 0 to Length(V_Tableau_OUT) - 1 do For Y := 0 to Length(V_Tableau_OUT[X]) - 1 do GRID_OUT.Cells[X,Y] := IntToStr(V_Tableau_OUT[X,Y]); end; end.