Rakam hesaplamasını kontrol edin Modulo 43

Çek basamaklarının hesaplanmasına ilişkin açıklama



InfoActiveBarcode çoğu kod için kontrol basamaklarını otomatik olarak hesaplar.
Bu dokümantasyon sadece eksiksiz olması içindir.

Modulo 43

Modulo'ya göre bir sağlama toplamının hesaplanması 43:
Modulo 43'e göre bir kontrol basamağı örneğin Code 39 tarafından kullanılır.

İlk olarak, kodun tüm karakterlerine referans numaraları atanır. Bu referans numaraları bir toplama eklenir. Bu toplam 43'e bölünür. Bu bölümün geri kalanı sağlama toplamına karşılık gelir ve daha sonra referans numarasına karşılık gelen karakterle değiştirilir.

Bir hesaplama örneği:

Rakamlar: 1 5 9 A Z
Referans numaraları: 1 +5 +9 +10 +35
Referans numaralarının toplamı: 60
Sağlama toplamını hesapla: 60 / 43 = 1 Kalan 17
Rakamı kontrol et "H" (Referans numarası 17)

Referans numaraları:
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 %


Modulo 43'e göre sağlama toplamını hesaplamak için kod örneği

Modulo 43'e göre sağlama toplamını hesaplamak için Excel VBA Kodu, örneğin HIBC kodu için:
' 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