Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Вниз

EAN-13   Найти похожие ветки 

 
Ломброзо ©   (2006-07-10 21:59) [0]

Продолжаю разбираться со штрих-кодированием. Избрал сабжевый стандарт. Непонятка вот в чем: в штрих-коде данного стандарта 12 символов рабочих, а последний - контрольный, причём принтер рассчитывает этот самый последний автоматически. В базу данных я кладу 12 символов, без контрольной суммы. Сканер же штрих-кодов, втыкаемый в разрыв клавиатуры, считывает все 13 символов, и по этой причине приходится выдумывать алгоритм интеллектуального обрезания штрих-кода, чего делать неохота, поскольку не исключено, что в один прекрасный день придётся использовать не только EAN-13, но и другие стандарты, в том числе переменной длины и без контрольной суммы.
В буклете с настроечными кодами сканера опции "не считывать контрольную сумму" не нашел (может, плохо искал?).
Как лучше всего решить эту задачу?


 
Leonid Troyanovsky ©   (2006-07-10 22:39) [1]


> Ломброзо ©   (10.07.06 21:59)  

> Продолжаю разбираться со штрих-кодированием. Избрал сабжевый
> стандарт. Непонятка вот в чем: в штрих-коде данного стандарта
> 12 символов рабочих, а последний - контрольный, причём принтер
> рассчитывает этот самый последний автоматически. В базу
> данных я кладу 12 символов, без контрольной суммы.


А не поспешил с 12 символами?  Бо, EAN, AFAIK, оставляет для
внутреннего учета начинающиеся c 2, т.е., полезных лишь 11 знаков.

> выдумывать алгоритм интеллектуального обрезания штрих-кода,
>  чего делать неохота, поскольку не исключено, что в один
> прекрасный день придётся использовать не только EAN-13,
> но и другие стандарты, в том числе переменной длины и без
> контрольной суммы.


Видимо, придется, бо бывают и такие интеллектульные сканеры,
которые не требуют перестройки с одного кода на другой.

--
Regards, LVT.


 
Ломброзо ©   (2006-07-10 23:10) [2]

Я чего-то вообще запутался.
Шлю на принтер 0001 0000 5776 (пробелы для наглядности).
Принтер печатает 0001 0000 5776 6 (последняя шестёрка - контрольная сумма).
Считываю сканером.
Он считывает 0010 0005 7766, 12 символов.
То есть отрезает первый ноль и включает контрольный символ.

В то же время штрих-код с бутылки (непочатой) "Арарата" 6 звезд
"4850 0010 0101 0" считывается целиком, все 13 символов, включая контрольную сумму.


 
Leonid Troyanovsky ©   (2006-07-10 23:16) [3]


> Ломброзо ©   (10.07.06 23:10) [2]

> Принтер печатает 0001 0000 5776 6 (последняя шестёрка -
> контрольная сумма).


А принтер-то правильно настроен?
Попробуй воспроизвести им код с Арарата.
Кстати, полная - это намек? ;)

--
Regards, LVT.


 
Ломброзо ©   (2006-07-10 23:23) [4]

Leonid Troyanovsky ©   (10.07.06 22:39) [1]
Все, спасиба, разобрался. Воткнул опцию "Convert UPC-A to EAN-13" и отрезал перенос контрольной суммы.


 
Ломброзо ©   (2006-07-10 23:26) [5]

>Кстати, полная - это намек?
"Не дождетесь" :o) (с)
"Дефсит!" (с)


 
tesseract ©   (2006-07-11 09:22) [6]

> "4850 0010 0101 0" считывается целиком, все 13 символов,
> включая контрольную сумму.

в EAN13  первая цифра кодируется чередованием прямого и обратного кода в первом блоке.

Есть модуль для рассчёта и печати ШК. Там их штук 8 разных. Печатались на BZB2 в режиме графики- сканер читает в 100%.


 
Gorlum ©   (2006-07-11 10:23) [7]

Обычно на сканере просто можно отключить передачу контрольного символа, безо всяких конвертаций в в другой код



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.01 c
15-1152620171
boriskb
2006-07-11 16:16
2006.08.06
Вот так программы писать надо.


4-1145337676
DIR3ct0r
2006-04-18 09:21
2006.08.06
Определение сезона (зима/лето) по дате


8-1139576813
DelphiLexx
2006-02-10 16:06
2006.08.06
Моделирование и Delphi


15-1152163149
Ega23
2006-07-06 09:19
2006.08.06
С Днём рождения! 6 июля


6-1143034305
Kacnep
2006-03-22 16:31
2006.08.06
Виснет при TidServerSocket.Active:=false; Инди 10





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский