|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
Пример работы со штрихкодом. Вдруг кому-нибудь пригодится, например мне. Отдаю себе отчет, что со стартовым спецсимволом, или, еще лучше, на ком порту решается правильнее. Но задача была не трогать настройки и оборудование клиентов, использовать только задержки. Для теста взяты полсекунды, в боевых условиях константы 0.5 и 500 надо сделать 0.1 и 100 или еще меньше. Предполагается,что если кликать чаще чем раз в полсекунды,система думает что это штрихкод. А если реже, то не думает. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 16:15 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
Shark, Никому не пригодится ! Системе должно быть по барабану что это (или сканирование или ввод руками на клавиатуре штрих-кода который не читается сканером), единственный критерий это в конце суфикс перевода каретки - признак окончания ввода ШК (равносильно нажатию клавиши Enter), если сканер это не делает - его нужно просто препрограммировать ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 20:39 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
vmag, vmagпрепрограммировать перепрограммировать, сорри... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 20:41 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
1. Мне уже пригодилось 2. Вы наверное не поняли задачу. Задача- при обычном клавиатурном сканере отличить ввод со сканера от ввода с клавиатуры. Для того, чтобы стоя в произвольном текстовом поле, можно было получить штрихкод, обработать его и продолжить работу с текстовым полем. Что и сделано. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 20:45 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
Поясню еще не много, зачем городить огород, если одним лишним кликом мышки можно попасть в поле штрихкода и получить его без выкрутасов. Проблема в том, что этот клик важен. Оператор работает без мыши и обрабатывает кучу документов. Тянуться за мышью и кликать ему долго. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 20:51 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
SharkВы наверное не поняли задачу Это вы ничего не поняли, а я уже этим занимаюсь 10 лет... Не нужно это различать вообще, ибо сканер просто имитирует ваш ручной ввод ШК с клавиатуры для ускорения процесса и системе должно быть абсолютно всё равно - ввели этот штрих код руками или при помощи сканера, системе нужно только сказать что ввод данных закончен и всё, в случае сканера это авто переревод каретки, а если руками на клавиатуре, то это клавиша Enter (конец ввода), а дальше анализируйте событие после обновления поля: - если первый символ например "с" (а всё значение поля с5000) то это значит, что это не штрих-код, а продавец руками ввел сумму которую дал покупатель (5 000 р.) и нужно вычислить сдачу по чеку... - если это типа 4627083510051 то проверяйте контрольную сумму и если она нормальная, то ищите этот товар в БД по ШК для регистрации продажи... Ну а сканеры нужно покупать правильные, а не искать на развалинах мезозойский период... Правильный сканер (их сейчас 99,9 %) это usb сканер, который работает сразу без всяких драйверов и без дополнительных блоков питания и сам делает после сканирования перевод каретки (нажимает Еnter) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 21:03 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
SharkОператор работает без мыши и обрабатывает кучу документов. Тянуться за мышью и кликать ему долго. Для этого нужен просто хороший интерфейс: SetFocus, бла, бла... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 21:06 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
Sharkпри обычном клавиатурном сканере отличить ввод со сканера от ввода с клавиатуры Для этого в событии после обновления достаточно проанализировать просто первый символ, а в вашем примере я на клавиатуре быстро набрал 0000000000017 и получилось, что это отработал сканер, а не я... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 21:14 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
Ну вы прочитайте первый пост. Специально сделано полсекунды, чтобы можно было легко сымитировать сканер. В боевом решении надо ставить 100мс или меньше. Решение не идеальное, на компорту лучше. Это тоже прозвучало в заглавном посту. Поскольку геймер легко обгонит сканер штрихкода)) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 21:19 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
SharkРешение не идеальное, на компорту лучше Вы вообще где живёте? Уже лет 5 нет ноутбуков и компов с com портами... или вы в ларьках покупаете шнурки- переходники usb-com ? Садо-мазо ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 21:24 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
Неужели вы думаете, что я от хорошей жизни нагородил этот огород. Оператор должен заполнить ряд текстовых полей. И в любой момент может оказаться что готово. И если он сразу пикнет, то в любом случае клики будут сэкономлены. Это специфика задачи, а не мой каприз. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 21:28 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
10 лет работы со сканерами{facepalm} И не знать что USB сканеры подключаются как компорт. Предлагаю закончить дискуссию. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 21:30 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
SharkПредлагаю закончить дискуссию совершенно согласен... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 21:33 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
vmagВы вообще где живёте? Уже лет 5 нет ноутбуков и компов с com портами... или вы в ларьках покупаете шнурки- переходники usb-com ? Садо-мазо ? Posiflex TX-4200 Posiflex XT-3114 и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 22:46 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
?????, Так Атол эти компы сам для себя и кидает на рынок... Никто ведь не покупает уже сканеры образца 60-х Да и дешевле продавать экскременты мамонтов, чем вкладываться в разработку нового ПО Intel Atom - это воистину круто и особенно удобно ТСу будет SharkОператор работает без мыши и обрабатывает кучу документов. на POC мониторе размером со спичечный коробок... Да и суть не в этом - чтобы определить ввод был сканером или с клавиатуры - не нужно мерить частоту, нужно анализировать первые символы, длину поля и т.д. А так то да... берем дерьмо, сажаем его на палочку, замораживаем и можно продавать как мороженное, никто с этим и не спорит... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 23:53 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
vmagSharkВы наверное не поняли задачу Это вы ничего не поняли, а я уже этим занимаюсь 10 лет... Не нужно это различать вообщеОчень грустно, что факт "я работаю 10 лет" является причиной для бессмысленной и беспощадной критики и нежелания хоть немножко подумать. Отличать сканирование клавиатурным сканером от ввода клавиатуры действительно бывает нужно и важно. Shark совершенно прав. И отдельное спасибо за такую памятку. При случае может пригодится. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 00:06 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
Гео +1 И Шарку спасибо. Тоже как-то было нужно такое. И не уверен, что не случится еще раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 00:31 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
Поясню, что я имел в виду, когда писал про Com-порт. Речь шла вовсе не о древнем разъеме)) Тут стоит почитать. Ну и этот форум топики со "Штрихкод". USB сканеры бывают двух видов- эмуляторы клавиатуры и эмуляторы RS-232(компорта). Для вторых ставится специальный драйвер и в Диспетчере оборудования появляется порт. Эмуляторы клавиатуры хороши тем, что не надо настраивать софт, легко тестировать и очень любимы за это наивными программистами. На компорту более функциональны, и в большинстве внедрений используются именно они. С их помощью можно подключить два сканера к одному компьютеру (разделив ввод, например, для 2х рабочих мест. В цехе может понадобится, для безбумажки), и не надо ухищряться для решения моей задачи. И можно быть уверенным, что геймер, кликающий 600 раз в секунду,не притворится сканером)). Я бы не стал использовать клавиатурный сканер, но в моем случае это постановка задачи. Современные сканеры умеют переключаться между этими режимами с помощью сканирования специальных кодов из настроечной таблицы в документации. Там еще много чего можно попереключать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 05:23 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
Кликающий 600 раз в минуту*, конечно)) В секунду даже геймер устанет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 05:26 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
Shark,vmag Вы все ничего не понимаете ! Вообще-то проблема серьезная, но решается совсем по другому. Сканер программируется преамбулой ( у меня - "!" - chr(33) или 21 в 16-ричном формате) Тогда в процедуре Private Sub Form_KeyPress(KeyAscii As Integer) On Error Resume Next Код: vbnet 1. 2. 3. 4. 5. 6.
Т.е. изымается преамбула и фокус переносится куда надо. Вот и все. У меня так работает уже 16 лет. Все ОК!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 18:53 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
ДАВИДShark,vmag Вы все ничего не понимаете ! ... ой, ли ... внимательности бы ещё :) Shark...Отдаю себе отчет, что со стартовым спецсимволом, или, еще лучше, на ком порту решается правильнее. Но задача была не трогать настройки и оборудование клиентов, использовать только задержки... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 00:51 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
guest_rusimport, Сори! Не внимательно читал. Но, не трогать оборудование - это не очень правильно (хотя понимаю - условие клиента). Есть программа которая на ком-порте может добавлять преамбулу сама (какую укажешь). Но COM - они сейчас вымирают. А USB надо программировать. А играться с задержками ????? И сканера тоже бывают РАЗНЫЕ ( и задержки тоже) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 13:56 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
vmagSharkВы наверное не поняли задачу руками ввел сумму которую дал покупатель (5 000 р.) и нужно вычислить сдачу по чеку... - если это типа 4627083510051 то проверяйте контрольную сумму и если она нормальная, то ищите этот товар в БД по ШК для регистрации продажи... Интересно. С какой скоростью будет работать Касса на каком нибудь чахлом Целероне , если "проверять контрольную сумму" штрих-кода? На кассе задержки - злейший враг. Ну а с суммой "которую дал покупатель" - вообще не понятно. Я лично делаю форму Расчета и там и Сумма Чека и Сумма от покупателя и Кредитки и Пр. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 14:05 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
ДАВИД, учитывая, что сложность алгоритмов расчёта контрольной суммы для, например, EAN-13 выбиралась из того, что сумма должна уметь рассчитываться в приемлемое время самим сканером со встроенным (на тот момент) 4-х или 8-битным процессором, чахлый Целерон тут мягко говоря избыточен. Порядков на несколько (минимум на 4-5). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 18:06 |
|
Штрихкод. Пример реализации.
|
|||
---|---|---|---|
#18+
13-й квартал, +++++ , вычислить сумму EAN-13 всё что вычислить компу 2+2 по времени, зато перестраховка, что сканер не сосчитал ахинею и будет продано то что планировалось, да и уверенность какая никакая, что товар не совсем паленый, это сейчас всё устаканилось, а в 2000 году +/- пару лет сильно выручала контрольная сумма, китайцы то тогда не знали что последний символ это контрольная сумма и фигачили штрих-код от балды - сразу было видно где конкретное паливо... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2014, 19:48 |
|
|
start [/forum/topic.php?fid=45&tid=1615787]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 289ms |
0 / 0 |