Page 1 of 1

Insertar linea en ticket

Posted: Wed Dec 26, 2018 10:55 am
by Loren
Hola compañeros y feliz navidad:

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

Lo hacía así:

Code: Select all

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: Select all

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.

Re: Insertar linea en ticket

Posted: Wed Dec 26, 2018 1:09 pm
by cmsoft
Hola Lorenzo:
Creo que ese metodo es de una version mas nueva de FW

Re: Insertar linea en ticket

Posted: Wed Dec 26, 2018 2:00 pm
by nageswaragunupudi
The method cmLine was added in FWH 13.05.

Re: Insertar linea en ticket

Posted: Wed Dec 26, 2018 10:10 pm
by FranciscoA
Ya intentaste con:

Code: Select all

oPrn:Line( nTop, nLeft, nBottom, nRight, oPen ) 
oPrn:Line(10,1,10,40)

Re: Insertar linea en ticket (RESULETO)

Posted: Fri Dec 28, 2018 8:50 am
by Loren
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.