Neues Problem:
Der Code Filetostring und Stringtofile scheint die gelesen Daten auf der Festplatte noch offen zu haben; das Löschen geht nur, wenn mein Programm, das die Daten eingelesen hat, geschlossen wird. Gibt es ein Close dazu? Ich habe bei den Streams nachgesehen, konnte aber nichts finden.
@marabu
Ich habe mir den Code auch angesehen: Der Code schreibt in die Backups die Länge an den Anfang.
Ich kann obigen Code nicht mehr ändern:
Also den Code verwenden:
Delphi-Quellcode:
function FileToString(const FileName: string): AnsiString;// inline;
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, Str: string);//Inline;
var
fs: TFileStream;
Len: Integer;
begin
fs := TFileStream.Create(FileName, fmcreate);
try
Len := Length(Str);
// fs.Write(Len, SizeOf(Integer)); Raus damit!!!!!!
fs.Write(Str[1], Len);
finally
fs.Free;
end;
end;
Vielen Dank Marabu, Dein Einwand war absolut berechtigt!
Gruß
Go2EITS