Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проверка нажатия кнопки во цикле? [D7, XP]


Ruslan777 ©   (2009-01-19 09:04:00) 

Народ, подскажите как во время выполнения цикла
For i:=1 to ...

     Sleep(0);
     Application.ProcessMessages;

end;

организовать проверку нажатия клавиш и при нажатии ESC выйти из цикла?


Ruslan777   (2009-01-19 10:08:00) [1]

Громадное спасибо!


Юрий Зотов   (2009-01-19 09:19:00) [2]

1. Вводим приватное поле формы Flag: boolean
2. Выставляем свойство формы KeyPreview в True
3. В обработчике события OnKeyPress формы пишем:
Flag := Key = VK_ESCAPE
4. В цикле пишем:

for i := 1 to ...
begin
 if Flag then
 begin
   Flag := False;
   Break;
 end;
 Sleep(0);
 Application.ProcessMessages;
end;


Сергей М.   (2009-01-19 09:15:00) [3]

if Boolean(GetKeyState(VK_ESCAPE) AND $8000) then ESC_Нажата


MBo   (2009-01-19 09:14:00) [4]

метод-обработчик нажатия выставляет флаг, а в цикле он проверяется и break


Наверх

Титульная страница Поиск, карта сайта Написать письмо