|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.06.2009, 20:24 | #1 |
Форумчанин
Регистрация: 27.11.2008
Сообщений: 137
|
Событие при нажатии на клавиатуру
Вот моя проблема
Код: begin if GetAsyncKeyState(ord(13))<>0 then begin inc(i); label1.Caption:=inttostr(i); end; Если я нажму на клавишу Enter 1 раз, то переменная i увеличится один раз на единицу, а если я нажму и буду удерживать Enter, то I будет увеличиваться постоянно пока клавиша нажата. Как мне это исправить? То есть если я удерживаю enter, то i увеличится на единицу только один раз. Кто знает помогите пожалуйста. Заранее спасибо. |
25.06.2009, 20:34 | #2 |
Пользователь
Регистрация: 25.06.2009
Сообщений: 39
|
begin
if (GetAsyncKeyState(ord(13))<>0)and(p =1) then begin inc(i); label1.Caption:=inttostr(i); p:=0; end else p:=1; |
26.06.2009, 01:14 | #3 |
Форумчанин
Регистрация: 27.11.2008
Сообщений: 137
|
NuMeR Спасибо, но это не помогло, все так же... люди ну кто нибудь поможет
|
26.06.2009, 01:29 | #4 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 896
|
А где этот код сидит?
Помоему надо юзать КейАп или КейДовн или както так называется... |
26.06.2009, 01:41 | #5 |
Форумчанин
Регистрация: 27.11.2008
Сообщений: 137
|
Вавел из ГМТУ в том то и дело что там мне не нужно, мне нужно в таймере, поэтому я и использую GetAsyncKeyState. Кто нибудь знает функцию набодобие GetAsyncKeyState, что бы отлавливала событие нажатия определенной клавиши, и работала в таймере?
|
26.06.2009, 03:58 | #6 |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
Почему первый вариант не работает?
Вы объявили переменную p в private формы, а не в самой процедуре обработки таймера? И присвойте в onCreate ей единицу.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Последний раз редактировалось Neeter; 26.06.2009 в 12:26. |
26.06.2009, 05:35 | #7 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
тут мне кажется нужно почти как NuMeR написал, но немного подругому
Код:
Код:
Последний раз редактировалось vovk; 26.06.2009 в 12:02. |
26.06.2009, 08:02 | #8 |
Пользователь
Регистрация: 25.06.2009
Сообщений: 39
|
BuT@JL, в начале программы, не в этой процедуре присвойте p:=1;
|
26.06.2009, 11:27 | #9 |
Форумчанин
Регистрация: 27.11.2008
Сообщений: 137
|
Вооо, спасибо вам ребят, помогло.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
При нажатии F3 переместить курсор | valerij | Microsoft Office Excel | 6 | 20.06.2009 15:42 |
прокрутка при нажатии на кнопку | neformat | JavaScript, Ajax | 0 | 20.06.2008 20:40 |
Закрыть форму при нажатии на Button | Ellita | Помощь студентам | 5 | 26.09.2007 20:49 |
Событие при нажатии клавиши Enter | Inbox | Общие вопросы Delphi | 4 | 12.06.2007 14:18 |
Загрузка файла при нажатии на кнопку | Simply-Art | Общие вопросы Delphi | 15 | 23.01.2007 14:00 |