Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.08;
Скачать: CL | DM;

Вниз

Работа со сканером штрихкода   Найти похожие ветки 

 
kyn66 ©   (2007-03-14 18:50) [0]

Могет кто подскажет про САБЖ. Что для этого нужно? На работе требуют написать прогу, которая считывала-бы с квитанций штрихкоды и обрабатывала-бы суммы. Никогда с этим не сталкивался. Могет кому приходилось, полскажите с чего начать. Спасибо.


 
zdm ©   (2007-03-14 18:56) [1]

ни чего не надо если сканер вставляется в разрыв клавиатуры, и он работает как клава, т.е. при чтении штрих-кода в любой edit введется значение


 
zdm ©   (2007-03-14 18:57) [2]

Metrologic Laser Pulsar  , например


 
zdm ©   (2007-03-14 18:58) [3]

обычно, в коде, например, приема коммунальных платежей, 40123456....
40-код операции 123456-1234 руб 56 коп.. мож навел на мысль


 
zdm ©   (2007-03-14 19:10) [4]

тебе всё ещё интересно?
так на всяк случай, мож тоже поможет, извлеч из кода(главное понять где сумма, потому что на пачке сигарет, например, первые цифры-это страна производитель ;) )
примерно так мона.(это верно только для коммунальных платежей, но логику думаю поймешь)
          sub_sum:=copy(Edit_BarCode.Text,3,4);
          sub_sum:=sub_sum+","+ copy(Edit_BarCode.Text,7,2);
          price:=strtofloat(sub_sum) ;


 
kyn66 ©   (2007-03-14 19:23) [5]


> обычно, в коде, например, приема коммунальных платежей,
> 40123456....40-код операции 123456-1234 руб 56 коп.. мож
> навел на мысль


По расшифровке разберемся. А как узнать код попал в Edit, он правильный, корректно считался... Т.е. как управлять различными компонентами на форме для получения кода и в какой момент. И если Edit-ов на форме несколько, какой из них получит код? Вот-бы примерец чей рабочий глянуть


 
zdm ©   (2007-03-14 19:25) [6]

есть у меня прога по приему коммунальных платежей, писал.. все просто, ты вопросы задавай , а я чем смогу помогу. Для сопостовления Корректности кода надо создать таблицу сопоставлений правильности(точнее возможных значений, кол-во символов, код страны,,, ну всё от задачи зависит)


 
zdm ©   (2007-03-14 19:26) [7]

в момент нажатия кнопки "провести платеж"


 
zdm ©   (2007-03-14 19:26) [8]

или OnChange Edit-а -чем тебя не устраивает, ты же знаешь какой эдит за какой код отвечает


 
Fin ©   (2007-03-14 19:34) [9]

а у нас как то этот считыватель штрих кодов не прижился, операторы почти раза в два быстре набирают, хотя если нет операторов  - довольно удобно и ошибок меньше.
Опять же про ошибки: бывали случаи когда при считывании кода выдавался не ожидаемый результат, (очень редко, но было), добавил в код контрольную сумму и при вводе проверял её и при не совпадении писчал бипиром, мигал и т.п.


 
zdm ©   (2007-03-14 19:39) [10]


> Fin ©   (14.03.07 19:34) [9]

извини, конечно, про ошибки мож ты и прав, но как ты в коде разберешь где, например "О" -русская она или английская, а на некоторых это может быть еще и нулём(0)


 
zdm ©   (2007-03-14 19:40) [11]

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


 
zdm ©   (2007-03-14 19:41) [12]

про моей,, я не имел ввиду себя лично, а автоматический процесс считывания сканером


 
zdm ©   (2007-03-14 19:43) [13]


> Fin ©   (14.03.07 19:34) [9]

без обид, если писчит и мигает, перепрошить его легко можно-это таблицы прошивки обычно поставляются со сканером, скорее всего -это возникает при "простое" он засыпает просто, а корректно просуться не может


 
zdm ©   (2007-03-14 19:44) [14]

просуться=проснуться


 
zdm ©   (2007-03-14 19:45) [15]

это как винду -раз в полгода желательно переустанавливать


 
kyn66 ©   (2007-03-14 19:48) [16]

Если говоришь есть прога, могет мона на форму со считыванием глянуть?


 
zdm ©   (2007-03-14 20:00) [17]

да в форме кроме  TEdit-ов ни чего нет. На OnShow формы я делаю на необходимый Edit-SetFocus-юзер штрихает-нажимает ENTER(или мышкой встает на следующее поле)-пока все необходимые edit-ы не заполнены кнопка Save-Enabled=False-когда все заполнены она становится активной и при нажатии на неё идет проверка сходимости введеных значений.


 
zdm ©   (2007-03-14 20:01) [18]

на ENTER отдельный обработчик, имитирует TAB юзерам так удобней блин ;)))


 
Fin ©   (2007-03-14 20:02) [19]

zdm что то я не как не услежу ход твоей мысли.
Что значит как отличить латинскую "О" от русской или нуля? у них вообщето разный код 142 и 79 у нуля ваще 49. и потом в лично я в штрихкод помещал только полезную информацию т.е. лицевой, сумма, дата, ещё какуюто инфу и контрольную сумму. Ни кахих букв там и в помине не было.
и про пищание и мигание это как раз я сам в проге и писал что бы заострить внимание оператора потому что на экран они как раз почти и не смотрят.
Короче одим словом у нас эта технология не прижилась по ряду причин.


 
zdm ©   (2007-03-14 20:04) [20]

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


 
zdm ©   (2007-03-14 20:06) [21]


> Fin ©   (14.03.07 20:02) [19]

про O и 0 , ты-ж говорил что они без сканера быстрее вводят и как они отличают?,, особенно если постоянный поток клиентов идет?


 
zdm ©   (2007-03-14 20:08) [22]


> Fin ©   (14.03.07 20:02) [19]

это ты помещал,, а коды разные бывают, от куда ты знаешь какой у автора?!?!?


 
zdm ©   (2007-03-14 20:09) [23]


> Fin ©   (14.03.07 20:02) [19]

прошу прощения у автора. серьёзно, а как ты писал передачу параметров "мигания" сканеру?


 
Fin ©   (2007-03-14 20:13) [24]

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


 
Fin ©   (2007-03-14 20:15) [25]

ну ты загнул откуда я знаю код у автора. во первых есть стандартные кодировки, а у меня ещё проще я сам же эти коды и пишу на квитанциях (вернее писал) так как за не надобностью временно убрали.


 
Fin ©   (2007-03-14 20:19) [26]

[23] не понял вопроса. Не кому я не передавал не каких параметров. а пищала и мигала прога на машине.


 
zdm ©   (2007-03-14 20:21) [27]


> и про пищание и мигание это как раз я сам в проге и писал
> что бы заострить внимание оператора

а как-же это?,,,  или я не понял
а автор спрашивает не про написание кодов и возможно не про стандартные коды, по этому и рассматриваются нештатные ситуёвины


 
zdm ©   (2007-03-14 20:24) [28]

я так и думал, а пищит она или кричит по причине некорректного просыпания(у тя не Metrologic случаем? ;))


 
Fin ©   (2007-03-14 20:28) [29]

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


 
Fin ©   (2007-03-14 20:30) [30]

[28] какой считыватель даже не помню, но он точно нечего ненужного (пищание) сам не издаёт.


 
zdm ©   (2007-03-14 20:33) [31]


> Fin ©   (14.03.07 20:28) [29]

так в принципе мы с тобой вроде как и объяснили. А дальше как всегда флуд пошел ;) Да лан, ситуации разные бывают, если сам писал то поймешь, ПОКА НЕ НАЧНЕШЬ ПИСАТЬ-ВОПРОСЫ ЗАДАВАТЬ БЕСПОЛЕЗНО. IMHO, автор просто думает, а на следующий конкретный вопрос мы с удовольствием ответим(если сможем)


 
zdm ©   (2007-03-14 20:39) [32]


> Fin ©

при всём уважении(и естественно без обид), но задело как-то-мы отказались от штрихов. А вот Ашан, Пятерочка, Эльдорадо и др. минимаркеты не отказались ;))) странно ;) Супермаг-слышал прогу, дык я её воспитывал полтора года, а точнее она меня , а я юзеров на ней.. о сказанул-то ;)


 
Fin ©   (2007-03-14 20:48) [33]

ты сам сказал что ситуации бывают разный  Мы это не эльдорадо и другие магазины, мы выставляем счета абонентам целого города и от этих абонентов счета могут вернутся испачкаными, с исправленными суммами и прочее. И поверь у нас считыватели штрих кодов уступили по скорости обработки операторам.


 
zdm ©   (2007-03-14 20:54) [34]


> Fin ©   (14.03.07 20:48) [33]

да,я понимаю тебя, так бы сразу и сказал -что штрихи "не первой свежести". такое, конечно, может быть. но автору надо удовлетворить начальство(автор, ни какой похабщины не имел ввиду, мы все удовлетворяем потребности клиента, порой хотца и в морду ему даже дать....), а уж как жизнь повернется-это вопрос третий. Встал вопрос по работе со штрихами, ну и давай способствовать, хотя все версии хороши, жаль что участников мало . Автор-бы по подробней объяснил какие именно он штрих собирается читать, стандарт, собственные...возможны-ли ксерокопии.факсы и т.д.


 
kyn66 ©   (2007-03-15 09:10) [35]

Я так пониманию, что обработка полученых со сканера данных бывает разной в зависимости от сканера? На данный момент у меня тот, который вставляется в разрыв с клавой. А бывают наверное и USB - шные. Для них наверное по другому?


 
tesseract ©   (2007-03-15 10:28) [36]


> А бывают наверное и USB - шные. Для них наверное по другому?


C Com-USB  проще обработатывать сообщения.


 
Fin ©   (2007-03-15 10:48) [37]


> kyn66 ©   (15.03.07 09:10) [35]

У нас считыватель включается в разрыв клаву. те которые напрямую не юзал, но думаю принципиальных отличий нет. ИМХО конечно же но те котрые не в разрыв клавы всё равно посылают сообщегия в буфер клавы поэтому разницы быть не должно. Если не прав то tesseract ©   (15.03.07 10:28) [36] поясни что значит проще обрабатывать?


 
DiamondShark ©   (2007-03-15 10:52) [38]


>  На данный момент у меня тот, который вставляется в разрыв
> с клавой

Ну так и не парь себе голову.
Пиши прогу так, словно никакого сканера у тебя нет, а цыферьки нажимаются на клавиатуре.


> А бывают наверное и USB - шные. Для них наверное по другому?

Для них по-другому.


 
kyn66 ©   (2007-03-15 15:07) [39]

Тот шо через клаву - проверено, все просто получается. Разобрался. Спачибо zdm за изначальную наводку.


 
zdm ©   (2007-03-15 17:55) [40]

дык бывают сканеры еще и в com-порты которые вставляются, а там уже отдельный разговор! и они не эмулируют клаву, а рабтают как отдельное устр-во. Через дровинку.



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

Текущий архив: 2007.04.08;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.035 c
9-1146952603
Медвед
2006-05-07 01:56
2007.04.08
Чем отличаются различные версии OpenGL?


1-1171551713
TStas
2007-02-15 18:01
2007.04.08
Как называется системный разделитель даты?


15-1173715498
zdm
2007-03-12 19:04
2007.04.08
TDBF


2-1174432039
koha
2007-03-21 02:07
2007.04.08
Function WinSvc.GetServiceDisplayName


4-1163939380
SerMax
2006-11-19 15:29
2007.04.08
Key_Hook и зажатие клавиши