22/08/2019, 21:54
EAN8, EAN13 ve EAN 128 Barkodlar hepsi aynı çalışmada...
12/11/2019, 19:43
raindorfler
Harika ve yararlı olmuş hocam. teşekkürlerr
14/11/2019, 14:50
burhanb
merhaba.
Kontrol Karakteri hesaplama ihtiyaçı olan çıkabilir.
----------------------------
Kontrol Karakteri hesaplama ihtiyaçı olan çıkabilir.
-----------------------------
Option Compare Database
'EAN-8 tipindeki "55123457" barkod rakamında 7 kontrol basamağıdır.
'sıra no 1 2 3 4 5 6 7 8 9
'-------------------------------------------------------------------------------------
'Barcod 5 5 1 2 3 4 5 ? ?
'Position O E O E O E O E O
'Ağırlık 3 1 3 1 3 1 3 1 3
'Çarpan 5 * 3 5 * 1 1 * 3 2 * 1 3 * 3 4 * 1 5 * 3 ?*1 ?*3
'Ağırlık Topl 15 5 3 2 9 4 15
'Toplam Sonuç 15 + 5 + 3 + 2 + 9 + 4 + 15 + 0 + 0 = 53. - 60 = 7
Function ean8_Hesapla(barkod8)
Dim b(1 To 7) As Integer
For m = 1 To 7
b(m) = Mid(barkod8, m, 1)
Next
hsp3 = b(1) * 3 + b(2 * 1) + b(3) * 3 + b(4) * 1 + b(5) * 3 + b(6) * 1 + b(7) * 3
sonuc = 10 - hsp3 Mod 10
ean8_Hesapla = sonuc
End Function
'EAN-10 tipindeki "334655628" barkod rakamında 6 kontrol basamağıdır. Hesap Mantığı EAN-8 Tipi ile aynıdır.
Function ean10_Hesapla(barkod10)
Dim c(1 To 9) As Integer
For z = 1 To 9
c(z) = Mid(barkod10, z, 1)
Next
hsp4 = c(1) * 3 + c(2) * 1 + c(3) * 3 + c(4) * 1 + c(5) * 3 + c(6) * 1 + c(7) * 3 + c(8) * 1 + c(9) * 3
sonuc = 10 - hsp4 Mod 10
ean10_Hesapla = sonuc
End Function
'EAN-13 tipindeki 8697543170035 barkod rakamında 5 kontrol basamağıdır.
'Aşağıda hesaplama mantığı adım adım anlatılmıştır.
'1.Adım: Barkod rakamının çift haneleri toplanır. 6+7+4+1+0+3=21
'2.Adım: 1.adımda çıkan sayı 3 ile çarpılır. 21*3=63
'3.Adım: Barkod rakamının tek haneleri toplanır. 8+9+5+3+7+0=32
'4.Adım: 2 inci adımda elde edilen sayı ile 3 üncü adımda elde edilen sayı toplanır. 63+32=95
'5.Adım: 4.adımda elde edilen sayı (yukarıda 95 sayısı) kendisinden büyük 10 u katı olan 100 den çıkartılır.100-95=5
'Sonuç: 6 ncı adımda elde edilen sayı (yukarıda 5 olarak elde edilmiş) kontrol basamağı (Check Digit) rakamıdır
Function BarkodHesapla(barkod13)
Dim a(1 To 12) As Integer
For n = 1 To 12
a(n) = Mid(barkod13, n, 1)
Next
hsp1 = a(2) + a(4) + a(6) + a(8) + a(10) + a(12)
hsp2 = a(1) + a(3) + a(5) + a(7) + a(9) + a(11)
sonuc = 10 - ((3 * hsp1) + hsp2) Mod 10
BarkodHesapla = sonuc
End Function
----------------------------
14/11/2019, 18:38
mehmetdemiral
Teşekkürler. Çok yararlı bilgiler olmuş.
19/11/2019, 22:30
raindorfler
Yapamadığım 2 şey var.
Bende 13 rakamlı kontrol sağlanmış barkod rakamları var. Önce otomatik olarak 2 ye düşürmem gerekli.
Diğeri ise 6 rakamlı manuel sayılar var. Bunlarında önüne 12 basamağa tamamlamak için "0" sıfır ekmek.
Market sayım ve etiket basma üzerine uğraşıyorum. Ama çok acemiyim. Sadece hazır kodlardan alıntı ile
Bende 13 rakamlı kontrol sağlanmış barkod rakamları var. Önce otomatik olarak 2 ye düşürmem gerekli.
Diğeri ise 6 rakamlı manuel sayılar var. Bunlarında önüne 12 basamağa tamamlamak için "0" sıfır ekmek.
Market sayım ve etiket basma üzerine uğraşıyorum. Ama çok acemiyim. Sadece hazır kodlardan alıntı ile
20/11/2019, 12:08
ozanakkaya
(19/11/2019, 22:30)raindorfler yazdı: Yapamadığım 2 şey var.
Bende 13 rakamlı kontrol sağlanmış barkod rakamları var. Önce otomatik olarak 2 ye düşürmem gerekli.
Diğeri ise 6 rakamlı manuel sayılar var. Bunlarında önüne 12 basamağa tamamlamak için "0" sıfır ekmek.
Market sayım ve etiket basma üzerine uğraşıyorum. Ama çok acemiyim. Sadece hazır kodlardan alıntı ile
Merhaba, örnek uygulamanızı ekleyerek yeni konu açınız.