Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



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