Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Клавиатура компьютера состоит из клавиш алфавитно-цифровых, функциональных и специальных. При нажатии клавиши или комбинации клавиш генерируется их код. Коды алфавитно-цифровых клавиш и ряда специальных клавиш обычно состоят из одного байта, а функциональных клавиш, их комбинаций с клавишами Ctrl, Shift, Alt, а также алфавитно-цифровые клавиши в комбинации с клавишей Alt – из двух байт. Код из двух байт называют расширенным, первый символ в нем нуль (#0), а второй ASCII- код.
Некоторые коды клавиш или коды комбинаций клавиш представлены в таблице 2.
Таблица 2.
Код клавиши или комбинации клавиш | Клавиши | Код клавиши или комбинации клавиш | Клавиши |
#0#119 | Ctrl+Home | #0#71 | Home |
#0#133 | F11 | #0#134 | F12 |
#0#80 | ↓ | #0#59 | F1 |
#0#72 | ↑ | #0#68 | F10 |
#0#75 | ← | #27 | Esc |
#0#77 | → | #13 | Enter |
#0#83 | Del | #0#82 | Insert |
При нажатии большинства клавиш их коды размещаются в буфере клавиатуры, содержание буфера может быть проанализировано. Для управления клавиатурой в модуле CRT представлены функции KeyPressed и ReadKey.
Функция KeyPressed:boolean; - принимает значение True (истина), если на клавиатуре была нажата какая-нибудь клавиша, в противном случае - False (ложь). Коды клавиш клавиатуры при этом сохраняются в ее специальном буфере и могут использоваться для анализа и обработки.
Функция ReadKey:Char; - читает код клавиши (один байт) из буфера клавиатуры. Этот код на экран компьютера не выводится. Если перед этой функцией выполнялась функция KeyPressed, и она приняла значение True (истина), то код клавиши читается сразу. В противном случае функция ReadKey ожидает нажатия клавиши. Для расширенных кодов клавиш данную функцию требуется выполнять дважды.
Для проверки нажатия клавиши в период выполнения цикла часто применяется функция KeyPressed в сочетании с оператором цикла с последующим условием Repeat …until.
Дата публикования: 2014-12-10; Прочитано: 160 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!