Creo un archivo .txt y me aparece todo en una sola linea....

2,783 views
Skip to first unread message

fputignani

unread,
Sep 27, 2010, 5:00:58 PM9/27/10
to Comunidad de Visual Foxpro en Español
Buenas, creo un archivo .txt con las siguientes sentencias en un
botón; y funciona bárbaro, cuando me lo abre, veo todos los renglones.
Pero cuando salgo del programa y abro el archivo con el bloc de notas,
me aparece todo en una sola linea (no me diferencia los renglones...).

m=ALLTRIM(thisform.text1.Value)+".txt"
n=FCREATE(m)
=FPUTS(n,thisform.edit1.Value)
=FCLOSE(n)
MODIFY FILE &m


Aclaro, que si el texto de edit1 lo escribo yo, funciona todo bien.
Pero la cuestión es que ese texto se ingresa desde distintos
procedimientos, y es entonces cuando surge el problema....
Alguna sugerencia ?

hhbernal

unread,
Sep 27, 2010, 5:15:08 PM9/27/10
to Comunidad de Visual Foxpro en Español

Hola,

Una sugerencia es que cuando lo ingresas por otros medios, verifiques
si existe un CR LF (retorno de carro y línea nueva), para que lo
consideres al momento de la lectura de los textos y después de cada
línea leída pongas al final la combinación CHR(13)+CHR(10).

Espero sea de ayuda.


Saludos desde México, D.F.

Victor Eduardo Torres Tejada

unread,
Sep 27, 2010, 5:22:50 PM9/27/10
to publice...@googlegroups.com
Y si le agregas el retorno de carro,

#

DEFINE CRLF CHR(13)+CHR(10)
m=ALLTRIM(thisform.text1.Value)+".txt"
n=FCREATE(m)
=FPUTS(n,thisform.edit1.Value+ CRLF)
=FCLOSE(n)
MODIFY FILE &m

-------------------------------------------------
El retorno de carro se agrega solo cuando tu escribes, pero
si lo jalas via procedimiento de otros campos o variables seguro
ahi no lo tiene, prueba si es eso.
 
Nos vemos,
--
Victor
 
 

Walter R. Ojeda Valiente

unread,
Sep 27, 2010, 5:27:36 PM9/27/10
to publice...@googlegroups.com
La función FPUTS() le agrega un retorno de carro al final de la línea. O sea que el texto introducido en tu EDIT tendrá un solo retorno de carro al final.

Lo que deberías hacer es utilizar la función MLINE() para obtener cada línea del EDIT y luego grabar cada una de esas líneas con la función FPUTS().

Saludos.

Walter.

fputignani

unread,
Sep 27, 2010, 5:35:44 PM9/27/10
to Comunidad de Visual Foxpro en Español
Si, cuando le agrego texto al edit siempre le agrego CHR(13) al final,
pero el CHR(10) no.
Ahora no encuentro el listado de todos los caracteres ANSI.
Alguien me dice cual es o para que es el CHR(10) ?

Walter R. Ojeda Valiente

unread,
Sep 27, 2010, 5:41:00 PM9/27/10
to publice...@googlegroups.com
Es ASCII y no ANSI.

Y el número para el CHR(10) es ... 10.

Y el CHR(13) y el CHR(10) te los agrega automáticamente al final la función FPUTS().

Pero debes tener un FPUTS() por cada línea de tu texto, no solamente un FPUTS() al final, necesitas uno por cada línea.

Mira la ayuda de MLINE(), MEMLINES(), MEMOWIDHT, para más información.

Saludos.

Walter.

fputignani

unread,
Sep 27, 2010, 5:41:50 PM9/27/10
to Comunidad de Visual Foxpro en Español
Siiiiiiiiiiiiiiii ! ! ! ! . . . .
Funciona bárbaro con el CHR(13)+CHR(10)

Gracias Walter, es verdad lo que decis, solo le agrega el retorno de
carro al final, pero yo le agregaba CHR(13) en el procedimiento que
escribia en le edit1. Solo me faltaba agregarle el CHR(10) .
Gracias a todos ;)

ANTONIO BAUZA HERNANDEZ

unread,
Sep 27, 2010, 6:11:15 PM9/27/10
to FOXPRO GRUPO
chr(10)  LF
chr(13) CR

Dan un avance (salto) de linea y retorno de carro en una linea de texto

Saludos

Antonio


From: wr...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] Re: Creo un archivo .txt y me aparece todo en una sola linea....
Date: Mon, 27 Sep 2010 21:41:00 +0000

Luis Maria Guayan

unread,
Sep 27, 2010, 7:06:23 PM9/27/10
to publice...@googlegroups.com
Utiliza STRTOFILE que es mas fácil

lcFile = FORCEEXT(ALLTRIM(thisform.text1.Value),"TXT")
STRTOFILE(thisform.edit1.Value, lcFile)
MODIFY FILE (lcFile)


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

fputignani

unread,
Sep 30, 2010, 4:19:04 PM9/30/10
to Comunidad de Visual Foxpro en Español
Gracias Luis, la verdad que simplifica las cosas, y hasta tiene la
posibilidad de agregar info al final del archivo.
Esta muy buena la función.
Pero como es que no aparece en http://msdn.microsoft.com/es-es/library/cc450489(VS.71).aspx
?
Es decir, yo siempre me guío por lo que encuentro ahí =S

Luis Maria Guayan

unread,
Sep 30, 2010, 5:47:28 PM9/30/10
to publice...@googlegroups.com
http://msdn.microsoft.com/es-es/library/cc451093(VS.71).aspx

Te aconsejo que utilices la ayuda de VFP que viene con el producto

Si quieres descargar la ayuda de VFP8 en español:

http://www.portalfox.com/press/index8.htm

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________


fputignani

unread,
Sep 30, 2010, 6:21:22 PM9/30/10
to Comunidad de Visual Foxpro en Español
Grax ;)

Horacio Ramirez

unread,
May 14, 2020, 7:00:28 PM5/14/20
to Comunidad de Visual Foxpro en Español
Otra forma de hacerlo y lo abro en bloc de notas y sale bien.

cArchivo_txt = Putfile("Guardar: ",cArchivo_txt,"txt")
SET console off
SET device to print
SET printer to &cArchivo_txt.
SET print on
r = CHR(13)                   && Ojo tiene que imprimir primero CHR(13)  si lo hace asi CHR(13)  + CHR(10) sale todo en una linea
n = CHR(10)

*!* Cabecera.
?? "HDR|" && Indicador de registro de inicio.
?? r                                  && Primero debe imprimir solo el CHR(13) y luego
?? n                                 && el  CHR(10) si lo hace asi r + n todo sale en una linea.

DO WHILE !EOF("curResultado")
*!* Detalle.
nRegistros = nRegistros + 1 && Número de registro.
?? "REG|" && Indicador de registro de inicio.
?? r
?? n
nMontoTotal = nMontoTotal + curResultado.icobrado && Total de Venta.
SKIP IN "curResultado"
ENDDO

*!* Pie de página.
?? "TRL|" && Indicador de registro de inicio.

SET print off
SET printer to
SET device to screen
SET console on

Saludos cordiales
Reply all
Reply to author
Forward
0 new messages