Kontrolcifferberegning af Modulo 43

Beskrivelse af beregning af kontrolcifre



InfoActiveBarcode beregner automatisk kontrolcifre for de fleste koder.
Denne dokumentation er kun medtaget for fuldstændighedens skyld.

Modulo 43

Beregning af en kontrolsum i henhold til Modulo 43:
Et kontrolciffer i henhold til Modulo 43 bruges f.eks. af Code 39.

Først tildeles alle tegn i koden referencenumre. Disse referencenumre lægges sammen til et samlet beløb. Dette beløb divideres med 43. Resten af denne division svarer til kontrolsummen, som derefter erstattes af det tegn, der svarer til referencenummeret.

Et beregningseksempel:

Ciffer: 1 5 9 A Z
Referencenumre: 1 +5 +9 +10 +35
Summen af referencenumre: 60
Beregn kontrolsum: 60 / 43 = 1 Restbeløb 17
Kontrolciffer "H" (Referencenummer 17)

Referencenumre:
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 %


Kodeeksempel til beregning af kontrolsummen i henhold til Modulo 43

Excel VBA-kode til beregning af kontrolsummen i henhold til Modulo 43, f.eks. for HIBC-koden:
' 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