Mit folgender Funktion wird die Sache ganz einfach:
Delphi-Quellcode:
// Kopiert aus der JCL
function FileToString(const FileName: AnsiString): AnsiString;
var
fs: TFileStream;
len: Integer;
begin
fs := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
len := fs.Size;
SetLength(Result, len);
if len > 0 then
fs.ReadBuffer(Result[1], len);
finally
fs.Free;
end;
end;
Ich kann nur empfehlen, obige Funktion dauerhaft auf Platte oder im Gedächtnis zu speichern!
@franktron: du hast vergessen, für den String "buf" Speicherplatz zu reservieren.