Çek basamaklarının hesaplanmasına ilişkin açıklama
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