Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2013, 13:45   #1
xakkkkker
Форумчанин
 
Аватар для xakkkkker
 
Регистрация: 15.12.2007
Сообщений: 226
По умолчанию Перенаправление в Edit данных со сканера штрих кода

Привет Всем. Передо мной стоит такая задача.
На форме находятся несколько едитов и всяких разных компонентов (listView, кнопки, панели и т.д.). И надо данные которые считывает сканер штрих кодов перенаправлять в один из едитов, хоть даже если он потерял фокус. Сканер работает в режиме разрыв клавиатуры, то есть если открыть блокнот и просканировать штрих код, данные появятся в блокноте. А как перехватывать или перенаправлять данные в едит не знаю.
xakkkkker вне форума Ответить с цитированием
Старый 14.07.2013, 13:52   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Установи в Эдит фокус и проведи сканирование. Сканер это по сути клавиатура, и действует он так же - посылает символ, считанный со ШКИ, сконвертированный с ANSI (UTF и т.д.).
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.07.2013, 15:01   #3
xakkkkker
Форумчанин
 
Аватар для xakkkkker
 
Регистрация: 15.12.2007
Сообщений: 226
По умолчанию

ну как бы я это знаю, вопрос стоял в том чтобы едит получил данные хоть он не в фокусе
xakkkkker вне форума Ответить с цитированием
Старый 14.07.2013, 15:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ИМХО только драйвер писать для сканера.
Даже не представляю не то что как перехватить, а как разобрать с какого устройства пришли данные.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.07.2013, 16:54   #5
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

Цитата:
Сообщение от xakkkkker Посмотреть сообщение
А как перехватывать или перенаправлять данные в едит не знаю.
Попробуй для начала через Application.OnMessage.
Vapaamies вне форума Ответить с цитированием
Старый 14.07.2013, 17:12   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Vapaamies
И как она поможет если Эдит неактивный?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.07.2013, 17:43   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Сканер работает в режиме разрыв клавиатуры, то есть если открыть блокнот и просканировать штрих код, данные появятся в блокноте. А как перехватывать или перенаправлять данные в едит не знаю.
Переключить прибор на другой режим?

Далее эти данные должны где-то быть ещё... попробуйте просмотреть буфер обмена. Может они там временно обитают.

Цитата:
И как она поможет если Эдит неактивный?
По рег. выражению определять что это и что-то делать.
Человек_Борща вне форума Ответить с цитированием
Старый 14.07.2013, 17:45   #8
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
И как она поможет если Эдит неактивный?
Молча. Я положил на форму TEdit и TApplicationEvents, и в ApplicationEvents1.OnMessage вписал:
Код:
procedure TMainForm.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin
  if Msg.message = WM_KEYDOWN then
    Edit1.Text := Edit1.Text + Char(Msg.wParam);
end;
Символы добавляются. Что я делаю не так? Delphi 6.
Vapaamies вне форума Ответить с цитированием
Старый 14.07.2013, 18:29   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Переключить прибор на другой режим?
Большинство сканеров имеют только один режим.
Цитата:
По рег. выражению определять что это и что-то делать.
А если я вручную по каким-то причинам хочу набрать ШКИ, но к вносу данных в прогу это не должно относится?
Цитата:
Что я делаю не так?
Работает? Молодец. Работай. Пока не наткнешься на непонятную ситуацию, в которой данные будут исчезать. Вот мне интересно что будешь делать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.07.2013, 19:19   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Большинство сканеров имеют только один режим.
о_О Ну тогда разработчики сканера конкретно накурились придумав такую схему передачи данных на ПК.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
User-mode драйвер / программа-фильтр для сканера штрих-кодов - какой правильный подход при разработке? Ivan_32 Win Api 4 11.09.2012 12:16
сканнер штрих-кода chuchxella WPF, UWP, WinRT, XAML 1 01.08.2012 15:36
Вывод штрих-кода на листе MS Word olo_lo Microsoft Office Word 0 02.06.2012 17:48
генерация штрих кода Oksa22 Помощь студентам 4 08.03.2010 14:27