Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа со сканером штрих-кодов [D6, WinXP]


Страницы:   1 2

Сергей Ю. ©   (2004-09-29 15:22:00) 

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


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

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


Reindeer Moss Eater   (2004-10-01 13:37:00) [2]

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

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


Reindeer Moss Eater   (2004-10-01 13:29:00) [3]

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


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

ReadOnly := true;


Reindeer Moss Eater   (2004-10-01 13:20:00) [5]

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

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


simpson   (2004-10-01 13:08:00) [6]

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

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


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

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


simpson   (2004-10-01 12:33:00) [8]

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

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

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


Reindeer Moss Eater   (2004-10-01 11:55:00) [9]

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

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


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

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

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

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

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

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


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

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


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

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


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

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


simpson   (2004-10-01 10:02:00) [14]

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

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


Reindeer Moss Eater   (2004-10-01 09:25:00) [15]

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;


Reindeer Moss Eater   (2004-10-01 09:21:00) [16]

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


Reindeer Moss Eater   (2004-10-01 09:20:00) [17]

Edit1.Enabled:=False;


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

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


Gorlum   (2004-09-30 10:57:00) [19]

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


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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо