Форум: "Основная";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];
ВнизКак прервать выполнение рекурсии одним нажатием клавиши ? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.131 c