cajón portamonedas con tprint

Post Reply
Loren
Posts: 479
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

cajón portamonedas con tprint

Post by Loren »

Compañeros, buenas tardes:

¿Como abrir el cajón portamonedas a través de la clase tprint?

Yo utilizo:

Code: Select all | Expand


    PRINT oPrn NAME "abrir cajon" to cprint2
     page
     endpage
   endprint
 


... así lo abre... pero al impresora antes me imprime una linea en blanco y corta el papel.

Gracias. Un saludo a todos.
Desde Cádiz, España.
User avatar
Willi Quintana
Posts: 1025
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú
Contact:

Re: cajón portamonedas con tprint

Post by Willi Quintana »

Podrias mostrar el código completo...
Salu2
User avatar
Biel EA6DD
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Re: cajón portamonedas con tprint

Post by Biel EA6DD »

Normalmente una de las propiedades que incorporan las impresoras de tickes, es que al realizar un listado abran el cajón, que es lo que estas haciendo tu ahora, eso conlleva la impresión de un trocito de ticket.

Otra alternativa, es enviar directamente la secuencia de escape para abrir el cajon, sin realizar ningún listado. Para ello necesitas conocer cual es la secuencia de escape.

Te adjunto ejemplo de como lo hago con una impresora de tickets bixolon:

Code: Select all | Expand


STATIC FUNCTION AbriRCajon()
   LOCAL cPrinter,hFile
   cPrinter:=WIN_PrinterPortToName( "USB001" )
   IF !File('opn.esc')
      hFile:=FCreate('opn.esc')
      FWrite(hFile,Chr(27)+Chr(112)+Chr(48)+Chr(55)+Chr(121)) //Abrir cajón
      FClose(hFile)
   ENDIF
   WIN_PrintFileRaw(cPrinter,'opn.esc','')
RETURN NIL
Last edited by Biel EA6DD on Tue Aug 13, 2013 5:06 pm, edited 1 time in total.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
csincuir
Posts: 415
Joined: Sat Feb 03, 2007 6:36 am
Location: Guatemala
Has thanked: 3 times
Been thanked: 2 times
Contact:

Re: cajón portamonedas con tprint

Post by csincuir »

Biel,
Con unas preguntas: ??

Donde se consigue esta función:

Code: Select all | Expand

WIN_PrinterPortToName()


Y para que sirve?

Saludos.

Carlos.
User avatar
Biel EA6DD
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Re: cajón portamonedas con tprint

Post by Biel EA6DD »

Son funciones propias de harbour (hbWin.lib)
Win_PrinterPortToName(cPortName) Retrieves the name of the printer connected to a printer port.
Win_PintFileRaw(cPrinterName,cFileName) Prints a file to a Windows printer in RAW mode.

Antes ya existian, pero sin el prefijo WIN_
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
leandro
Posts: 1744
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Has thanked: 34 times
Been thanked: 10 times
Contact:

Re: cajón portamonedas con tprint

Post by leandro »

Gracias Biel, me fue muy útil esa forma de abrir el cajón.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
csincuir
Posts: 415
Joined: Sat Feb 03, 2007 6:36 am
Location: Guatemala
Has thanked: 3 times
Been thanked: 2 times
Contact:

Re: cajón portamonedas con tprint

Post by csincuir »

Gracias Biel, por la información.

Saludos cordiales.

Carlos.
devtuxtla
Posts: 392
Joined: Tue Jul 29, 2008 1:55 pm

Re: cajón portamonedas con tprint

Post by devtuxtla »

Hola Biel.

Hay un equivalente de estas funciones WIN_PrinterPortToName y WIN_PrintFileRaw para xharbour?

Saludos
Visite Chiapas, el paraiso de México.
User avatar
Biel EA6DD
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Re: cajón portamonedas con tprint

Post by Biel EA6DD »

Me alegra que os sea de utilidad, con referencia a si existen estas funciones para xHarbour, creo que si, pero hace años que no uso xHarbour y no he seguido su evolución, prueba sin el prefijo WIN_
PrinterPortToName()
PrintFileRaw()
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
Loren
Posts: 479
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Re: cajón portamonedas con tprint

Post by Loren »

Willi, cuando la impresora está en puerto paralelo o en serie yo utilizo el siguiente código haciendo uso de TDOSPRN:

Code: Select all | Expand

funct abrir_cajon
   oPrn:=TDosPrn():New(alltrim(configu->puerto))
   oPrn:say(0,0,&(configu->cajon))
   oPrn:End()
return nil


... como verás, los parámetros los guardo en una DBF (configu) y el usuario puede cambiarlos desde la opción de utilidades de la aplicación.

Biel, me funcionó perfecto tu código. Al yo utilizar xHarbour simplemente le quité el prefijo Win_ a algunas funciones y funcionó perfecto. Es lo que quería (que el usuario desde un buttón contenido en un Dialog pudiese abrir el cajón portamonedas sin necesidad de imprimir nada).

Mil gracias.
Post Reply