endeesfritpt

Controllare il calcolo della cifra di Modulo 43

Modulo 43

Questa è una descrizione del calcolo delle cifre di assegno in base Modulo 43.

InfoActiveBarcode calcola automaticamente le cifre di controllo per la maggior parte dei codici.
Questa documentazione è solo per motivi di completezza.

Calcolo di un checksum secondo il Modulo 43:
Una cifra di controllo secondo Modulo 43 viene utilizzata ad esempio dal Codice 39.

In primo luogo, i numeri di riferimento vengono assegnati a tutti i caratteri del codice. Questi numeri di riferimento vengono aggiunti a un totale. Questa somma è divisa per 43. Il resto di questa divisione corrisponde al checksum, che viene quindi sostituito dal carattere corrispondente al numero di riferimento è rappresentato.

Un esempio di calcolo:

Cifre: 1 5 9 A Z
Numeri di riferimento: 1 +5 +9 +10 +35
Somma dei numeri di riferimento: 60
Calcola checksum: 60 / 43 = 1 rimanenza 17
Cifra di controllo "H" (numero di riferimento 17)

Numeri di riferimento:
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 %


Esempio di codice per il calcolo del checksum in base al Modulo 43

Codice VBA di Excel per il calcolo del checksum in base al modulo 43, ad esempio per il codice 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