Hallo,
ein kleines Bsp.-Programm funktioniert
(c:\tmp muss existieren)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
TxtFile: TextFile;
sLine : String;
begin
sLine:= 'C:\Dokumente Und Einstellungen\bla.txt';
AssignFile(TxtFile, 'c:\tmp\test.txt');
Rewrite(TxtFile);
WriteLn(TxtFile, sLine);
CloseFile(TxtFile);
end;
Das Problem ist, dass WriteLn nur 255 Zeichen schreiben kann,
wenn
String verwendet wird (auch wenn der String länger ist).
Umweg über PChar.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
TxtFile: TextFile;
sLine : String;
sLine2 : String;
i : Integer;
szLine2 : PChar;
begin
sLine:= 'C:\Dokumente Und Einstellungen\bla.txt';
sLine2:= '';
for i:= 1 to 30 do
begin
sLine2:= sLine2+'1234567890';
end;
// sLine2 hat jetzt 300 Zeichen.
GetMem(szLine2, Length(sLine2)+1);
StrPCopy(szLine2, sLine2);
AssignFile(TxtFile, 'c:\tmp\test.txt');
Rewrite(TxtFile);
WriteLn(TxtFile, sLine);
WriteLn(TxtFile, szLine2);
CloseFile(TxtFile);
FreeMem(szLine2);
end;
Heiko
PS: try finally fehlt.