non me la sono presa... ho visto che facevi il saccente, volevo risponderti a tono...
cmq ecco la funzione completa...
questa mi calcola il checksum x un codice a barre EAN-13... basta passargli un codice numerico in formato stringa di 12 caratteri...
codice:
Function CarControllo(ByVal Codice As String) As String
Dim Numero As Int16, NumAppesantito As Int32, TotApp As Decimal, i As Int32, y As Int16 = 1
For i = 0 To Codice.Length - 1
Numero = CType(Codice.Chars(i).ToString, Int16)
NumAppesantito = Numero * 1
If y Mod 2 = 0 Then NumAppesantito *= 3
TotApp += NumAppesantito
y += 1
Next
CarControllo = Int((1 - ((TotApp / 10) - Int(TotApp / 10))) * 10)
If CarControllo = "10" Then CarControllo = "0"
Return CarControllo
End Function
come di certo saprai il cecksum è quel numero che, sommato al valore(che io chiamo TotApp), restituisce un numero che diviso per 10 dia come resto 0...(che italiano del pippo)
esempio:
io ho questo numero 978888331012 e devo calcolare il checksum:
secondo la teoria dell'ean-13 tutti i numeri in posizione pari vanno moltiplicati per 3 gli altri *1... sommando poi tutte le moltiplicazioni fatte. il primo carattere è in posizione 1.
dopo i dovuti calcoli avremo un totale di 114
114+6=120
6 è il carattere di controllo
quindi il codice a barre è: 978888310126