Descrição do cálculo dos dígitos de verificação
Esta documentação serve apenas para fins de completude.
Modulo 43
Cálculo de uma soma de verificação de acordo com o módulo 43:Um dígito de verificação de acordo com o Módulo 43 é utilizado, por exemplo, pelo Código 39.
Primeiramente, são atribuídos números de referência a todos os caracteres do código. Esses números de referência são adicionados a um total. Este valor é dividido por 43. O restante desta divisão corresponde à soma de verificação, que é então substituída pelo caractere correspondente ao número de referência representado.
Um exemplo de cálculo:
| Dígitos: | 1 5 9 A Z |
| Números de referência: | 1 +5 +9 +10 +35 |
| Soma dos números de referência: | 60 |
| Calcular soma de verificação: | 60 / 43 = 1 Resto 17 |
| Digito de verificação | "H" (Número de referência 17) |
Números de referência:
|
00 0 01 1 02 2 03 3 04 4 05 5 06 6 07 7 08 8 09 9 10 A |
11 B 12 C 13 D 14 E 15 F 16 G 17 H 18 I 19 J 20 K 21 L |
22 M 23 N 24 O 25 P 26 Q 27 R 28 S 29 T 30 U 31 V 32 W |
33 X 34 Y 35 Z 36 - 37 . 38 Space 39 $ 40 / 41 + 42 % |
Exemplo de código para calcular a soma de verificação de acordo com o Módulo 43
Código Excel VBA para calcular a soma de verificação de acordo com o Módulo 43, por exemplo, para o código HIBC:
' calc modulo 43
‘ returns the input string plus the check character
' demo for www.activebarcode.com
Public Function MOD43CheckChar(sValue As String) As String
Const charSet As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
Dim i As Integer
Dim T As Long
For i = 1 To Len(Trim(UCase(sValue)))
T = InStr(charSet, Mid(sValue, i, 1)) - 1 + T
Next i
MOD43CheckChar = sValue & Mid$(charSet, (T Mod 43 + 1), 1)
End Function