Výpočet kontrolní číslice Modulo 43

Popis výpočtu kontrolních číslic



InfoActiveBarcode automaticky vypočítává kontrolní číslice pro většinu kódů.
Tato dokumentace slouží pouze pro úplnost.

Modulo 43

Výpočet kontrolního součtu podle Modulo 43:
Kontrolní číslice podle Modulo 43 se používá např. v kódu 39.

Nejprve jsou všem znakům kódu přiřazena referenční čísla. Tyto referenční čísla se sčítají do celkové částky. Tato částka se dělí 43. Zbytek tohoto oddílu odpovídá kontrolnímu součtu, který je poté nahrazen znakem odpovídajícím referenčnímu číslu.

Příklad výpočtu:

Číslice: 1 5 9 A Z
Referenční čísla: 1 +5 +9 +10 +35
Součet referenčních čísel: 60
Vypočítat kontrolní součet: 60 / 43 = 1 Zbytek 17
Kontrola číslice "H" (Referenční číslo 17)

Referenční čísla:
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 %


Příklad kódu pro výpočet kontrolního součtu podle Modulo 43

Kód Excel VBA pro výpočet kontrolního součtu podle Modulo 43, např. pro kód 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