FS.Seek(0, soFromBeginning);
Fs.Seek(, soFromBeginning);
procedure TForm1.Button1Click(Sender: TObject); var Position1, Position2: integer; begin Position1 := 10; Position2 := 20; if ResetFile('data.dat', Position1, Position2) then ShowMessage('Opération réussie !'); end; function TForm1.ResetFile(const FileName: TFileName; const First, Last: integer): boolean; var FS: TFileStream; Buffer: array of char; begin Result := False; //Création d'un flux fichier en lecture écriture FS := TFileStream.Create(FileName, fmOpenReadWrite or fmShareExclusive); try //se positionner au début de l'écriture FS.Seek(First, soFromBeginning); //dimensionner le buffer à écrire SetLength(Buffer, Last - First + 1); //initialisation du buffer avec le caractère '0' FillChar(Buffer, SizeOf(Buffer), '0'); //écriture de Buffer dans le flux fichier FS.Write(Buffer, SizeOf(Buffer)); Result := True; finally FS.Free end; end;
procedure TForm1.Button1Click(Sender: TObject); var FS: TFileStream; Buffer: array[0..1] of char; begin //Création d'un flux fichier en lecture écriture FS := TFileStream.Create('test.xxx', fmOpenReadWrite); try //repositionner le flux au début FS.Seek(0, soFromBeginning); //caractères à écrire au début du fichier Buffer := '00'; //écriture de Buffer dans le flux fichier FS.Write(Buffer, SizeOf(Buffer)); finally FS.Free end; end;
procedure TForm1.Button1Click(Sender: TObject); var FS: TFileStream; Buffer: char; i: integer; begin //Création d'un flux fichier en lecture écriture FS := TFileStream.Create('test.xxx', fmOpenReadWrite); try //repositionner le flux au début FS.Seek(0, soFromBeginning); //caractère à écrire dans le fichier Buffer := '0'; for i := 1 to Fs.Size do //écriture de Buffer dans le flux fichier FS.Write(Buffer, SizeOf(Buffer)); //Contrôle du contenu dans Memo1 FS.Seek(0, soFromBeginning); Memo1.Lines.LoadFromStream(FS); finally FS.Free end; end;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question