FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Insertar linea en ticket
Posts: 479
Joined: Fri Feb 16, 2007 10:29 AM
Insertar linea en ticket
Posted: Wed Dec 26, 2018 10:55 AM
Hola compañeros y feliz navidad:

Tengo la necesidad de insertar una línea en un ticket.

Lo hacía así:
Code (fw): Select all Collapse
oprn:cmsay(y,00,' Entregado A/C      : ',aFonN)
oprn:cmsay(y,00,replicate('-',40),aFonN)
oprn:cmsay(y,00,'Total :',aFonN)


... pero era una solución muy poco ortodoxa. Me gusta una línea continua y quería hacerlo mediante OPRN:CMLINE
Code (fw): Select all Collapse
oprn:cmsay(y,00,' Entregado A/C      : ',aFonN)
oprn:cmline(y,00,y,7)
oprn:cmsay(y,00,'Total :',aFonN)


... pero me genera el siguiente error:
Message not found: TPRINTER:CMLINE

¿ Cómo hacerlo ?

Mil gracias y feliz Navidad
Utilizo FW 8.7

LORENZO.
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Insertar linea en ticket
Posted: Wed Dec 26, 2018 01:09 PM

Hola Lorenzo:
Creo que ese metodo es de una version mas nueva de FW

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Insertar linea en ticket
Posted: Wed Dec 26, 2018 02:00 PM

The method cmLine was added in FWH 13.05.

Regards



G. N. Rao.

Hyderabad, India
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Insertar linea en ticket
Posted: Wed Dec 26, 2018 10:10 PM
Ya intentaste con:
Code (fw): Select all Collapse
oPrn:Line( nTop, nLeft, nBottom, nRight, oPen ) 
oPrn:Line(10,1,10,40)
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 479
Joined: Fri Feb 16, 2007 10:29 AM
Re: Insertar linea en ticket (RESULETO)
Posted: Fri Dec 28, 2018 08:50 AM

Mil gracias por sus respuestas.

Para versiones anteriores a 13.05, hay 2 soluciones:

1) incluir el metodo "cmline" en PRINTER.PRG e incluir PRINTER.PRG entre los PRG a compilar.

METHOD CmLine( nTop, nLeft, nBottom, nRight, oPen ) INLINE ;
(::Cmtr2Pix(@nTop, @nLeft), ::Cmtr2Pix(@nBottom, @nRight),;
MoveTo( ::hDCOut, nLeft, nTop ),;
LineTo( ::hDCOut, nRight, nBottom,If( oPen != nil, oPen:hPen, 0 ) ))

...y listo. En tu PRG simplemente colocas el oprn:cmline(a,b,c,d) .... y listo.

2) sustituir en cmline por un oprn:box muy estrecho, que para el caso simula una línea.

     oPrn:Cmtr2Pix(@nLinI, @nColI)
     oPrn:cmtr2Pix(@nLinF, @nColF)
     oPrn:Box(nLinI, nColI, nLinF, nColF, oPen  )

...

así que mil gracias por todo.
Saludos y feliz navidad a todos
LORENZO.

Continue the discussion