![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сканер штрих-кодов
MU © (2006-11-30 17:31:00)Добрый день.
Есть сканер штрихкодов, который по радиодоступу посылает считанные штрих коды в разрыв клавиатуры.
Задача состоит в том, чтобы отличить этот поток от обыкновенных параллельных нажатий на этом же компьютере.
что посоветуете? в какую сторону рыть?
fd979 (2007-02-12 11:07:00) [1]
> Глобальный хук ставить надо, а не onKeyDown формы. Оператор
> прифигеет каждый раз фокус на контрол ставить.
Как раз если поставить KeyPreview не надо будет фокус на контрол ставить.
> Не могли бы вы обяснить что за " True (design-time) "
У формы есть такое свойство KeyPreview. Открываешь Object İnspector и ставишь это свойство True.
Если OnKeyDown ловит и сканер, тогда:
Сначала сделай так. Пропиши вот это:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ShowMessage(IntToStr(Key));
end;
Запусти программу. Нажми на сканер. Если правда то, что ты говоришь, тогда сработает FormKeyDown и покажет тебе код клавиши сканера запомни это число.
Потом меняешь всю эту канитель на:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
If Key = Число которое ты запомнил Then
begin
Здесь случай когда сканер сработал
end
else
begin
Здесь случай когда клава
end
end;
Zladey (2007-02-12 10:26:00) [2]Не могли бы вы обяснить что за " True (design-time) "
а то в объект инспекторе ставлю ... OnKeyDown ловит и сканер..........
tesseract (2007-02-12 10:09:00) [3]
> Затем на OnKeyDown можешь проверять изменился ли текст,
> если да, то с клавиатуры. А при изменении со сканера OnKeyDown
> не всплывет.
Глобальный хук ставить надо, а не onKeyDown формы. Оператор прифигеет каждый раз фокус на контрол ставить.
fd979 (2007-02-12 09:23:00) [4]Кстати OnKeyDown формы...
fd979 (2007-02-12 09:22:00) [5]Поставь KeyPreview формы True (design-time)
Затем на OnKeyDown можешь проверять изменился ли текст, если да, то с клавиатуры. А при изменении со сканера OnKeyDown не всплывет.
Zladey (2007-02-12 09:06:00) [6]дело в том, что не на Edit у меня код.. для сом сканера... и на форме тоже... шрих кодом можно команду нажать Add или END на форме.. мне нужно различие... узнать что вводятся симфолы именно со сканера , а не с клавиатуры
fd979 (2007-02-10 15:58:00) [7]А тебе, что обязально ввод с клавиатуры нужен? Сделай просто РидОнли и все.
Zladey (2007-02-10 12:01:00) [8]это понятно... задача в том чтобы отличить ввод со сканера от ввода с клавиатуры...
fd979 (2007-02-10 11:15:00) [9]Обычно сканеры штрих-кодов выдают сканированное значение в активный control. Им может быть твоя компонента из TЕdit.
У меня есть такой сканер - он так работает. Обрабатываю OnChange и все прекрасно.
Zladey (2007-02-10 10:56:00) [10]А нельзя как то отличить этот сканер от клавиатуры... по прерываниям,например?
tesseract ©
А как вы определяете скорость ввода символов?
tesseract (2006-12-01 10:03:00) [11]Решил проблему следующим образом - если символы вводяться со скоростью больше, чем например символв в 10 мс, то это явно сканер и можно сгенерировать прерывание.
ev (2006-11-30 19:18:00) [12]да, там обязательно должен быть драйвер либо использоваться стандартный
лично я купил USB + блютулз
использую блютулз, через него так же эмулируется обычный ком порт и с ним работаю :)
MU (2006-11-30 18:23:00) [13]да спасибо, (очень смешно!)
я думаю (надеюсь), что там будет драйвер для вирт. COM-порта и это решит все проблемы.
Array (2006-11-30 18:11:00) [14]
> это пока что теоретический вопрос
ну тогда Вам сюда
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1164362132&n=18
MU (2006-11-30 18:05:00) [15]это пока что теоретический вопрос. конкретной модели еще не знаю. просто хотел узнать, какие пути есть для решения задач. у кого есть опыт?
Array (2006-11-30 17:58:00) [16]
> сканер включается не в разрыв клавиатуры а через USB
а с ним ПО какоенить ?
MU (2006-11-30 17:50:00) [17]извините господа, меня ввели в заблуждение и я вас запутал.
сканер включается не в разрыв клавиатуры а через USB
MU (2006-11-30 17:38:00) [18]наверняка же есть различия между одним способом ввода и другим - сканкоды, признаки нажати-отпускания клавиш
Array (2006-11-30 17:36:00) [19]
> MU © (30.11.06 17:31)
да ни в какую... просто обрабатывать эти сообщения тока в том случае если зделан запрос на ввод штрих-кода сканером
или выкавырять клавиатуру...