|
Вопрос # 4 938/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
У меня возникла проблема при опросе клавиатуры.
Мне нужно в цикле опрашивать клавиатуру и при нажатии на кнопки выполнять какие-то действия. Допустим при первом нажатии на кнопку 1 - выдавать сообщение, а при повторном нажатии стирать.
У меня все получается, если я быстро нажимаю и отпускаю кнопку, а если я держу кнопку нажатой, то надпись начинает моргать.
Как мне опрашивать клавиатуру, чтобы моя программа видела когда кнопка нажата, а когда отпущена? Была мысль вставить ассемблерный код, но я не знаю регистра клавиатуры и принципа скидывания туда информации.
Приложение: Переключить в обычный режим- Uses Crt;
- Var Key : Char;
- I:boolean;
- Begin
-
- Repeat
-
- If KeyPressed Then Begin Key:=ReadKey;
-
- Case Key Of
-
- #45: Begin
- If I=False Then begin
- gotoxy(40,12);Write('******');
- i:=true;
- End;
- If I=true Then begin
- gotoxy(40,12);Write(' ');
- i:=fasle;
- End;
-
- End;
-
-
- End;
- Until Key=#27;
 |
Вопрос задал: NSS (статус: Посетитель)
Вопрос отправлен: 21 января 2011, 11:02
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 23; последнее сообщение — 22 января 2011, 18:58; участников в обсуждении: 6.
Страницы: [« Предыдущая] [1] [2]
|
КМ (статус: Посетитель), 22 января 2011, 16:08 [#21]:
в общем то не совсем ясна задача, чтобы
ято то дельное подсказать...
|
|
NSS (статус: Посетитель), 22 января 2011, 16:49 [#22]:
Задача: сделать так в Паскале или консоле Делфи, чтобы при нажатии кнопки выполнилась процедура Proc_1 и больше не выполнялась. А при повторном нажатии кнопки выполнилась процедура Proc_2 тоже один раз. Потом опять Proc_1 и так далее.
P.S. А сейчас процедуры Proc_1 и Proc_2 выполняются поочереди (как и должно быть) но по много раз пока я держу кнопку нажатой.
|
|
КМ (статус: Посетитель), 22 января 2011, 18:58 [#23]:
ммда...
сообщение виндуз нужно перехватывать
тут уже писали...
|
Страницы: [« Предыдущая] [1] [2]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|