Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: PChar auf Text-File zeigen lassen

  Alt 10. Mai 2010, 19:21
Es gibt da eine nützliche Funktion, mit der man eine Datei in einen String laden kann:
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;
Und dann:
Delphi-Quellcode:
var
  aBuf: PChar;
  aLen: integer;
  s : AnsiString;
begin
  s := FileToString('testdatei.txt');
  aBuf := PAnsiChar(s);
  aLen := Length(s);
  ...
end;

PS: hier noch die Umkehrfunktion StringToFile():
Delphi-Quellcode:
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;
Andreas
  Mit Zitat antworten Zitat