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!