Generar un archivo para impresión prn

465 views
Skip to first unread message

Analyzer

unread,
Jul 3, 2013, 3:36:25 PM7/3/13
to mundovis...@googlegroups.com
Muchas veces he visto al entrar al disco duro con sistemas tipo clipper/VFP, etc. carpetas llenas de esos archivos .prn que los usan para imprimir mediante un archivo.

Ya no alcancé a ver cómo se hacía eso. 

Me gustaría saberlo por "cultura general", por si alguna vez tengo que usarlo o quizás con otros lenguajes, para ya tener la idea.

¿Como se arma el show para imprimir mediante un archivo .prn?..

Nota.- Si se usar el comando @ say.

Saludos!

Cesar Yamunaque Baca

unread,
Jul 3, 2013, 3:44:08 PM7/3/13
to mundovis...@googlegroups.com
lista=SYS(3)+".prn"
SET DEVICE TO FILE(lista)

l=l+1
@ l,01 SAY "Lineas de IMpresion"

       SET DEVICE TO SCREEN
     !COPY &lista LPT1:


Analyzer

unread,
Jul 3, 2013, 4:03:40 PM7/3/13
to mundovis...@googlegroups.com
Muchas gracias Cesar Yamunaque!

Metí el código a un .prg así:

STORE 0 TO lin 
lista=SYS(3)+".prn"
SET DEVICE TO FILE(lista)
lin=lin+1
@lin,01 SAY "Lineas de IMpresion"
SET DEVICE TO SCREEN
*!COPY &lista LPT1:
? lista

Y funciona correctamente. Reviso manualmente el contenido de los .prn y tienen la cadena a imprimir ("Lineas de impresion").

A esta última línea no le entiendo ni J, pero confío en que imprimirá el archivo 

!COPY &lista LPT1:

Bueno, si sé que &lista es una macrosustitución que imprimirá el contenido del archivo lista y que LPT1 es un puerto de impresión local, pero el !COPY sepa que sea..

Yo creía que el ! era el NOT lógico, pero quizás tenga otros usos..

Gracias por el código!




Saludos!


--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Cesar Yamunaque Baca

unread,
Jul 3, 2013, 4:08:36 PM7/3/13
to mundovis...@googlegroups.com
Es sencillo, la ultima linea es una instruccion hacia el DOS que imprime el archivo prn o la extensión que uses en la impresora conectada al puerto paralelo

Saludos

Analyzer

unread,
Jul 3, 2013, 4:12:55 PM7/3/13
to mundovis...@googlegroups.com
Ahh, ya.. Gracias. Me olvidaba que el RUN se pone también con el 

Ya revisé la ayuda y tambien el NOT es igual. Hasta pensé que era al revés ¡, pero no. Es igualito jeje

Gracias de nuevo! 



Saludos!

Analyzer

unread,
Jul 3, 2013, 4:15:39 PM7/3/13
to mundovis...@googlegroups.com
Otra de mis preguntas tontas..

Y cómo resuelven el problema de ir teniendo cada vez más y mas archivos temporales .prn ?.. O sobreescriben solo unos cuantos vez tras vez?..


Saludos!

Cesar Yamunaque Baca

unread,
Jul 3, 2013, 4:37:00 PM7/3/13
to mundovis...@googlegroups.com
Los borras usando el comando DOS 
!delete &lista


Analyzer

unread,
Jul 3, 2013, 4:42:21 PM7/3/13
to mundovis...@googlegroups.com
Ok. Muchas Gracias Cesar,

Veo que estoy muy verde en cómo pensar las cosas al estilo "FoxDino" !!

Nota.- Eso del FoxDino, no fue ninguna burla. Me dicen los compañeros que era la forma cariñosa de llamar al Fox para DOS.


Saludos!


El 3 de julio de 2013 15:37, Cesar Yamunaque Baca <cesar.y...@gmail.com> escribió:
Los borras usando el comando DOS 
!delete &lista


Cesar Yamunaque Baca

unread,
Jul 4, 2013, 1:58:07 PM7/4/13
to mundovis...@googlegroups.com
Jaa, q buena
El mismo metodo de impresion funciona en VFP9 y W7 siendo la via DOS mas rápida que la impresión via ReportForm, claro esta en caso de emitir facturas, guias y otros reportes q no necesiten calidad de impresion.
Saludos


Analyzer

unread,
Jul 4, 2013, 2:14:38 PM7/4/13
to mundovis...@googlegroups.com
Excelente la aclaración..

Al menos en mi zona aun hay muchas empresas que usan tickets sencillos, entre ellas los restaurantes y tiendas de autoservicio o express.

No sé si aplique también para las impresoras térmicas. Supongo que no tiene nada que ver.

Generalmente las farmacias emiten tickets fiscales con impresoras térmicas (tipo factura), pero por un lado de la hoja ya lleva impreso de fábrica el registro de contribuyentes y logos. Por el otro lado de la hoja, suele ir una impresión sencilla de ticket.


Saludos!


HernanCano

unread,
Jul 4, 2013, 5:32:30 PM7/4/13
to mundovis...@googlegroups.com
*** Alternativa 1******Cyborg****
Lista = SYS(3)+".prn"

SET DEVICE TO FILE(lista)
l=l+1
@ l,01 SAY "Lineas de Impresion"

SET DEVICE TO SCREEN
!COPY &lista LPT1:
*** Alternativa 2******
Lista = SYS(3)+".prn"
SET printer TO (lista)
SET DEVICE TO printer
l=l+1
@ l,01 SAY "Lineas de Impresion"
SET DEVICE TO SCREEN
SET printer TO
!COPY &lista LPT1:
*** Alternativa 3******
Lista = SYS(3)+".prn"
SET printer TO (lista)
SET printer on
? "Lineas de Impresion"
SET printer off
SET printer TO
!COPY &lista LPT1:
*** Alternativa 4******
report form UnReporte.FRX to file temporal.prn ascii
!COPY &lista LPT1:

Analyzer

unread,
Jul 5, 2013, 11:22:11 AM7/5/13
to mundovis...@googlegroups.com
Grande Hernán Cano!

La alternativa 4 está de 10 !

Gracias!


Saludos!


--
Reply all
Reply to author
Forward
0 new messages