Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Клавиши и коды

Читайте также:
  1. Горячие клавиши Windows и некоторых приложений

При нажатии любой клавиши клавиатура генерирует некоторый код, известный как скэн-код (scan-code) [1]. Далее проводится преобразо­вание поступающего скэн-кода в специальный двухбайтовый код. Младший из этих двух байтов для символьных клавиш содержит ASCII-код, соответствующий изображенному на клавише знаку, а старший байт содержит скэн-код клавиши.

При нажатии некоторых управляющих клавиш, таких как <F1> — <F10>, <Home>, <Del>, <Ins> и других, а также при нажатии некоторых комбинаций клавиш младший байт двухбайтового кода содержит не ASCII-код, а 0 (нуль). Это признак того, что нажатая клавиша не являет­ся символьной. Старший байт при этом содержит скэн-код нажатой клавиши (если это единственная клавиша) или номер комбинации кла­виш (если это комбинация, в которой участвует управляющая клавиша). Двухбайтный код, младший байт которого содержит нуль, называют расширенным ASCII-кодом.

В соответствии с этим клавиши на стандартной клавиатуре компью­тера можно разделить на три группы:

§ клавиши (и комбинации клавиш), при нажатии которых в буфер заносится простой ASCII-код (символьные клавиши в обоих регистрах, а также некоторые ком­бинации с участием клавиш <Ctrl> и <Alt>);

§ клавиши (и комбинации клавиш), при нажатии которых в буфер заносится расширенный ASCII-код (функциональные клавиши и их комбинации с клавишами <Ctrl>, <Shift> и <Alt>; символьные клавиши в сочетании с <Alt> и еще некоторые);

§ клавиши (и комбинации клавиш), при нажатии которых никакой код в буфер не заносится (<Ctrl>, <Alt>, <Shift>, <NumLock>, <CapsLock>, <ScrollLock>, <Pause>, <Print Screen>, а также некоторые комбинации).

Итак, после нажатия клавиши соответствующий код помещается в буфер клавиатуры. Считывание из буфера осуществляется с помощью процедур Read и ReadLn, а также функции ReadKey. Буфер в состоянии вместить до 16 символов. Если клавиши на клавиатуре нажимаются, а коды из буфера не считываются, имеет место переполнение буфера и после этого коды начинают теряться. Для работы с клавиатурой удобно использовать 2 функции модуля CRT:

ü Функция KeyPressed: Boolean – возвращает значение True, если в буфере есть хотя бы один символ (т.е, если была нажата клавиша на клавиатуре), и False в противном случае.

ü Функция ReadKey: Char cчитывает символ из буфера клавиатуры; считанный символ этом на экране не отображается. Если перед обращением к ReadKey в буфере что-то было, символ считывается немедленно. Если буфер пуст, функция ожидает нажатия клавиши.

Приложение 6


Дата добавления: 2015-07-11; просмотров: 74 | Нарушение авторских прав


Читайте в этой же книге: Воронеж 2007 | Задания по РГР | Блок схема программы |
<== предыдущая страница | следующая страница ==>
Процедуры работы с текстовым файлом| Прощание с клиентом

mybiblioteka.su - 2015-2024 год. (0.005 сек.)