Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Информационные байты расширенных кодов клавиатуры





Клавиша, комбинация клавиш Код Клавиша, комбинация клавиш Код Клавиша, комбинация клавиш Код Клавиша, комбинация клавиш Код
Alt + Q   F1 3B Shift + F7 5A Ctrl + →  
Alt + W   F2 3C Shift + F8 5B Ctrl + End  
Alt + E   F3 3D Shift + F9 5C Ctrl + PageUp  
Alt + R   F4 3E Shift + F10 5D Ctrl + Home  
Alt + T   F5 3F Ctrl + F1 5E Alt + 1  
Alt + Y   F6   Ctrl + F2 5F Alt + 2  
Alt + U   F7   Ctrl + F3   Alt + 3 7A
Alt + I   F8   Ctrl + F4   Alt + 4 7B
Alt + O   F9   Ctrl + F5   Alt + 5 7C
Alt + P   F10   Ctrl + F6   Alt + 6 7D
Alt + A 1E Home   Ctrl + F7   Alt + 7 7E
Alt + S 1F   Ctrl + F8   Alt + 8 7F
Alt + D   PageUp   Ctrl + F9   Alt + 9  
Alt + F   4A Ctrl + F10   Alt + 0  
Alt + G   4D Alt + F1   Alt + -  
Alt + H   End 4F Alt + F2   Alt + =  
Alt + J     Alt + F3 6A Ctrl + PageDown  
Alt + K   PageDown   Alt + F4 6B F11  
Alt + L   Insert   Alt + F5 6C F12  
Alt + Z 2C Delete   Alt + F6 6D Shift + F11  
Alt + X 2D Shift + F1   Alt + F7 6E Shift + F12  
Alt + C 2E Shift + F2   Alt + F8 6F Ctrl + F11  
Alt + V 2F Shift + F3   Alt + F9   Ctrl + F12 8A
Alt + B   Shift + F4   Alt + F10   Alt + F11 8B
Alt + N   Shift + F5   Ctrl + PrtScr   Alt + F12 8C
Alt + M   Shift + F6   Ctrl + ←      

 

Для опроса содержимого буфера в модуле CRT применяются функции KeyPressed и ReadKey. Первая функция имеет описание следующего вида:

Function KeyPressed: Boolean;

Она возвращает True, если в буфере содержится хотя бы один символ, и False, если буфер пуст.

Наиболее часто функция KeyPressed используется в циклах ожидания нажатия на любую клавишу, в частности в виде конструкций:

а) Repeat until KeyPressed;

б) While not Keypressed do;

В обоих случаях процессор зацикливается, выполняя пустой оператор до нажатия любой клавиши. Если буфер содержит хотя бы один код (была нажата клавиша, т.е. KeyPressed = True), то цикл завершается и управление передается следующему за ним оператору.

Для корректного использования цикла ожидания буфер клавиатуры необходимо предварительно очищать от кодов случайно или ранее нажатых клавиш. Для этого используется функция ReadKey. Она описывается следующим образом:

Function ReadKey: char;

Эта функция извлекает код символа из буфера и возвращает его в программу без эхо-повтора символа на экран. Буфер организован в виде очереди по принципу "первым пришел - первым ушел" и рассчитан на хранение до 15 кодов.

Если буфер пуст, то функция ReadKey приостанавливает выполнение программы до нажатия на любую клавишу кроме Shift, Ctrl, Alt, CapsLock, NumLock, ScrollLock, т.е. позволяет отслеживать нажатие более широкого множества клавиш по сравнению с Read/ReadLn.

Применение ReadKey позволяет очистить буфер и в результате цикл ожидания нажатия клавиши становится надежным. Например, предыдущий цикл ожидания нажатия на любую клавишу при использовании ReadKey можно записать в следующем виде:

Var ch: char;

Begin............

while KeyPressed do ch:= ReadKey; {очистка буфера}

repeat until KeyPressed; {ожидание нажатия}

............

End.

Каждое обращение к функции ReadKey извлекает один содержащийся там код. Если в двухбайтовом коде главный байт совпадает с ASCII, ReadKey возвращает в программу только этот код, а скан-код отбрасывает. Если главный байт равен нулю, то после его считывания необходимо еще раз обратиться к ReadKey для считывания вспомогательного байта расширенного кода. Например:

while KeyPressed do ch:= ReadKey; {очистка буфера}

 

ch:= ReadKey; {ожидание ввода и считывание

кода при нажатии клавиши}

if ch =# 0 then begin ch:= ReadKey; {прием расширенного кода}


............

end;

Далее ch анализируется обычно с помощью условного оператора if или оператора case of.

 







Date: 2016-02-19; view: 405; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.01 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию