![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
![]()
Здравствуйте.
Есть два вопроса: 1) Как программно считать последовательное нажатие определеных клавиш? Например пользователь нажимает клавиши [Y],[E],[S], только после этого программа выдает какое-то действие. 2) У каждой клавиши есть свой код. Например, клавише [1!] соответствует код $31. Чтобы имитировать нажатие этой клавиши, использую ф-цию SetKey. Но под одним кодом находятся два символа 1 и !. Как сделать имитацию нажатия этой клавиши так, чтобы в текстовом поле (вне программы) выводился символ !, а не 1? Заранее благодарен.
лучший подарок женщине-программисту
|
![]() |
![]() |
![]() |
#2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
1. Накапливать нажатия в строковой переменной (строке). При вводе каждого символа проверять, соответствует ли введенная подстрока началу эталона. Если нет - сброс в пустую строку с выдачей сообщения, если нужно.
2. А что вы делаете, когда вводите "!" руками? Верно, нажимаете еще и Shift. Вот и тут нужно указать Shift:=[ssShift]. SetKey, SetKey... Но ведь это функция для работы с датасетами... Вообще-то, для текстового поля, например, эдита, можно сделать вот так: Edit1.Perform(WM_Char,Ord('!'),0); Последний раз редактировалось mihali4; 11.10.2008 в 01:46. |
![]() |
![]() |
![]() |
#4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Если бы вы действительно имитировали нажатия клавиш (с их опусканием невидимым пальцем и последующим отпусканием) - я бы вас понял...
Но вам-то нужно передать не комбинацию кодов клавиш, а код символа! И хватит разыгрывать из себя Джеймса Бонда. Приведите ваш код, в котором у вас "затыки", и вам быстрее помогут... |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
![]()
Код значит такой:
Код:
Или может это можно сделать как-то иначе?
лучший подарок женщине-программисту
|
![]() |
![]() |
![]() |
#6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Как же вы все (без исключения!) не любите или просто не умеете пользоваться поиском по форуму!
Посмотрите вот эту тему, она как раз для вас: http://www.programmersforum.ru/showt...F1%EB%E0%F2%FC |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
СЧЁТЧИК НАЖАТИЙ НА КНОПКУ | Saydan | Microsoft Office Access | 8 | 24.06.2008 21:39 |
отслеживание нажатий клавиш | Артэс | Win Api | 6 | 14.06.2008 20:02 |
Borland C, перхват нажатий стрелок | Arion | Помощь студентам | 3 | 30.04.2008 12:33 |
Пытаюсь написать прогу которая перехватывает нажатия клавиш клавиатуры и записует в текстовый файл, но | evg_reg35 | Общие вопросы Delphi | 42 | 05.04.2008 13:44 |
как после определенного просчета, при нажатий флажка, результат записался там навечно | Илюха1 | Microsoft Office Excel | 3 | 07.11.2007 20:01 |