man kann allerdings so einen TWriter auch zum blockorientierten Schreiben und Lesen von Dateien benutzen.
Und das geht um Welten schneller als TFilestream ohne TWriter und TReader.
Mal ein Beispiel wo records in ein File geschrieben werden
Delphi-Quellcode:
procedure Tzigzag.SaveZZToFile(const FileName : String);
var
schenkel : TPSchenkel;
stream : TFileStream;
writer : TWriter;
i : Integer;
size : Integer;
begin
if Filename = '' then exit;
size := SizeOf(TSchenkel);
stream := TFileStream.Create(FileName,fmCreate or fmShareDenyWrite);
try
writer := TWriter.Create(stream,BufferSize);
try
for i := 0 to flist.Count - 1 do
begin
schenkel := Flist[i];
writer.Write(schenkel^, size);
end;
finally
writer.Free;
end;
finally
stream.Free;
end;
end; // SaveToFile (Tzigzag)
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.