Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-05-2007
Avatar de carlosegs11
carlosegs11 carlosegs11 is offline
Miembro
 
Registrado: jul 2004
Posts: 41
Poder: 0
carlosegs11 Va por buen camino
Thumbs up Salto de linea en ficheros

Hola amigos foristas.

Quiero guardar información en un archivo de texto pero dejando el salto de linea. Utilizó el siguiente código:

var
iArchivo, i : integer;
sArchivo : string;
begin
iArchivo := FileCreate('Prueba.txt');
FileWrite(iArchivo, 'Hola mundo\n', 12);
FileWrite(iArchivo, 'Hola Carlos\n', 12);
FileClose(iArchivo);
end;

Cuando abro el archivo Prueba.txt me aparece una sola linea:

Hola Mundo\nHola Carlos\n

Mi intención es que aparezca asi:

Hola Mundo\n
Hola Carlos\n

Que me puede estar faltando en el código?

Gracias de antemano.

Carlos E.
Responder Con Cita
  #2  
Antiguo 16-05-2007
Avatar de carlosegs11
carlosegs11 carlosegs11 is offline
Miembro
 
Registrado: jul 2004
Posts: 41
Poder: 0
carlosegs11 Va por buen camino
Thumbs up

Perdon para que se vea un poco mejor....


Hola amigos foristas.

Quiero guardar información en un archivo de texto pero dejando el salto de linea. Utilizó el siguiente código:


Código Delphi [-]
var
iArchivo, i : integer;
sArchivo : string;
begin
iArchivo := FileCreate('Prueba.txt');
FileWrite(iArchivo, 'Hola mundo\n', 12);
FileWrite(iArchivo, 'Hola Carlos\n', 12);
FileClose(iArchivo);
end;





Cuando abro el archivo Prueba.txt me aparece una sola linea:

Hola Mundo\nHola Carlos\n

Mi intención es que aparezca asi:

Hola Mundo\n
Hola Carlos\n

Que me puede estar faltando en el código?

Gracias de antemano.

Carlos E.
Responder Con Cita
  #3  
Antiguo 16-05-2007
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
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; //puntero a memoria
          n1, n2, n: String;

begin
n1:= 'Hola Mundo'+#13;
n2:= 'Hola Carlos'+#13;
n:= n1+n2;
pmem:= PChar(AllocMem(SizeOf(n))); //ahora pmem es como un array de bytes
StrMove(m, PChar(n), Length(n)); //en el que se copian los de n
iArchivo := FileCreate('Prueba.txt');
FileWrite(iArchivo, pmem[0], Length(n)); //se graba pmem desde la posición 0
FileClose(iArchivo);
FreeMem(pmem); // se libera pmem
end;
//(http://npascal.sourceforge.net/pdeve..._SysUtils.html)

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;
Responder Con Cita
  #4  
Antiguo 17-05-2007
Avatar de carlosegs11
carlosegs11 carlosegs11 is offline
Miembro
 
Registrado: jul 2004
Posts: 41
Poder: 0
carlosegs11 Va por buen camino
Wink

Wellnic, excelente tu respuesta. Me sirvio a las mil maravillas. Muchas gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con salto de linea cirilungol MySQL 9 16-01-2007 15:17:05
RichEdit, salto de linea chrids506 OOP 3 12-07-2006 17:42:41
Eliminar salto de linea de una cadena pablomg8 Varios 2 13-05-2005 15:35:44
salto de linea bolofe Varios 2 24-04-2005 17:30:19
Salto de linea en qreport davidgaldo Impresión 6 02-06-2004 12:59:22


La franja horaria es GMT +2. Ahora son las 07:18:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi