Cititorul de coduri de bare nu îmi citește codurile de bare

Scanerul de coduri de bare nu îmi citește codurile de bare.

Citiți din nou codul. A apărut o eroare la generarea / tipărirea codului.

Care este sistemul de codificare? Bănuiesc că EAN-13.
Deci, există ultima cifră - controlul, calculat prin special. algoritm (nu-mi amintesc pe deplin, dar în rețea în descrieri în vrac).






Deci, sub Ezersk infu există doar 12 cifre.

Deci, în generație nu poate exista nici o eroare, totul este făcut de FastReport. Ie Am imprimat secvența de numere ca pe codul standard - 4600732134392 și am imprimat prin FastReport, atunci totul este recunoscut de scaner fără probleme. Deleee, am tastat codul - 1000000000095. pe un accident vascular cerebral este reprezentat așa cum este necesar ca și aici, în scaner nu vine tot. Înțeleg că dacă generez codul meu, atunci codul meu ar trebui să fie format din 12 caractere și al 13-lea - regula, regula este scăzută în Internet:

începând de la început (în stânga) suma numerelor impare (CH) (prima treime, etc.)
plus suma egală (MF) înmulțită cu trei.
Suma de control este un aditiv de împărțit cu 10.
9 - ((CH + CI * 3-1)% 10);

Poate că există o explicație mai precisă de la cineva că ceva este până la sfârșitul ideii # xA0 Nu pot să mă descurc.


> ceea ce este înainte de sfârșitul ideii # xA0 Nu pot să mă descurc.

4 6 0 0 7 3 2 1 3 4 3 9 2

CH = 4 + 0 + 7 + 2 + 3 + 3 = 19
СЧ = 6 + 0 + 3 + 1 + 4 + 9 = 23
9 - (19 + 23 * 3-1) mod 10 = 2

Încercați în loc de EAN-13 să utilizați Code128 sau alt tip care acceptă un număr variabil de cifre.
Probabil că EAN-13 nu este proiectat să stocheze informații despre mărfuri.


> generați codul pe acesta în raport și. scanerul nu recunoaște






> cod

Scanerul va putea recunoaște codul numai dacă cifra de control este corectă.


> începând de la început (stânga) suma numerelor impare (CH) (primul
> a treia, etc.)
> plus suma egală (MF) înmulțită cu trei.
> suma de control este un aditiv pentru a împărți cu 10.
> 9 - ((СН + СЧ * 3-1)% 10);

Regulă greșită. Numărarea nu este lăsată, dar este corectă. Mai întâi, chiar și numerele sunt însumate, începând cu al doilea, apoi ciudat, începând cu al treilea.


> EAN-13 probabil nu este încă conceput pentru stocarea în el
> orice informație despre bunuri

Dacă "orice infa" este doar o greutate, este destinat. Cântare cu imprimante de etichete doar EAN-13 și de utilizare.


> Numărarea nu este lăsată, dar corectă. Sintetizați mai întâi
> numere chiar, începând cu al doilea, apoi ciudat, începând
> De la a treia.

Ce este bufnita despre ciocan, ce va veni cu bufnita;)

> Ce este bufnita despre ciocan, ce va veni cu bufnita;)

Nu, există încă o diferență. Unul și același algoritm care calculează COP este folosit pentru diferite tipuri de coduri de bare cu lungimi diferite de cod, astfel încât păstrarea numărării referinței la stânga este mai generală.

codul de lucru, analfabeți, desigur, dar fără probleme este citit de scaner.


procedura TBARCODE.CRCEAN13;
var CRC1, CRC2: întreg;
începe
// zero
# xA0; fCRC: = "";
// adăugați numere în locuri libere
# xA0; CRC1: = StrToInt (fData [2]);
CRC1: = CRC1 + StrToInt (fData [4]);
CRC1: = CRC1 + StrToInt (fData [6]);
CRC1: = CRC1 + StrToInt (fData [8]);
CRC1: = CRC1 + StrToInt (fData [10]);
CRC1: = CRC1 + StrToInt (fData [12]);
// înmulțit cu 3
CRC1: = CRC1 * 3;
// adăugați numere în locuri ciudate
# xA0; CRC2: = StrToInt (fData [1]);
CRC2: = CRC2 + StrToInt (fData [3]);
CRC2: = CRC2 + StrToInt (fData [5]);
CRC2: = CRC2 + StrToInt (fData [7]);
CRC2: = CRC2 + StrToInt (fData [9]);
CRC2: = CRC2 + StrToInt (fData [11]);
// Fold numerele Noi picătură zeci
# xA0; fCRC: = inttostr (CRC1 + CRC2);
# xA0; fCRC: = fCRC [lungime (fCRC)];
// scădea de la 10
dacă fCRC<>"0" apoi fCRC: = inttostr (10-strtoint (fCRC));


> De asemenea, am vrut să mă adaptez la sarcina mea cu privire la problema bunurilor.

și componentele gata nu a încercat? există, de asemenea, gratuit







Trimiteți-le prietenilor: