FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Codigo de Barras y tUtilPrn
Posts: 104
Joined: Wed Mar 08, 2006 02:24 PM
Codigo de Barras y tUtilPrn
Posted: Fri Feb 23, 2018 09:47 PM

Hola grupo:
Estoy tratando de imprimir una boleta y utilizo la clase tUtilPrn, todo bien hasta ah铆, pero quiero agregarle un c贸digo de barras y no se como hacerlo con esta clase.
Lo hago de la siguiente forma:

    @ xStep,yStep code128 oDBCheq:NroCom of oPr SIZE 1 mode 'A'    //

pero a distintas impresoras sale en distintas posiciones.
Se puede imprimir con la clase tUtilPrn los c贸digos de barras?
O que otra alternativa debo usar para que salga igual sin depender de la impresora.
Gracias

Posts: 104
Joined: Wed Mar 08, 2006 02:24 PM
Re: Codigo de Barras y tUtilPrn
Posted: Sat Feb 24, 2018 04:33 PM

Lo solucione instalando el font code128 y usando de la siguiente manera:

Define Font oFC128 聽 name 'CODE 128' 聽 聽 聽 聽size 0,-14 of oPr
UTILPRN oUtils nLinea,nColum+12 聽 SAY oDBCheq:Barra 聽FONT oFC128

La 煤nica contra de esto es que se debe instalar en cada maquina del cliente dicho font.
Espero les sirva.
Saludos

Posts: 104
Joined: Wed Mar 08, 2006 02:24 PM
Re: Codigo de Barras y tUtilPrn
Posted: Mon Feb 26, 2018 12:49 PM

Me apure en contestar, si me imprime bien , pero el lector de c贸digo de barras no lee lo que imprimo.
Alguno puede saber porque?
Gracias

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Codigo de Barras y tUtilPrn
Posted: Mon Feb 26, 2018 01:35 PM

Para imprimir codigos de barra, tienes varias soluciones:
- Busca hbzebra en el foro
- Barlib de Cayetano, yo la he utilizado mucho

viewtopic.php?f=6t=29669p=189486hilit=codebar#p167720

&&&

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Codigo de Barras y tUtilPrn
Posted: Mon Feb 26, 2018 02:45 PM

Hola buenos d铆as

A mi alguna vez me sucedi贸 algo similar, lo solucione colocando un asterisco al inicio y al final del c贸digo de barras.

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 25.01 ] [ xHarbour 64 bits) ]
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Codigo de Barras y tUtilPrn
Posted: Mon Feb 26, 2018 09:02 PM
Estimado Caducca:
Una solucion puede ser la siguiente
Code (fw): Select all Collapse
AddFontResource( "i2of5txt.ttf" ) // Este es el nombre de la fuente de tu codigo de barra, yo uso esta para interleave 2 de 5
// Lo bueno de usar addfontresourse es que no tiene que estar instalada la fuente, solo debes distribuirla con tu programa.
nIndX := oPrn:nVertRes() / 7016 聽// Aca simplemente ajusto segun la definicion de la impresora
nIndY := oPrn:nHorzRes() / 4958
DEFINE FONT oFont4 NAME "Interleaved 2of5 Text" 聽 聽SIZE 25*nIndX, 170*nIndY
PRINT oPrn NAME "Ejemplo" PREVIEW
聽 聽 聽 聽 聽PAGE
聽 聽 聽 聽 聽 聽 oPrn:Say(100*nIndX - (nRow*6),100*nIndY , CodigoBarra(STRTRAN(STR(nCodbar,12)," ","0")),oFont4) 
聽 聽 聽 聽 聽ENDPAGE
ENDPRINT

STATIC FUNCTION CodigoBarra( x )
LOCAL i, bar := {}, j := 0, bar1 := {}, cBarr := ""
// Para este tipo de font, toma de a pares y los representa con los caracteres desde el 48 al 97 y del 192 al 241
FOR i := 48 TO 97
聽 聽 聽 聽AADD(bar ,CHR(i))
聽 聽 聽 聽AADD(bar1,STRTRAN(STR(j,2)," ","0"))
聽 聽 聽 聽j++
NEXT i
FOR i := 192 TO 241
聽 聽 聽 聽AADD(bar,CHR(i))
聽 聽 聽 聽AADD(bar1,STRTRAN(STR(j,2)," ","0"))
聽 聽 聽 聽j++
NEXT i
// Aca recorro el string que le paso de a dos y voy armando el codigo que lo representa
FOR j := 1 TO LEN(x)-1 STEP 2
聽 聽 i := ASCAN(bar1,SUBSTR(x,j,2))
聽 聽 cBarr := cBarr + bar[i]
NEXT j
// En el caso de este font, para que el lector de codigos de barra lo lea, el inicio y cierre del codigo de barra esta determinado por parentesis, asi que se los agrego
RETURN "("+cBarr+")"

Espero te sirva el dato, cualquier duda a tu disposicion.
Saludos
Posts: 148
Joined: Tue Mar 20, 2007 03:13 PM
Re: Codigo de Barras y tUtilPrn
Posted: Wed Feb 28, 2018 01:02 PM

Ol谩,

Utilizo a TImprime e a UtilPrn, 贸timas classes. Para gerar c贸digo de barras com elas e a barlib do caetano, fa莽o assim:

::Salto()
aCoord := ::oPrn:Cmtr2Pix( ::nLinea, 1.00 )

INT25( aCoord[ 1 ], aCoord[2], AllTrim( cCodigo_Barra ), ::oPrn, .F., 0, .T., 0.30, 1.20 )

---------------------------------------------------------------------------------------------------------------
INT25, intercalado 2 de 5 para boleto banc谩rio e funciona bem.
Qualquer coisa manda teu e-mail que te passo um exemplo completo.

Att.,

Oliveiros Junior

Posts: 104
Joined: Wed Mar 08, 2006 02:24 PM
Re: Codigo de Barras y tUtilPrn
Posted: Wed Feb 28, 2018 03:11 PM

Gracias a todos. Solucione con la forma que me indico oliveiros junior porque me resulto la mas f谩cil de implementar.
Gracias

Continue the discussion