Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

Как прервать выполнение рекурсии одним нажатием клавиши ?   Найти похожие ветки 

 
B-boy-Dimo-N   (2004-12-10 13:03) [0]

Например: есть 2 обьекта, они движутся друг к другу.
Алгоритм сделан в виде рекурсии. Во время движения обьектов надо нажать клавишу, чтобы прекратить их движение и начать в обратную сторону. Так вот у меня проблемка встала: когда обьекты движутся, все кнопки и клики блокируются... И всё таки, как выловить нажатие клавиши ?


 
TUser ©   (2004-12-10 13:05) [1]

Выделить для них отдельный поток. Можно также подумать об отказе от рекурсии.


 
B-boy-Dimo-N   (2004-12-10 13:12) [2]

задание не предусматривает использование потоков...
Помнится мне, в ТурбоПаскале была такая функция KeyPressed, которая отслеживает нажатие клавиши без прерывания работы программы...
вообщем а есть ли такая функция в Дельфи ?


 
DiamondShark ©   (2004-12-10 13:24) [3]


> а есть ли такая функция в Дельфи ?

Нет. Но есть возможность выбрать из очереди сообщения от клавиатуры.
Подробности в справке по PeekMessage.

В принципе, можно обойтись и Application.ProcessMessages.


 
Amoeba ©   (2004-12-10 14:28) [4]

Отдельный поток не обязателен.
К сожаленю сейчас при себе нет исходного кода (из одной из моих программ) аналогичной задачи (прерывание вычисления с рекурсивным вызовом ф-ии при нажатии определенной клавиши), а дават это по памяти не рискую.



Страницы: 1 вся ветка

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
9-1092958217
Shurik
2004-08-20 03:30
2004.12.26
Помогите с блиттингом DirectDraw


1-1102483981
antonn
2004-12-08 08:33
2004.12.26
Форма поверх всех других окон


1-1103073956
Builder
2004-12-15 04:25
2004.12.26
Убить себя


3-1101145639
Сафронов Михаил
2004-11-22 20:47
2004.12.26
Таблицы: главная-подчиненная


1-1102855757
Piter
2004-12-12 15:49
2004.12.26
Как у библиотеки задать версию и разработчика?