Hier erstmal 2 Funktionen, um eine Datei in einen String zu laden
und einen String als Datei zu speichern:
Delphi-Quellcode:
function FileToString(const FileName: string): 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;
procedure StringToFile(const FileName: string; const Contents: AnsiString);
var
fs: TFileStream;
Len: Integer;
begin
fs := TFileStream.Create(FileName, fmCreate);
try
Len := Length(Contents);
if Len > 0 then
fs.WriteBuffer(Contents[1], Len);
finally
fs.Free;
end;
end;
Damit kannst du Dateien bis max. 2GB laden und speichern.
Ein String (genauer AnsiString) kann ja ohne Probleme auch nichtdruckbare Zeichen und auch
die Hex-0 (#0) aufnehmen.
Mit etwas Stringverarbeitung kannst du die Daten nach Belieben verändern.