FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Aguien Me Puede Echar la Mano
Posts: 257
Joined: Mon Jun 10, 2013 06:40 PM
Aguien Me Puede Echar la Mano
Posted: Tue Jan 06, 2015 08:06 PM

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.

Posts: 150
Joined: Tue Jul 15, 2008 07:12 PM
Re: Aguien Me Puede Echar la Mano
Posted: Tue Jan 06, 2015 08:50 PM
Code (fw): Select all Collapse
#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
Posts: 150
Joined: Tue Jul 15, 2008 07:12 PM
Re: Alguien Me Puede Echar la Mano
Posted: Tue Jan 06, 2015 08:51 PM

asi lo hago yo
uso impresoras termicas con tdosprn y va de maravillas

cualquier cosa a tus ordenes

Posts: 257
Joined: Mon Jun 10, 2013 06:40 PM
Re: Aguien Me Puede Echar la Mano
Posted: Wed Jan 07, 2015 12:36 AM

Gracias Amigo, lo probare y te comento como va.

Posts: 257
Joined: Mon Jun 10, 2013 06:40 PM
Re: Aguien Me Puede Echar la Mano (SOLUCIONADO)
Posted: Wed Jan 07, 2015 07:25 PM

Amigo, quedo de 10, funciona muy bien.

Gracias.

Continue the discussion