Einzelnen Beitrag anzeigen

Benutzerbild von Pichel
Pichel

Registriert seit: 25. Feb 2005
Ort: Kassel
65 Beiträge
 
Delphi 7 Professional
 
#1

array of byte (dynamisch) schreiben in FileStream

  Alt 18. Dez 2005, 10:59
Hi,

irgendwie bekomme ich es nicht auf die Reihe ein dynamisches Array of Byte per Filestream in eine Datei zu schreiben.
Ich habe ein dynamische Array welches ich per SetLength auf die Größe setze.
Dann fülle ich das gesamte Array einfach mal mit $55.
Bei Prüfung ist auch jedes Byte = $55
nun per fs.Write in den Filestream geschrieben und nachher in die Datei geschaut sind dort keine $55 sondern irgendwelcher Datenmüll. Irgendwie machen mich Pointer immer ganz irre

Habe mal ein Beispiel kurz zusammengebaut:

Delphi-Quellcode:
const BUFSIZE = 1024;
begin
      Fs := TFileStream.Create(fn, fmOpenReadWrite);
      try
        SetLength(ContentBlk, BUFSIZE);
        for i:=low(ContentBlk) to high(ContentBlk) do ContentBlk[i] := $55;
        Fs.Seek(0, soFromBeginning);
        Fs.Write(ContentBlk, BUFSIZE);
        FlushFileBuffers(Fs.Handle);
      finally
        Fs.Free;
      end;
end;
Der Source ist einfach auf das Minimum reduziert, daher mag es etwas unsinnig erschreinen wenn ich einfach den Anfang einer Datei mit $55 überschreibe, aber es geht mir nur um den .write Vorgang.
Grüße aus Kassel.

Konfuzius sprach: Etwas lernen und sich immer wieder darin üben - schafft das nicht auch Befriedigung?
  Mit Zitat antworten Zitat