на основании статьи
http://www.ua.all.biz/guide/barcodes/
{ Пример вычисления контрольной цифры для определения подлинности товара 1. Сложить цифры, стоящие на четных местах: 8+0+2+7+0+1=18 2. Полученную сумму умножить на 3: 18x3=54 3. Сложить цифры, стоящие на нечетных местах, без контрольной цифры: 4+2+0+4+0+0=10 4. Сложить числа, указанные в пунктах 2 и 3: 54+10=64 5. Отбросить десятки: получим 4 6. Из 10 вычесть полученное в пункте 5: 10-4=6 }
// проверка на истиность штрихкода Function TrueCode(codeText:string):boolean; var x:integer; s1,s2,s3,s4,s5:integer; begin s1:=0;s3:=0; for x:=1 to length(codeText)-1 do if x mod 2=0 then begin s1:=s1+strtoint(codeText[x]) end else begin s3:=s3+strtoint(codeText[x]); end; s2:=s1*3; s4:=s3+s2; s5:=s4 mod 10; result:=(strtoint(codeText[length(codeText)])=(10-s5)); end;
// процедура для ввода списка стран производителей с вводом диапазона значений кода страны изготовителя Procedure initRus; begin CodeCount:=0; AddCode('Австралия',93,93); AddCode('Австрия',90,91); AddCode('Аргентина',779,779); AddCode('Бельгия',54,54); AddCode('Болгария',380,380); AddCode('Боливия',777,777); AddCode('Босния',387,387); AddCode('Бразилия',789,789); AddCode('Великобритания',50,50); AddCode('Венгрия',599,599); AddCode('Венесуэла',759,759); AddCode('Вьетнам',893,893); AddCode('Гваделупа',489,489); AddCode('Гватемала',740,745); AddCode('Германия',400,440); AddCode('Гондурас',740,745); AddCode('Греция',520,520); AddCode('Дания',570,570); AddCode('Доминиканская республика',746,746); AddCode('Израиль',729,729); AddCode('Индия',890,890); AddCode('Индонезия',899,899); AddCode('Ирландия',539,539); AddCode('Исландия',569,569); AddCode('Испания',840,840); AddCode('Италия',800,830); AddCode('Канада',000,090); AddCode('Кипр',529,529); AddCode('Китай',690,691); AddCode('Колумбия',770,770); AddCode('Коста-Рика',740,745); AddCode('Куба',850,850); AddCode('Латвия',475,475); AddCode('Литва',477,477); AddCode('Люксембург',54,54); AddCode('Мавритания',609,609); AddCode('Малайзия',955,955); AddCode('Мальта',535,535); AddCode('Марокко и Западная Сахара',611,611); AddCode('Мексика',750,750); AddCode('Молдова',484,484); AddCode('Нидерланды',87,87); AddCode('Никарагуа',740,745); AddCode('Новая Зеландия',94,94); AddCode('Норвегия',70,70); AddCode('Панама',740,745); AddCode('Парагвай',784,784); AddCode('Перу',775,775); AddCode('Польша',590,590); AddCode('Португалия',560,560); AddCode('Россия',460,460); AddCode('Румыния',594,594); AddCode('Сальвадор',740,745); AddCode('Сербия',860,860); AddCode('Сингапур',888,888); AddCode('Словакия',858,858); AddCode('Словения',383,383); AddCode('США',00,09); AddCode('Таиланд',885,885); AddCode('Тайвань',471,471); AddCode('Тунис',619,619); AddCode('Турция',869,869); AddCode('Украина',482,482); AddCode('Уругвай',773,773); AddCode('Филиппины',480,480); AddCode('Финляндия',64,64); AddCode('Франция',30,37); AddCode('Хорватия',385,385); AddCode('Чехия',859,859); AddCode('Чили',780,780); AddCode('Швейцария',76,76); AddCode('Швеция',73,73); AddCode('Шри-Ланка',479,479); AddCode('Эквадор',786,786); AddCode('Эстония',474,474); AddCode('Южная Корея',880,880); AddCode('Южно-Африканская Республика',600,601); AddCode('Япония',49,49); end;
для получения производителя товара по штрихкоду рекомендуется использовать сервис официального регистратора http://gs1ru.org/ программа демонстрирует возможность работы с ресурсом и содержит базу данных по некоторым производителям. для развития проекта - присылайте свои штрих-коды в привязке Штрих-код;производитель; инн;кпп
http://netsoftware.ucoz.ru/12_shtrikhkod.zip
|