Me parece que esas no son las funciones más adecuadas para procesar ficheros de texto (aparte de que en Delphi se usa
Chr(13) (o
#13) en lugar de
\n).
FileWrite y
FileRead procesan bytes de memoria (
buffers) y no cadenas de texto.
Así, ese código podría quedar, poco más o menos:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
iArchivo, i, x : integer;
pmem: PChar; n1, n2, n: String;
begin
n1:= 'Hola Mundo'+#13;
n2:= 'Hola Carlos'+#13;
n:= n1+n2;
pmem:= PChar(AllocMem(SizeOf(n))); StrMove(m, PChar(n), Length(n)); iArchivo := FileCreate('Prueba.txt');
FileWrite(iArchivo, pmem[0], Length(n)); FileClose(iArchivo);
FreeMem(pmem); end;
Un poco rebuscado, ¿no?
Por eso, para ficheros de texto se usan estas otras funciones:
Código Delphi
[-]
procedure TForm1.Button2Click(Sender: TObject);
var fch: TextFile;
begin
AssignFile(fch, 'k:\Prueba.txt');
Rewrite(fch);
WriteLn(fch, 'Hola Mundo');
WriteLn(fch, 'Hola Carlos');
CloseFile(fch);
end;