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

Вниз

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

 
Сергей Ю.   (2004-09-29 15:22) [0]

Уважаемые мастера, подскажите как сделать так чтоб моя прога определяла что USB-ный сканер шрих считал данные? Может есть стандартные компоненты (бесплатные, а то те которые от АТОЛа просят ключ защиты) очень буду благодарен за ссылочку, а то сам искал ничего ненашел :(


 
GanibalLector ©   (2004-09-29 19:32) [1]

Дык,а на кой было покупать USB-шный,когда везде полно COM-овских???RS232-рулит :)


 
Сергей Ю.   (2004-09-30 08:35) [2]

Дык задним умом мы все крепки :) Покупал директор и со мной он несоветовался, а теперь требует чтоб я ему прогу писал по работе с этим г...-ом :(
Как вообще узнать можно что на usb-устройство идет какая-то инфа?


 
Gorlum ©   (2004-09-30 10:57) [3]

Работа сканера USB аналогична работе с клавиатурным.
Просто переводи фокус на элемент, в который надо вводить данные.


 
Сергей Ю.   (2004-10-01 08:59) [4]

Дело в том что мне надо чтоб данные в Edit передавались только со сканера, чтоб юзер никак немог туда забить данные самостоятельно с клавы. Поэтому мне надо знать что со сканера идут данные, а не с клавы. Как это определить?


 
Reindeer Moss Eater ©   (2004-10-01 09:20) [5]

Edit1.Enabled:=False;


 
Reindeer Moss Eater ©   (2004-10-01 09:21) [6]

Правда после этого он в фокус не попадет


 
Reindeer Moss Eater ©   (2004-10-01 09:25) [7]

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
Key := 0;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Key := #27;
end;


 
simpson ©   (2004-10-01 10:02) [8]

> Сергей Ю.   (01.10.04 08:59) [4]

Просто настрой префиксы и суффиксы на сканере, и по ним определяй, откуда производится ввод.


 
Сергей Ю.   (2004-10-01 10:15) [9]

Как Edit отрубить я знаю, но тогда как туда передать данные со сканера?
А можно поподробнее насчет преффиков и суффиксов?


 
Reindeer Moss Eater ©   (2004-10-01 10:18) [10]

передать в edit данные - не твоя забота.


 
Reindeer Moss Eater ©   (2004-10-01 10:19) [11]

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


 
simpson ©   (2004-10-01 11:45) [12]

> Сергей Ю.   (01.10.04 10:15) [9]

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

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

Поскольку префиксы и суффиксы, как правило, являются служебными символами, то набрать их на клавиатуре сложно (кроме, например, символа #13).

Т. о., алогритм примерно такой: обрабатываешь OnKeyPress для Edit, и, если ранее был введен нужный префикс, то разрешаешь добавить этот символ в Edit. Если нет - просто выполняешь Key := #0 тут же, в обработчике OnKeyPress.


 
Reindeer Moss Eater ©   (2004-10-01 11:55) [13]

Он как раз хочет избавиться от ввода данных пользователем.
Независимо от того, с префиксами они или нет.

Наличие префикса его не спасет.
Так как приемник данных - TEdit.
Данные появившиеся в едите со сканера всегда можно скопировать в буфер и вставить обратно изменив кусок между префиксами и суффиксами.


 
simpson ©   (2004-10-01 12:33) [14]

> Reindeer Moss Eater ©   (01.10.04 11:55) [13]

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

Сложно скопировать данные в буфер, если при получении суффикса он закроет окно, в котором находится Edit.


 
Сергей Ю.   (2004-10-01 13:01) [15]

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


 
simpson ©   (2004-10-01 13:08) [16]

> Сергей Ю.   (01.10.04 13:01) [15]

Тогда зачем показывать символьное представление штрих-кода вообще? Не показывай его. Обрабатыва OnKeyPress не у Edit, а, например у панели, или у формы.


 
Reindeer Moss Eater ©   (2004-10-01 13:20) [17]

А как быть с этм?

чтоб юзер никак немог туда забить данные самостоятельно с клавы.


 
TuMOXA   (2004-10-01 13:26) [18]

ReadOnly := true;


 
Reindeer Moss Eater ©   (2004-10-01 13:29) [19]

Я не про это.
А про то, что автор о взаимно противоположных вещах говоритю


 
Reindeer Moss Eater ©   (2004-10-01 13:37) [20]

чтоб юзер никак немог туда забить данные самостоятельно с клавы.

Для меня главное чтоб юзер обязательно ввел штрих-код в поле для него


 
Сергей Ю.   (2004-10-03 10:00) [21]

Ввел штрих-код со сканера! Я это имел ввиду.



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

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

Наверх




Память: 0.51 MB
Время: 0.044 c
14-1097834341
iZEN
2004-10-15 13:59
2004.11.07
Windows Terminal Server и Ctrl + Alt + Del


1-1098360544
Koala
2004-10-21 16:09
2004.11.07
Вызов формы из dll


4-1096522951
Muhsin
2004-09-30 09:42
2004.11.07
Как используется ShellExecute


3-1097480718
Воробьев_Иван
2004-10-11 11:45
2004.11.07
Все программы созданные мной на Delhi7 отказались работать


1-1098393176
Garfunkel
2004-10-22 01:12
2004.11.07
Временное отключение мыши