COMO QUITAR LA PRIMERA LINEA QUE QUEDA EN BLANCO DE UN CAMPO MEMO

199 views
Skip to first unread message

FERNANDO ALONSO G.P.

unread,
Aug 23, 2014, 3:28:36 PM8/23/14
to publice...@googlegroups.com
HOLA A TODOS.

VUELVO A LLAMAR VUESTRA ATENCION PARA PREGUSTAROS COMO QUITAR LA PRIMERA LINEA DE UN CAPO MEMO QUE SE ME GENERA AL UTILIZAR EL COMANDO TEXT..ENDTEX Y LUEGO INPORTARLO CON UN APPEND FROM MEMO EL FICHERO .TXT CREADO CON EL COMANDO ANTERIOR.

OS MANDO EL CODIGO QUE TENCO EN UN BOTON DE COMANDO EN EL METODO CLICK.

SELECT CORONAS
SET FILTER TO CORONAS.ID_EXP=VEXP
SELECT ALLTRIM(ALLTRIM(STR(Coronas.npedido))+' '+ALLTRIM(Coronas.modelo)) as MODELO, ALLTRIM(STR(Coronas.precio)+'€') as PRECIO,;
     ALLTRIM(STR(Coronas.factura)+'€') as FACTURA, ALLTRIM(STR(Coronas.efectivo)+'€') as EFECTIVO, ALLTRIM(Coronas.dedica) as DEDICA;
    FROM ;
        salas!salas ;
    INNER JOIN salas!coronas ;
   ON  Coronas.id_exp = Salas.orden;
 WHERE  Coronas.id_exp = VEXP;
    ORDER BY coronas.npedido INTO CURSOR FLORES NOCONSOLE
 
SELECT 'flores'   
SET TEXTMERGE ON
STORE FCREATE('&RUTA'+'\gestion\TXT\CORONAS.TXT') TO _TEXT
IF _TEXT = -1
    WAIT WINDOW 'No se puede crear archivo de salida. Presione una tecla para salir.'
    CANCEL
ENDIF

SCAN NEXT 6

*TEXT TO FLOR NOSHOW TEXT PRETEXT 6
TEXT
<<MODELO>><<PRECIO>><<FACTURA>><<EFECTIVO >><<DEDICA>>
ENDTEXT
ENDSCAN
*** AUI YA SE HA CREADO EL TXT CON LA 1ª LINEA EN BLANCO


=FCLOSE('&RUTA'+'\gestion\TXT\CORONAS.TXT')
*** AQUI ME DA UN ERROR COMO QUE NO PUEDO ACCEDER AL TXT

SET TEXTMERGE OFF     
CREATE CURSOR flor_out (coronas MEMO)
APPEND BLANK
APPEND MEMO flor_out.CORONAS FROM ('&RUTA'+'\gestion\TXT\CORONAS.TXT')
*** AQUI HE IMPORTADO EL FICHERO TXT AL MEMO YA CON LA 1ª LINEA EN BLANCO


SELECT SALAS
LOCATE FOR SALAS.ORDEN=VEXP
SET FILTER TO SALAS.ORDEN=VEXP

IF SUBSTRC(ALLTRIM(SALAS.FOTO),1,1)="R"
    XFOTO="&RUTA"+SUBSTRC(ALLTRIM(SALAS.FOTO),3,150)
ELSE
    XFOTO=ALLTRIM(SALAS.FOTO)
ENDIF

IF SYS(5)<>"E:"
    IF SUBSTRC(ALLTRIM(SALAS.FOTO),1,1)="E"
        NWRUTA=SYS(5)
        XFOTO="&NWRUTA"+SUBSTRC(ALLTRIM(SALAS.FOTO),13,150)
    ENDIF
ENDIF
IF SYS(5)<>"R:"
    IF SUBSTRC(ALLTRIM(SALAS.FOTO),1,1)="R"
        NWRUTA=SYS(5)
        XFOTO="&NWRUTA"+SUBSTRC(ALLTRIM(SALAS.FOTO),3,150)
    ENDIF
ENDIF



SELECT INFOSERV
SET FILTER TO INFOSERV.EXP=VEXP
SELECT COMPLEMENTOS
SET FILTER TO COMPLEMENTOS.ID_EXP=VEXP


REPORT FORM "&RUTA"+"\gestion\REPORTS\CSERV2Pp.frx" FOR INFOSERV.EXP=VEXP;
                ENVIRONMENT NOCONSOLE TO PRINT PROMPT

*** AL IMPRIMIR ME DA UN ERROR POQUE LA CADENA DEL MEMO ES DEMASIADO LAGA, PRODUCIDA POR LA 1ª LINEA QUE ESTA EN BLANCO
               
SELECT SALAS
LOCATE FOR SALAS.ORDEN=VEXP


THISFORM.REFRESH


MUCHAS GRACIAS POR VUESTRA AYUDA, YA QUE VOY APRENDIENDO A MEDIDA QUE VOY TROPEZANDO

francisco prieto

unread,
Aug 23, 2014, 4:25:47 PM8/23/14
to publice...@googlegroups.com
Fernando...

En vez de poner...

TEXT 
<<MODELO>><<PRECIO>><<FACTURA>><<EFECTIVO >><<DEDICA>>
ENDTEXT

tenes que poner

TEXT TEXTMERGE NOSHOW PRETEXT FLAG 2 PRETEXT 7

<<MODELO>><<PRECIO>><<FACTURA>><<EFECTIVO >><<DEDICA>>
ENDTEXT

Creo que el problema al cual te referis es el que comenta el help respecto del Flag 2


Saludos,

Pancho
Córdoba
Argentina

Fidel Charny

unread,
Aug 24, 2014, 10:19:22 AM8/24/14
to publice...@googlegroups.com
Aunque para tu caso me parece más práctico utilizar StrtoFile(), te comento sobre el error
lcFile="drive\carpeta\archivo.ext"
lnHandler=Fcreate(lcFile)
=fputs(lnHandler,"Lo que corresponda")

Fclose(lnHandler)   
lnHandler es numeric. Todas las instrucciones de bajo nivel (Do while !Feof(lnHandler), =fgets(lnHandler,lnbytes), etc) se procesan con el número de controlador.

Mira este ejemplo
lcArchivo=ADDBS(FULLPATH(""))+"paseinfo.txt"
Modelo="Gran Modelo"
Precio=1354.12
Factura="FA000100013260"
Efectivo=1300.00
Dedica="Mucho Tiempo"
debe
=Precio - Efectivo

TEXT TO lcText TEXTMERGE NOSHOW PRETEXT
7
<modelo><<modelo>></modelo>
<precio><<precio>></precio>
<factura><<factura>></factura>
<efectivo><<efectivo>></efectivo>
<dedica><<dedica>></dedica>
<debe><<debe>></debe>
ENDTEXT
STRTOFILE
(lcText, lcArchivo )
MODIFY FILE
&lcArchivo NOEDIT

Martin Paredes

unread,
Aug 24, 2014, 10:37:41 AM8/24/14
to publice...@googlegroups.com
o prueba con esto :

TEXT TO lcSQLcommand NOSHOW TEXTMERGE
      <<>>, <<>>, etc......
ENDTEXT

salds.....

FERNANDO ALONSO GP

unread,
Aug 25, 2014, 2:46:52 PM8/25/14
to publice...@googlegroups.com

NO FUNCIONA ME DA UN ERROR Y ESTOY USANDO VFP V.9 SP2

FERNANDO ALONSO GP

unread,
Aug 25, 2014, 2:47:18 PM8/25/14
to publice...@googlegroups.com

GRACIAS. YA NO TENGO EL ERROR EN EL TXT

Reply all
Reply to author
Forward
0 new messages