FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ayuda con codigo de barra
Posts: 537
Joined: Mon Jan 16, 2006 03:42 PM
ayuda con codigo de barra
Posted: Tue Apr 16, 2013 03:16 PM

Colegas necesito de su ayuda, necesito imprimir vales con codigo de barras, el correlativo vas de 1 en 1, como lo haria con codigo de barra., la idea es que los puntos de ventas impriman el vale y la caja con pistola tome el codigo.

saludos

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: ayuda con codigo de barra
Posted: Tue Apr 16, 2013 03:47 PM

Porfa, si no comprender, use el google translator.

http://alanart.net/fivewin/index.php?/t ... -de-barra/

Puedes usar BARLIB.LIB 贸 TPRINTER.PRG de FiveWin.

Salu2.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: ayuda con codigo de barra
Posted: Tue Apr 16, 2013 11:34 PM
Jbrita:
Una opci贸n es que en el formulario de impresi贸n utilices una fuente de c贸digos de barra, como la InterLeaved 2of5, o alguna similar (seg煤n el tipo de c贸digos de barra que permita leer tu lector).
Ten en cuenta que este tipo de fonts tienen una codificaci贸n particularidad (agrupan de a pares los n煤meros, y le asignan cararcteres para cada par)
Te dejo un ejemplo:
Code (fw): Select all Collapse
 聽PRINT oPrn NAME "Recibos" PREVIEW
聽 聽 聽 DEFINE FONT oFont1 NAME "Arial" 聽 聽 聽 聽 聽 聽 聽 聽 SIZE 12, -12 OF oPrn
聽 聽 聽 DEFINE FONT oFont2 NAME "Interleaved 2of5 Text" SIZE 16, -16 OF oPrn
聽 聽 聽PAGE
聽 聽 聽 
聽 聽 聽 mbarra 聽:= "012345"
聽 聽 聽 mbarra 聽:= CodigoBarra( mbarra )
聽 聽 聽 oPrn:Say( 聽80, 100, "Esto es una prueba de codigo de barra",oFont1)
聽 聽 聽 oPrn:Say( 100, 100, mbarra,oFont2)
聽 聽 聽ENDPAGE
聽 聽ENDPRINT
聽 聽oFont1:End()
聽 聽oFont2:End()

Y esta es la rutina para armar el c贸digo para este font (Tener en cuenta que siempre tienen que ser grupos pares de d铆gitos, si es impar, llenar con 0 a la izquierda.
Code (fw): Select all Collapse
STATIC FUNCTION CodigoBarra( x )
LOCAL i, bar := {}, j := 0, bar1 := {}, cBarr := ""
聽 聽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
FOR j := 1 TO LEN(x)-1 STEP 2
聽 聽 i := ASCAN(bar1,SUBSTR(x,j,2))
聽 聽 cBarr := cBarr + bar[i]
NEXT j
RETURN "("+cBarr+")"


Espero te sirva!

Continue the discussion