Einzelnen Beitrag anzeigen

orest

Registriert seit: 19. Feb 2004
7 Beiträge
 
#11

Re: Einlesen von Binärdateien

  Alt 19. Sep 2006, 14:40
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.
  Mit Zitat antworten Zitat