О технологии штрихкодирования

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
alik
Новичок
Сообщения: 6
Зарегистрирован: 26 Май 2006, 13:18

О технологии штрихкодирования

Сообщение alik »

Уважаемые разработчики!

Поставили задачу связанную с технологиями, которыми раньше заниматься не приходилось :( Нужна помощь или советы.

Есть справочник с наименованиями. Каждое наименование имеет уникальный шестизначный код. Нужно реализовать печать (на лазерном принтере например) этих наименований со штрихкодами
так, чтобы в последствии их можно было (используя сканерные устройства) однозначно идентифицировать и выполнить необходимые действия.
Информации в инете по данной технологии очень много. А как конкретно из программы на Clarion for Windows (v.6) напечатать этот штрихкод непонятно. Может быть есть готовая функция или процедура, которая правильно прорисует эту "зебру"?
Ограничений на коды пока нет.
Спасибо
Алик
Alik200563@mail.ru
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

Не знаю как насчет сканера, но вообще есть готовые шрифты, которые печатают штрих код.
ru_alex
Ветеран
Сообщения: 333
Зарегистрирован: 21 Сентябрь 2005, 11:05
Откуда: Нижний Новгород
Контактная информация:

Сообщение ru_alex »

У меня даже какой-то есть, если надо, кину на мыло, проверишь...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Сообщение Игорь Столяров »

Не все так просто с шрифтами ... Вопрос решается в три этапа.

1. Номер нужно перекодировать в код EAN-13 или другой, обязательно с расчетом контрольной суммы кода.
(алгоритм простейший, подробно описан на http://www.ean.ru)
Обрати внимание, что для пользовательских кодов отводится
секция 20-22 - иначе могут быть накладки с "настоящими" ш/к.

2. Код EAN должен быть подготовлен для печати - это требование двунапрвленного считывания. Т.е. одни и те же цифры кода имеют различное графическое отображение, в зависимости от своего местоположения в коде. Например так (подготовка строки с EAN13 для печати):

PrintBarCode PROCEDURE (Code_S)
Loc:RetValue STRING(14)
Loc:Count BYTE
Loc:Table BYTE
Loc:LTMP LONG
Loc:CodS STRING(14)
TABLE_EAN13 STRING('0@`pP!')
ORDER_EAN13 STRING(13),DIM(10)

CODE

ORDER_EAN13[1] ='6311111555554'
ORDER_EAN13[2] ='6312122555554'
ORDER_EAN13[3] ='6312212555554'
ORDER_EAN13[4] ='6312221555554'
ORDER_EAN13[5] ='6321122555554'
ORDER_EAN13[6] ='6322112555554'
ORDER_EAN13[7] ='6322211555554'
ORDER_EAN13[8] ='6321212555554'
ORDER_EAN13[9] ='6321221555554'
ORDER_EAN13[10]='6322121555554'

Loc:CodS = Clip(Left(Code_S))

! Дополним строку нулями до полной
Loop While Len(Clip(Left(Loc:CodS))) < 13
Loc:CodS = '0' & Clip(Loc:CodS)
end

Loc:Table = Loc:CodS[1] + 1 ! Определить таблицу кодировки
Clear(Loc:RetValue) ! Обнулить результат

Loop Loc:Count = 1 to 13 by 1
If (Loc:Count = 8) then Loc:RetValue = Clip(Loc:RetValue) & '|'. ! Разделители
Loc:LTmp = Val(table_ean13[Sub(order_ean13Loc:Table], Loc:Count,1)])
Loc:RetValue = Clip(Loc:RetValue) & Chr(Loc:LTmp + Loc:CodS[Loc:Count])
end

Return(Loc:RetValue)

! ------ ВСЕ : будет возвращена строка для печати или отображения

3. Далее, действительно - полно различных по красоте шрифтов (просто зебры, с цифрами и т.д.), которыми можно эту закодированную строку распечатать - и она будет считана любым сканером. Если не сможешь найти, оставь мыло - сброшу несколько вариантов ....
alik
Новичок
Сообщения: 6
Зарегистрирован: 26 Май 2006, 13:18

Сообщение alik »

Спасибо всем большое!
softcreator
Ветеран движения
Сообщения: 78
Зарегистрирован: 04 Август 2005, 9:35
Контактная информация:

Сообщение softcreator »

Госсыди... Ну есть же древняя библиотека генерации изображения штихкодов от Taboga! Все работает (почти без проблем) - зачем еще морочить себе голову с фонтами?!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Сообщение Игорь Столяров »

Вот именно, что древняя ... :(
Сейчас - это уже коммерческий продукт.
К тому же работа с фонтами дает большую гибкость при построении приложения и независимость от сторонних библиотек ... ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Сообщение Yufil »

Игорь Столяров писал(а):Вот именно, что древняя ... :(
Сейчас - это уже коммерческий продукт.
К тому же работа с фонтами дает большую гибкость при построении приложения и независимость от сторонних библиотек ... ;)
List & Label без проблем работает со штрихкодами. Штука достаточно тяжёлая, но если разобраться - море удовольствия .
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Сообщение Admin »

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Сообщение Игорь Столяров »

Никаких сомнений, но опять-таки, это не бесплатная фуська ... ;)
Я все-таки придерживаюсь решений насчет интеграции в программы: либо FreeWare (ZIP, IQXML, SMTP и т.д.), либо писать самому (штрих-коды, экспорт/импорт MS Word, Excel и т.д.). Иначе при каждом патче Clarion'а приходится дергаться - как бы чего не отвалилось ... :)
Да и вес готовой софтины эти библиотеки не уменьшают.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3133
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Сообщение Дед Пахом »

ага, а из-за бесплатных ты не дёргаешься? Вон Paresi (IQXML) упёрся как баран, не буду, говорит, для C63 пересобирать, пока чего-то там не пофиксят, и 2 недели (если не больше) я не мог на C63 перейти.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Сообщение Игорь Столяров »

Но ведь перешел ? И я перешел. И здесь есть выбор - можно сильно матерясь, использовать встроенный XML Clarion. Здесь скорее вопрос не в том, что надежней и лучше, а в том, что излишняя, по поводу и без повода интеграция в софт чужих библиотек и шаблонов - не нужна. С печатью штрих-кодов - уж точно все можно решить 20-30 строчками кода, причем без интеллектуального напряга - вся алгоритмика открыта. ;)
За теми кто отстал - не возвращаться. (С) Кодекс
softcreator
Ветеран движения
Сообщения: 78
Зарегистрирован: 04 Август 2005, 9:35
Контактная информация:

Сообщение softcreator »

За более чем 7 лет использования табоговской библиотеки (в сырцах) в ее код потребовались залезть только один раз - когда пришлось печатать на спецпринтере для штрихкода с очень низким разрешеним. Больше никаких нареканий не было. Были мутки с шаблонами - но это решилось давно и без проблем.
Насчет увеличения размера приложения за счет библиотеки - тут все как раз с точностью до наоборот. Это фонты (которые нужно поставлять с приложеним) раздуют приложение, а библиотека занимает в скомпилированном виде около 100 кил. Типичный размер одного фонта - несколько поболее...

А вот с фонтами были мутки неоднократно - в результате перешел исключительно на генерацию штриха...

А вообще - каждый сам себе буратина. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7372
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Сообщение Игорь Столяров »

Ну так выложи человеку библиотеку на FTP - пусть сам выбирает, что ему больше нравится ...
А размер "красивого" TTF ш/кода с цифрами - 17 Kb.
То, что генерит фришная табога - смотрится убого (точнее, так как это делалсь 5 лет назад). Современная библиотека - значительно продвинута - но она не бесплатна.
Алаверды: кому и кобыла невеста ... :)
За теми кто отстал - не возвращаться. (С) Кодекс
softcreator
Ветеран движения
Сообщения: 78
Зарегистрирован: 04 Август 2005, 9:35
Контактная информация:

Сообщение softcreator »

Ну выложил человеку на ftp - файл taboga barcodes.zip
Кстати - что значит штрих-код выглядит убого? Нет обрамляющих рюшечек по периметру или как?
Ответить