Page 1 of 1

Impresora de Tikets

Posted: Mon Mar 12, 2007 8:01 pm
by Verhoven
Esto pasando un programa de clipper a xHarbour + fw y me toca ahora la parte de la impresora.

En el programa de clipper imprimía todo con ?, porque al ser una impresora de tikets no hay tamaño de página. Y _ de tipo de letra y apertura del cajón de monedas los hacía con secuencias de escape.

¿Qué debo hacer ahora para imprimir?

La impresora es una Epson TM-60.

Posted: Mon Mar 12, 2007 9:42 pm
by ricardog
Espero que esto te ayude

oRep:=TdosPrg():New(cCmd)

//Especiales
oRep:Say(00,00,CHR(27)+"@") // INDICA QUE SE INICIA CONFIGURACION
oRep:Say(00,00,CHR(27)+"t"+CHR(0))
oRep:Say(00,00,CHR(27)+"c0"+CHR(2)) // ACTIVA RECEIVE COMO HOJA(TICKET)
oRep:Say(00,00,CHR(27)+"z"+CHR(0))
//----------------
If !(oDbfTick)->Ignora1
n++
cCmd:=&(oDbfTick)->cTit1
oRep:Say(n,00,&cCmd)
EndIf
If !(oDbfTick)->Ignora2
n++
cCmd:=&(oDbfTick)->cTit2
oRep:Say(n,00,&cCmd)
EndIf
If !(oDbfTick)->Ignora3
n++
cCmd:=&(oDbfTick)->cTit3
oRep:Say(n,00,&cCmd)
EndIf
If !(oDbfTick)->Ignora4
n++
cCmd:=&(oDbfTick)->cTit4
oRep:Say(n,00,&cCmd)
EndIf
n+=2
oRep:Say(n,00,"TRANSACCION ANULADA POR EL OPERADOR")
n:=0
n++
cCmd:=Fechas(Date())+" "+Time()+" "+Str(nTienda)+" "
oRep:Say(n,00,cCmd)
n++
oRep:Say(00,00,Chr(27) + "d") //+ Chr(13)) // estas lineas
oRep:Say(00,00,Chr(27) + "i") //+ Chr(13)) // cortan el papel

Posted: Tue Mar 20, 2007 8:52 pm
by Verhoven
He podido ya imprimir sin usar tDosPrint.

Pero ahora no se como hacer para abrir el cajon. Lo que hago es mandar la instrucción como sigue:

//Apertura del cajon de monedas
function AbreCajon()
local oPrn
local oFont1
local cInstruccion := Chr(27)+Chr(112)+Chr(000)+Chr(060)+Chr(240)
PRINT oPrn NAME "Abre_Cajon"
DEFINE FONT oFont1 NAME "ARIAL" SIZE 0, -10 OF oPrn
if empty( oPrn:hDC )
msgstop( "No hay impresora preparada" )
else
PAGE
oPrn:CmSay(0,0,cInstruccion,oFont1)
ENDPAGE
endif
ENDPRINT // Apaga la impresora
oFont1:end()
return NIL


Pero lo único que consigo es imprimir unos símbolos extraños en el papel.

Ruego sus sugerencias.

Posted: Tue Mar 20, 2007 9:29 pm
by sysctrl2
hay _ que se abren asi:


oPrn := TDosPrn():New('LPT1')
oPrn:say( 0,0, chr(7) )
oPrn:end()


saludos, Cesar Cortes ..