Páginas

domingo, 11 de agosto de 2013

Cálcular el dígito de control del código de barras EAN13




Cálcular el dígito de control del código de barras EAN13

He encontrado en la wikipedia (http://es.wikipedia.org/wiki/European_Article_Number) , como se calcula el digito de control de estos códigos de barras, os dejo como se haría con  Gambas3:




Public Sub calculodigitocontrol(cadena As String) As Integer
'Cálculo del dígito de control EAN
Dim iSum As Integer = 0
Dim iDigit As Integer = 0
Dim EAN As String = cadena
Dim i As Integer
For i As Integer = Len(EAN) To 1 Step -1
iDigit = Val((Mid$(EAN, i, 1)))
If (Len(EAN) - i + 1) Mod 2 <> 0 Then
iSum += iDigit * 3
Else
iSum += iDigit
End If
Next
Return (10 - (iSum Mod 10)) Mod 10
End

Nota:
La variable cadena, seria los 12 primeros dígitos, devolviendo la función el dígito nº 13, que es el de comprobación.

Código fuente del programa:  enlace de descarga box.net