Hola invitado         02 Sep, 2010 - 04:32
Menú principal
 
Ads
 
Patrocinadores
 
Anuncios
 
© 2009 PortalFox
Calcular el dígito verificador del código de barras EAN8 lecturas 8202
 Enviado por Luis María Guayán en Viernes, 06 Abril, 2001
Rutinas 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:
 Versión imprimible  
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))
ENDFUNC

Luis 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.