![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
4epenOK |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 8 Пол: Мужской Реальное имя: Максим Репутация: ![]() ![]() ![]() |
Прошу прощенья, если такая тема уже существует. Искал искал, но не нашёл то, что мне нужно. А нужно мне вот что: Как обрабатывать одновременное нажатие нескольких клавиш (от 2-х и более). Причём нужно, чтобы можно было использовать любые клавиши в связке с любыми, в том числе Ctrl, F1-F-12, Shift, Tab, Caps Lock, Alt... Например Esc + Alt или Ctrl + 'B'. Коды цифр и букв я знаю, а коды Alt, Ctrl и им подобных-нет. Также хочется знать как Паскаль оперирует с событиями Клавиши_нажата, Клавиша_отпущена. Хочется сделать так, чтобы при одновременном нажатии клавиш программа делала одно, при отпускании обоих клавиш- другое.
P.S. Одновременное нажатие не обязательно значит в одно мгновение. Допускается нажатие одной клаваши и не отпуская её, нажатие другой. Использую Turbo Pascal 7.0 Просветите по этому вопросу Plz Сообщение отредактировано: 4epenOK - 7.05.2007 17:40 -------------------- Работать и создавать, сражаться и побеждать, расчитывать и не ошибаться,
бороться и искать, найти и переработать! |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата И ещё ты сказал А еще я сказал, чтоЦитата скан-код - это однозначно определяющее клавишу число, зависящее только от ее расположения на клавиатуре... , то есть ответ на предыдущий вопрос - нет... Нельзя перевести в общем случае Ascii -> скан-код...Цитата Например я ведь не могу написать if readkey=$1D then writeln('Зажат Ctrl'); Нет конечно... Ты вообще не можешь работать со служебными клавишами типа Ctrl/Alt/Shift через ReadKey - только через Scan-codes (для чего тебе понадобится писать обработчик прерывания) или так, как написано здесь:Asc Ii |
![]() ![]() |
![]() |
Текстовая версия | 24.06.2025 2:01 |