Que tal a Todos, Saludos.
Estoy utilizando TDosPrn para imprimir ticket de venta
pero quiero ponerle un código de barras al final
Estoy tratando con la BarLib pero no logro hacerlo
Alguien que me pueda ayudar ?
Saludos.
#include "FiveWin.ch"
/*
pruebas de impresora TM-T88III
IMPRESORA TERMICA DE TKS
01/08/2010
*/
//----------------------------------------------------------------------------//
Function PrueT88()
Local nRow:=1, nCol:=0
MsgInfo('Verifique el Estado de la Impresora','!!! ATENCION !!!')
oPrn:=TDosPrn():New("lpt1")
oPrn:StartPage() // optional
oPrn:Say( nRow, nCol, replicate('-',42) )
nRow ++
oPrn:Say( nRow, nCol , "COMIENZO DEL REPORTE" )
nRow ++
oPrn:Say( nRow, nCol, replicate('-',42) )
nRow ++
oPrn:Say( nRow, nCol , "-Linea de Texto de 42 Caracteres de Ancho-" )
nRow ++
oPrn:Say( nRow, nCol , "-Linea de Texto de 42 Caracteres de Ancho-" )
nRow ++
oPrn:Say( nRow, nCol , "-Linea de Texto de 42 Caracteres de Ancho-" )
nRow ++
oPrn:Say( nRow, nCol , "-Linea de Texto de 42 Caracteres de Ancho-" )
nRow ++
oPrn:Say( nRow, nCol , "-Linea de Texto de 42 Caracteres de Ancho-" )
nRow ++
oPrn:Say( nRow, nCol , "-Linea de Texto de 42 Caracteres de Ancho-" )
nRow ++
oPrn:Say( nRow, nCol, replicate('-',42) )
nRow ++
oPrn:Say( nRow, nCol , "FIN DEL REPORTE" )
nRow ++
oPrn:Say( nRow, nCol, replicate('-',42) )
nRow ++
// esto es para códigos de barras
//sólo se pueden imprimir hasta 13 caracteres
//sólo funciona desde la Columna 0, si es mayor a 0 no imprime nada
cCadena:="0123456789012"
//oPrn:Say( nRow, nCol, chr(29) + chr(104) + chr(120) ) ///chr(104) + chr(120) donde 120 define el alto del codigo de barras Valores Admitidos minimo 50 maximo 120
//oPrn:Say( nRow, nCol, chr(29) + chr(72) + chr(0) ) ///indicacion de impresion de codigo de barra
//oPrn:Say( nRow, nCol, chr(29) + chr(107) + Chr(72) + Chr(LEN( AllTrim( cCadena ) )) + AllTrim( cCadena ) + Chr(0) ) //impresion directa
oPrn:Say( nRow, nCol, chr(29) + chr(104) + chr(50) )
oPrn:Say( nRow, nCol, chr(29) + chr(72) + chr(0) )
oPrn:Say( nRow, nCol, chr(29) + chr(107) + Chr(72) + Chr(LEN( AllTrim( cCadena ) )) + AllTrim( cCadena ) + Chr(0) )
oPrn:Say( nRow, nCol, replicate(' ',21-(len(alltrim(cCadena))/2) ) + AllTrim( cCadena ) + replicate(' ',21-(len(alltrim(cCadena))/2) ) )
nRow ++
cCadena:="ABCDEFGHIJKLM"
oPrn:Say( nRow, nCol, chr(29) + chr(104) + chr(50) )
oPrn:Say( nRow, nCol, chr(29) + chr(72) + chr(0) )
oPrn:Say( nRow, nCol, chr(29) + chr(107) + Chr(72) + Chr(LEN( AllTrim( cCadena ) )) + AllTrim( cCadena ) + Chr(0) )
oPrn:Say( nRow, nCol, replicate(' ',21-(len(alltrim(cCadena))/2) ) + AllTrim( cCadena ) + replicate(' ',21-(len(alltrim(cCadena))/2) ) )
nRow ++
//esto es para el corte automatico del papel
//separo 5 filas que es la distancia entre la ultima impresion y la linea de corte
oPrn:Say( nRow, nCol, ' ' )
nRow ++
oPrn:Say( nRow, nCol, ' ' )
nRow ++
oPrn:Say( nRow, nCol, ' ' )
nRow ++
oPrn:Say( nRow, nCol, ' ' )
nRow ++
oPrn:Say( nRow, nCol, ' ' )
nRow ++
oPrn:Endpage()
//este es el grupo de comandos especificos para corte de papel
oprn:Startpage()
oprn:command("27","64" )
oprn:command("27","105" ) //corte total
oprn:command("18" )
oprn:Endpage()
oPrn:End()
//hasta aca el corte automatico
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 66 guests