Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: FileToString: Wie String zu "StringToFile?"

  Alt 26. Sep 2006, 16:22
Hallo,

ich kann zwar keinen Sinn darin erkennen den Inhalt einer beliebigen Datei (binär?, riesig?) als String im Hauptspeicher zu lagern, aber wenn überhaupt, dann würde ich einen MemoryStream als Zwischenlager benutzen. Die Größe der ursprünglichen Datei darf natürlich nicht geschrieben werden, da so der Dateiinhalt verändert wird:

Delphi-Quellcode:
procedure LoadStream(s: TStream; fn: TFileName);
var
  fs: TFileStream;
begin
  fs := TFileStream.Create(fn, fmOpenRead or fmShareDenyWrite);
  try
    s.CopyFrom(fs, fs.Size);
    s.Position := 0;
  finally
    fs.Free;
  end;
end;

procedure SaveStream(s: TStream; fn: TFileName);
begin
  with TFileStream.Create(fn, fmCreate) do
  try
    s.Position := 0;
    CopyFrom(s, s.Size);
  finally
    Free;
  end;
end;
Getippt und nicht getestet.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat