Merhabalar, Kacan uykumun pesinden kosmak yerine bloglamak istedim. Fakat suan macbookumda oldugum icin turkce karakter kullanamiyorum malesef. Dubai mali olunca cihaz 🙂
Bu aralar check algoritmalarinin paylasildigi bir yer haline gelmekte baktim ki burasi, Luhn Check mod 10 dogrulamasi mevcut, Tc Kimlik dogrulamasi mevcut C# da EAN 13 ve EAN8 nasil hesaplanir onu yazayim dedim.
Turkce karakter kullanmadigim icin ozur dileyecektim konuyu nasil dagittim nereye ne sekilde blog’un iceriginde dondu 🙁 anlamadim ve suan ise yarar birsey yapmanin en guzel kismi uykum geldi 🙁
Fazla uzatmiyim EAN 8 ve EAN 13 birer barkod cesididir. Hatta en cok kullanilanlardan birtanesidir. Ean13’u surekli ev urunlerinde gorurz uzunlu kisali olan barkod cesitlerindendir ean.
Ean 13 e ornek :
perakendecilik sektorunden bir ornek ve anlatimi.
Ean 13 ilk 12 hanesi barkod datasidir. 13. karakter kontrol dijit.
Ean 8 ilk 7 hanesi barkod datasi, 8. karakter kontrol dijiti.
kimi yerde kontrol dijiti kimi yerde check digit yaziyorum kusura bakmayin.
(Kodlar baska kaynaklardan alintidir..)
Ean 13 C# kodu :
static int _checksum_ean13(String data) { // Test string for correct length if(data.Length != 12 && data.Length != 13) return -1; // Test string for being numeric for(int i=0;i<data.Length;i++) { if(data[i] < 0x30 || data[i] > 0x39) return -1; } int sum = 0; for(int i=11;i>=0;i--) { int digit = data[i] - 0x30; if ((i & 0x01) == 1) sum += digit; else sum += digit * 3; } int mod = sum % 10; return mod == 0 ? 0 : 10 - mod; }
Ean 8 C# Kodu :
static int _checksum_ean8(String data) { // Test string for correct length if(data.Length != 7 && data.Length != 8) return -1; // Test string for being numeric for(int i=0;i<data.Length;i++) { if(data[i] < 0x30 || data[i] > 0x39) return -1; } int sum = 0; for(int i=6;i>=0;i--) { int digit = data[i] - 0x30; if ((i & 0x01) == 1) sum += digit; else sum += digit * 3; } int mod = sum % 10; return mod == 0 ? 0 : 10 - mod; }
Merhaba;
EAN 13 Barkod da 12 rakamdan sonra gelen 13 kontrol dijit nasıl hesaplanıyor. Sistematiği nedir. Yani neye göre belirliyor o rakamın kaç olacağını.
A1
=MOD(10-MOD(TOPLA.ÇARPIM(PARÇAAL(A1;SATIR(DOLAYLI(“1:”&UZUNLUK(A1)));1)*((MOD(SATIR(DOLAYLI(“1:”&UZUNLUK(A1)));2)=0)*3+(MOD(SATIR(DOLAYLI(“1:”&UZUNLUK(A1)));2)=1)));10);10)