Archivo de texto plano

89 views
Skip to first unread message

Dario_El_Cyber_Gaucho_Rosario_Argentina

unread,
Oct 6, 2010, 1:14:43 PM10/6/10
to Comunidad de Visual Foxpro en Español
Estoy utilizando este codigo para generar un archivo txt de lineas con
un largo de 290 caracteres.
El problemas esta que probando con distintos valores del pretext no
consigo eliminar el espacio que se genera en cada linea y al mismo
tiempo la primera linea en blanco.
Ideas plissss

Gracias

mnn = "0000000000'+CODDRG+SUBS(DTOC(FECHA),1,2)+SUBS(DTOC(FECHA),
4,2)+STR(YEAR(FECHA),4)+;
mNRO_DOC+'0000000000'+codite+desite+subs(STR(1000000+CANT,7),
2)+'001'+SUBSTR(STR(10000000+precio*cant,8,2),2)+subs(STR(1000+BONIF,
4),2)+;
+mPeriodo+SUBSTR(razsoc,1,35)+cuit+codpos+dircli+SPACE(7)+nomloc
+SPACE(25)+'121'&&+SPACE(30)

SET TEXTMERGE ON
STORE FCREATE('dario.txt') TO _TEXT
IF _TEXT = -1 && No puede crear archivo de bajo nivel entonces
termina
WAIT WINDOW 'No puede crear archivo de salida. Presione una tecla
para salir.'
CANCEL
ENDIF

TEXT PRETEXT 7
<<Mnn>>
ENDTEXT

CLOSE ALL && Cierra el archivo de texto y la tabla
MODIFY FILE dario.txt

Oscar Díaz

unread,
Oct 6, 2010, 1:33:50 PM10/6/10
to publice...@googlegroups.com
Estimado Dario:
 
Yo lo hago con el siguiente codigo:
 
IF FILE("dario.txt")
     ERASE dario.txt
ENDIF
SET DEVICE TO FILE dario.txt
 
select 0
use tabla
go top
do while !eof()
        @ PROW(), 0 SAY "0000000000'
        @ PROW(), PCOL() SAY CODDRG
         etc...
  skip
enddo
use in tabla
SET DEVICE TO SCREEN
modi comm dario.txt

Espero le sirva.
 
Exitos...
 
Oscar Díaz desde Bogotá.co

Luis Maria Guayan

unread,
Oct 6, 2010, 1:41:34 PM10/6/10
to publice...@googlegroups.com
Intenta con

TEXT PRETEXT 7
<<Mnn>>
ENDTEXT

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

 

Dario_El_Cyber_Gaucho_Rosario_Argentina

unread,
Oct 6, 2010, 1:48:49 PM10/6/10
to Comunidad de Visual Foxpro en Español
no me digas que es la indentacion!!!


On 6 oct, 14:41, Luis Maria Guayan <luisma...@portalfox.com> wrote:
> Intenta conTEXT PRETEXT 7 <<Mnn>> ENDTEXT
>
> Luis María Guayán
> Tucumán, Argentina
> _________________________http://www.PortalFox.com

Luis Maria Guayan

unread,
Oct 6, 2010, 1:45:14 PM10/6/10
to publice...@googlegroups.com
No te digo, intenta :-)))

Dario_El_Cyber_Gaucho_Rosario_Argentina

unread,
Oct 6, 2010, 1:51:54 PM10/6/10
to Comunidad de Visual Foxpro en Español
pero sigue metiendo una linea en blanco al principio del archivo :(

Victor Espina

unread,
Oct 7, 2010, 11:09:41 AM10/7/10
to Comunidad de Visual Foxpro en Español
Dos opciones:

a) FWRITE():

LOCAL nHandle
nHandle = FCREATE('dario.txt')
IF nHandle < 0
* Error
RETURN
ENDIF

FWRITE(nHandle, SPACE(7) + mNN + CHR(13) + CHR(10))

FCLOSE(nHandle)


b) STRTOFILE()

LOCAL cBuff
cBuff = ""

cBuff = cBuff + SPACE(7) + mNN + CHR(13) + CHR(10)

TRY
STRTOFILE(cBuff, 'diario.txt')
CATCH TO ex
* Error al crear el archivo
ENDTRY

Saludos

Victor Espina

On 6 oct, 13:14, Dario_El_Cyber_Gaucho_Rosario_Argentina

miltonvas

unread,
Oct 7, 2010, 11:27:20 AM10/7/10
to Comunidad de Visual Foxpro en Español
y porque no usas strtofile()

k=repli("A",190)+chr(10)
=strtofile(k,"mifile.txt")
for i=1 to 10
k=repli("A",190)+chr(10)
=strtofile(k,"mifile.txt",1) &&añade al final del archivo
endfor


On 6 oct, 12:51, Dario_El_Cyber_Gaucho_Rosario_Argentina

Carlos Boemo

unread,
Oct 7, 2010, 11:38:51 AM10/7/10
to publice...@googlegroups.com


Create cursor xaux ;
                   ( campo01 c(50) ,;
                     campo02 c(200) ,;
                     . 
                     .
                     .
                     campoxx c(75))

completas los campos como necesites ...

y luego

sele xaux
copy to xfile.txt type sdf             

Saludos

Carlos

Dario_El_Cyber_Gaucho

unread,
Oct 7, 2010, 12:26:36 PM10/7/10
to publice...@googlegroups.com
Gracias a todos por las ideas al final lo hice con el tetxmerge...

Jorge

unread,
Oct 11, 2010, 4:55:39 PM10/11/10
to Comunidad de Visual Foxpro en Español
Y porque no usar FPUTS()?... te permite poner la cantidad de
caracteres a escribir

Saludos
Jorge Florez
Lima - Perú

On 6 oct, 12:14, Dario_El_Cyber_Gaucho_Rosario_Argentina
Reply all
Reply to author
Forward
0 new messages