| Hola invitado |
|
02 Sep, 2010 - 04:32 |
|
 |
|
© 2009 PortalFox
|
|
|
| Enviado por Luis María Guayán en Viernes, 06 Abril, 2001 |
|
Función para calcular el dígito verificador del código de barras EAN8
*--------------------------------------
* FUNCTION CheckDigitEan8(tcString)
*--------------------------------------
* Agrega el Check Digit a un string para el código de barra EAN-8
* "tcString" debe ser una cadena de caracteres de 7 dígitos [0..9]
* USO: CheckDigitEan8("1234567")
* RETORNA: Caracter
*--------------------------------------
FUNCTION CheckDigitEan8(tcString)
LOCAL lcRet, lnI, lnCheckSum, lnAux
lcRet = ALLTRIM(tcString)
IF LEN(lcRet) # 7
MESSAGEBOX("La longitud de la cadena"+CHR(13)+;
"debe ser 7 caracteres.",16,"Error")
RETURN ""
ENDIF
lnCheckSum = 0
FOR lnI = 1 TO 7
IF MOD(lnI,2) = 0
lnCheckSum = lnCheckSum + VAL(SUBS(lcRet,lnI,1)) * 1
ELSE
lnCheckSum = lnCheckSum + VAL(SUBS(lcRet,lnI,1)) * 3
ENDIF
ENDFOR
lnAux = MOD(lnCheckSum,10)
lcRet = lcRet + ALLTRIM(STR(IIF(lnAux = 0, 0, 10-lnAux)))
RETURN lcRet
ENDFUNC
*--------------------------------------
Nota: |
|
|
|
|
|
| Calcular el dígito verificador del código de barras EAN8 | Entrar/Crear una cuenta | 1 Comentario |
|
| Los comentarios son propiedad de sus respectivos autores. No somos responsables de su contenido. |
Re: Calcular el dígito verificador del código de barras EAN8
por LuisMaria (luismaria@portalfoxxx.com)
en 06 Jul, 2006 - 12:18 (Información del usuario | Enviar un mensaje http://www.luismariaguayan.com.ar)
|
|
Una funcióm mas simple y que contempla el codigo EAN 13, EAN 8 y UCC 12:
FUNCTION CheckDigitEan(tcCodigo)
LOCAL lnSuma, lnI, lnPos
STORE 0 TO lnSuma, lnPos
FOR lnI = LEN(tcCodigo) TO 1 STEP -1
lnPos = lnPos + 1
lnSuma = lnSuma + (VAL(SUBSTR(tcCodigo,lnI,1)) * IIF(MOD(lnPos,2)=0,1,3))
ENDFOR
RETURN tcCodigo + TRANSFORM(MOD(10-MOD(lnSuma,10),10))
ENDFUNCLuis María
|
|
Todas las marcas y los logos utilizados en este sitio son propiedad de sus respectivos dueños.
Los artículos, noticias y comentarios son propiedad y responsabilidad de sus respectivos autores.
Copyright © 2000-2010 PortalFox. Todos los derechos reservados.
|
|