Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: array of byte (dynamisch) schreiben in FileStream

  Alt 18. Dez 2005, 11:36
Hi,
also den wichtigsten Tip hast du schon bekommen, aber du solltest noch ein paar Kleinigkeiten ändern.
Dein FS.Create sollte schon in den try ... finally Block rein. Dann ist es sicherlich schlecht, wenn jmd. anderes die datei auch noch schreiben kann während du an der arbeitest (fmOpenReadWrite or fmShareDenyWrite).
Um ein Array schnell mit einem Wert zu füllen (kann ja sein das du auch später einen hast), einfach FillChar benutzen.

Also etwas wie

Delphi-Quellcode:
const BUFSIZE = 1024;
begin
  try
    Fs := TFileStream.Create(fn, fmOpenReadWrite or fmShareDenyWrite);
    setLength(ContentBlk, BUFSIZE);
    FillChar(ContentBlk[0], length(ContenBlk), $55);
    Fs.Seek(0, soFromBegining);
    Fs.Write(ContentBlk[0], BUFSIZE);
  finally
    Fs.Free;
  end;
end;
Gruß Der Unwissende
  Mit Zitat antworten Zitat