Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
Сергей Ю.   (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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.047 c
1-1098708860
barbaris
2004-10-25 16:54
2004.11.07
Hint в зависимости от положения курсора в строках StringGrid


1-1098716190
AZiN
2004-10-25 18:56
2004.11.07
String Grid


1-1098428606
Arnold
2004-10-22 11:03
2004.11.07
Как программно выделить нужную ячейку в StringGride?


14-1098017646
Comp
2004-10-17 16:54
2004.11.07
Оцените труд


1-1098305234
Артем Владимирович
2004-10-21 00:47
2004.11.07
Программное генерирование html-страницы и отображение в WebBrowse





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский