ayuda tdosprn

Post Reply
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

ayuda tdosprn

Post by horacio »

Amigos : EStoy trabajando en una Epson LX810 y quiero imprimir un recibo, original y duplicado. Están uno debajo del otro. He configurado la página ( 19 cm x 40 cm. papel continuo ). Sin embargo cuando imprimo no respeta estas medidas y corre más allá del corte de hoja. Mi pregunta es si puedo, desde código , configurar la página. y si no es así que debo hacer para configurar bien el corte de hoja ?. He visto los dip que trae la impresora pero solo me configura algunos tamaños del papel. Desde ya muchas gracias.
Miguel Rivera
Posts: 117
Joined: Sun Oct 01, 2006 11:39 pm

Re: ayuda tdosprn

Post by Miguel Rivera »

Amigo:

Puedes mostrar el codigo que imprimes, sobre este tipo de papel.


horacio wrote:Amigos : EStoy trabajando en una Epson LX810 y quiero imprimir un recibo, original y duplicado. Están uno debajo del otro. He configurado la página ( 19 cm x 40 cm. papel continuo ). Sin embargo cuando imprimo no respeta estas medidas y corre más allá del corte de hoja. Mi pregunta es si puedo, desde código , configurar la página. y si no es así que debo hacer para configurar bien el corte de hoja ?. He visto los dip que trae la impresora pero solo me configura algunos tamaños del papel. Desde ya muchas gracias.
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

tdosprn

Post by sysctrl2 »

Amiguito, aqui un ejemplo: con la tdos prn.

oPrn := TDosPrn():New( "lpt1" ) //iniciamos el objeto tdosprn.

oPrn:command( "27","67", "45" ) //7.5"pulgadas ,salto es cada 45renglones.

oprn:end()


saludos...
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
Armando Picon
Posts: 448
Joined: Mon Dec 26, 2005 9:11 pm
Location: Lima, Peru

Post by Armando Picon »

Aquí en el foro hay varios ejemplos para setear la impresión para recibos o facturas. Si en caso no lo consiguieras, envíame un email a mi correo y te proporciono lo que en su momento lo deje aquí en el foro como ejemplo (eso fue el año pasado, me parece recordar y también yo uso una EPSON LX810)
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicación via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
horacio
Posts: 1270
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Post by horacio »

Agradezco a todos los que se han interesado en mi problema. Ya lo pude solucionar con la data que me paso Sysctrl2. Muchas gracias por todo
csincuir
Posts: 305
Joined: Sat Feb 03, 2007 6:36 am
Location: Guatemala
Contact:

Post by csincuir »

Hola Horacio, sería tan amable de indicarme como solucionaste tu problema, yo estoy en las mismas de controlar el salto de página con la TDosPrn y no he podido hacerlo.

Gracias y saludos.

Carlos Sincuir.
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

Carlos es muy facil.

dejO aqui un ejemplo mas completito migrado de fox pro

a fw.

Para esto necesitas la class TDOSPRN

#define INICIAPRN '27,64'
#define SELECTDRAF '27,120,48'
#define SELECTLQ '27,120,49'
#define SELECTROMA '27,107,48'
#define SELECTSSER '27,107,49'
#define ONENFATIZADO '27,69'
#define OFFENFATIZADO '27,70'
#define ONDOBLEANCHO '27,87,1'
#define OFFDOBLEANCHO '27,87,0'
#define ONDOBLEALTO '27,119,1'
#define OFFDOBLEALTO '27,119,0'
#define ONDOBLEPASADA '27,71'
#define OFFDOBLEPASADA '27,72'
#define ONSUPERSCRIPT '27,83,0'
#define ONSUBSCRIPT '27,83,1'
#define OFFSUPERSUB '27,84'
#define ONITALICA '27,4'
#define OFFITALICA '27,5'

function testPrn()

oPrn := TDosPrn():New( "LPT1" ) &&iniciamos el objeto tdosprn.
oPrn:command( INICIAPRN ) && iniciamos la impresora
oPrn:command( "27","67", "18" ) && el salto es a los 18 renglonres
&& 1 pulgada "" equivale a 6 reng.
oPrn:command( SELECTROMA ) && me gusta la letra roman

dbselectArea( 'clientes' )
dbgotop()
nRow := 1
do while !eof()
oPrn:say(nRow. 1, field->codigo )
oPrn:say(nRow, 10, field->nombre)
nRow++
if nRow >= 15 && brincamos a una nueva pagina.
nRow := 1
endif
sysrefresh()
dbskip()
enddo

oPrn:end() && terminamos el objeto tDosPrn.


return .t.


Saludos Cordiales ...
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
csincuir
Posts: 305
Joined: Sat Feb 03, 2007 6:36 am
Location: Guatemala
Contact:

Post by csincuir »

Gracias Cesar, eres muy amable, ahora mismo me pongo a hacer las pruebas.

Saludos.

Carlos Sincuir
Post Reply