Einzelnen Beitrag anzeigen

Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Datei mit "#0" schreiben?

  Alt 3. Apr 2007, 00:17
Soweit ich weiß sind Delphi-Strings nullterminierte Char-Arrays, das heißt, an der Stelle, wo ein #0 ist, ist für Delphi der String zu Ende. Du wirst wohl nicht umhinkommen, das ganze "per Hand" zu laden, also mit einem Filestream und immer schön schauen, ob grad ein #0 da ist.

Ein Filestream lässt sich recht leicht bedienen:

Delphi-Quellcode:
var buf: Char;
    str: String;
    fs: TFileStream;
begin
  fs:=TFileStream.Create('Dateiname', fmOpenRead, fmShareDenyWrite);
  try
    while fs.Position<fs.Size do
    begin
      fs.Read(buf, 1);
      if buf=#0 then
        //...
      else
        str:=str+buf;
    end;
  finally
    fs.Free;
  end;
end;
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat