
Impresion de codigo de barra erronea
Publicado por Francisco (9 intervenciones) el 13/06/2017 16:53:10

Hola a todos. Trabajo en visual fox 8 y hace poco implemente en mi sistema la impresion en reportes de un codigo de barra autogenerado. El tipo de fuente que utilizo en el reporte es la BarCode128.
El problema que tengo es que hay veces que el digito verificador es el € y lo imprime mal. En adjunto envio imagen de muestra.
Por favor si alguien puede ayudarme desde ya muy agradecido. O me avisan si necesitan mas detalles de mi inconveniente.
La funcion que utilizo para generar el codigo de barra es la siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
*** strto128a
LPARAMETER tcString
LOCAL lcStart, lcStop, lcRet, lcCheck, ;
lnLong, lnI, lnCheckSum, lnAsc
lcStart = CHR(103 + 32)
lcStop = CHR(106 + 32)
lnCheckSum = ASC(lcStart) - 32
lcRet = tcString
lnLong = LEN(lcRet)
FOR lnI = 1 TO lnLong
lnAsc = ASC(SUBS(lcRet,lnI,1)) - 32
IF NOT BETWEEN(lnAsc, 0, 64)
lcRet = STUFF(lcRet,lnI,1,CHR(32))
lnAsc = ASC(SUBS(lcRet,lnI,1)) - 32
ENDIF
lnCheckSum = lnCheckSum + (lnAsc * lnI)
ENDFOR
lcCheck = CHR(MOD(lnCheckSum,103) + 32)
lcRet = lcStart + lcRet + lcCheck + lcStop
*--- Esto es para cambiar los espacios y caracteres invalidos
lcRet = STRTRAN(lcRet, CHR(32), CHR(232))
lcRet = STRTRAN(lcRet, CHR(127), CHR(192))
*---
RETURN lcRet
Valora esta pregunta


0