ayuda con codigo de barra

ayuda con codigo de barra

Postby jbrita » Tue Apr 16, 2013 3: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
jbrita
 
Posts: 486
Joined: Mon Jan 16, 2006 3:42 pm

Re: ayuda con codigo de barra

Postby karinha » Tue Apr 16, 2013 3: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
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: ayuda con codigo de barra

Postby cmsoft » 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: Select all  Expand view
 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: Select all  Expand view
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!
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 89 guests