Zitat von
mkinzler:
Dann versuch mal eine Binärdatei hier einzulesen.
Kein Problem.
Folgender Code ist zwar wahrscheinlich recht lahm, funktioniert aber zu 100%.
Ich habe gerade eben eine ca. 36MB große .exe damit kopiert.
Ein Dateivergleich ergab keine Unterschiede. Die MD5-Summen sind ebenfalls identisch.
Eine Datei in einen String einlesen:
Delphi-Quellcode:
function FileToString(const AFileName: string): AnsiString;
var
f: TFileStream;
l: Integer;
begin
Result := '';
f := TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite);
try
l := f.Size;
if L > 0 then
begin
SetLength(Result, l);
F.ReadBuffer(Result[1], l);
end;
finally
F.Free;
end;
end;
Einen String in die eine Datei schreiben:
Delphi-Quellcode:
function StringToFile(const AData: AnsiString; AFileName: string): boolean;
var
myFile: file of Char;
i: integer;
begin
try
Result := false;
AssignFile(myFile, AFileName);
ReWrite(myFile);
for i := 1 to Length(AData) do
Write(myFile, AData[i]);
Result := true;
finally
CloseFile(myFile);
end;
end;
Wie Du siehst, es funktioniert eben doch!
Gruß,
Orest.