![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
new_ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.3.2005 Репутация: нет Всего: нет |
Помогите кто нибудь!!
![]() ![]() В TP7 цикл REPEAT .... .... Until keypressed; выполняется до нажатия любой кнопки на клавиатуре. Есть ли что-нибудь аналогичное в Delphi? Очень надо!! Заранее СПАСИБО!! |
|||
|
||||
Poseidon |
|
||||||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Не знаю что такое TP7, но в Delphi можно так (мне кажется не самый лучший вариант, но работающий):
Значит так. 1. Обьявляешь глобальную переменную типа boolean; Что то вроде этого:
2. В нужной процедуре пишим вот что
3. И наконец в событии OnKeyPress
Только есть определенные проблемы (я же говорю, не самый лучший вариант). Во первых нужно еще знать в OnKeyPress чего это засунуть (формы, кнопки или еще чего), а во-вторых, лучше засунуть цикл в отдельный поток, а то вся прога "повиснет" и никакое нажатие ее не спасет. PS. Код дан для примера, чтобы была понятна суть того, как это сделать. Использовать же такой способ (именно в случае, когда надо остановить цикл) я не рекомендую. -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
||||||
|
|||||||
p0s0l |
|
||||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Можно использовать функцию GetKeyboardState. Она возвращает массив из 256 байт, каждому элементу соответствует определенная кнопка:
Тогда KeyPressed будет выглядеть примерно так:
По смыслу, возможно, нужно не все кнопки проверять, к примеру, если не надо учитывать Control, Alt, Shift, CapsLock, NumLock, ScrollLock, то будет так:
-------------------- С уважением, г-н Посол. |
||||||
|
|||||||
new_ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.3.2005 Репутация: нет Всего: нет |
Большущее спасибо Poseidon и p0s0l за предоставленные примеры, обязательно проверю, а в OnKeyPress не заходит ни разу.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |