Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Преобразование строки в штрих код


Автор: adrone 23.6.2008, 15:11
Добрый день !

столкнулся вот с такой проблемкой имеется символьная строка '20071223100008'
необходимо преобразовать в штрих код, чтобы могла считываться ридером штрих кода.

в результате должно получиться '0002882002:82800:8:0022088200::0:800220' - устанавливаем тип шрифта "barcode" и он считывается.

т.е. из '20071223100008' должны получить это '0002882002:82800:8:0022088200::0:800220'

plzzz

Автор: ne0n 23.6.2008, 16:51
adrone,  '0002882002:82800:8:0022088200::0:800220' судя по всему это какето внутренне представление штрихкода в ридере. Ты бы хоть написал с какими форматами штрих кода ридер работает, и почему нельзя использовать картику.

Автор: Данкинг 23.6.2008, 17:10
Цитата(adrone @  23.6.2008,  16:11 Найти цитируемый пост)
в результате должно получиться '0002882002:82800:8:0022088200::0:800220' - устанавливаем тип шрифта "barcode" и он считывается.

Чявой? smile А если 20071223100008 заключить в звёздочки: *20071223100008* и установить тот же шрифт Barcode? 

Автор: adrone 24.6.2008, 07:38
Цитата(ne0n @  23.6.2008,  16:51 Найти цитируемый пост)
Ты бы хоть написал с какими форматами штрих кода ридер работает

interleave 25

Цитата(ne0n @  23.6.2008,  16:51 Найти цитируемый пост)
и почему нельзя использовать картику

о какой картинке речь ? smile


Цитата(Данкинг @  23.6.2008,  17:10 Найти цитируемый пост)
А если 20071223100008 заключить в звёздочки: *20071223100008* и установить тот же шрифт Barcode?

не катит .. в том то и фишка, что 20071223100008 каким то образом должно преобразоваться в 0002882002:82800:8:0022088200::0:800220, этому значению выставляем Barcode и при считывание, хотя бы в блокноте, получаем 20071223100008

Автор: chaos 24.6.2008, 08:29
Цитата(adrone @ 23.6.2008,  12:11)
устанавливаем тип шрифта "barcode" и он считывается.

если я не ошибаюсь, то это не просто шрифт, а....
вообще когда я писал принт сервер(баркодов) то не заморачивался на каких то преобразованиях, а просто "рисовал" штрих-код через DC и все!

Автор: adrone 24.6.2008, 12:54
Цитата(chaos @  24.6.2008,  08:29 Найти цитируемый пост)
а просто "рисовал" штрих-код через DC

неясно что такое DC, но вот просто применения barcode к тексту недостаточно.

Реализовал так: откапал barcode.bas - файлик макроса и подгрузил его в MS Office, и для требуемой строки применил 

objxl.ActiveCell.FormulaR1C1:='=Interleaved_2of5('20071223100008');

штрих код вышел какой надо smile

Автор: aktuba 24.6.2008, 14:06
Цитата(adrone @  24.6.2008,  13:54 Найти цитируемый пост)
Interleaved_2of5

Вот теперь смотри алгоритм и реализацию этой функции.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)