Výpočet kontrolného čísla Modulo 43

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



InfoActiveBarcode automaticky vypočíta kontrolné číslice pre väčšinu kódov.
Táto dokumentácia slúži iba na účely úplnosti.

Modulo 43

Výpočet kontrolného súčtu podľa Modulo 43:
Kontrolná číslica podľa Modulo 43 sa používa napr. v kóde 39.

Najskôr sa všetkým znakom kódu priradia referenčné čísla. Tieto referenčné čísla sa pripočítajú k celkovému súčtu. Táto suma sa vydelí číslom 43. Zvyšok tohto delenia zodpovedá kontrolnému súčtu, ktorý je potom nahradený znakom zodpovedajúcim referenčnému číslu.

Príklad výpočtu:

Číslice: 1 5 9 A Z
Referenčné čísla: 1 +5 +9 +10 +35
Súčet referenčných čísel: 60
Vypočítajte kontrolný súčet: 60 / 43 = 1 Zvyšok 17
Kontrolná číslica "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 %


Príklad kódu na výpočet kontrolného súčtu podľa Modulo 43

Kód Excel VBA na výpočet kontrolného súčtu podľa Modulo 43, napr. pre 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