ВУЗ:
Составители:
Рубрика:
75
буфера, т.е. необходимо очистить буфер. Этого можно достичь следующим
образом:
Uses CRT;
Var C: Char;
Begin
While KeyPressed do
C := ReadKey;
. . .
end.
При использовании процедуры ReadKey необходимо учесть, что в кла-
виатурный буфер помещаются так называемые расширенные коды нажатых
клавиш. Если нажимается любая алфавитно-цифровая клавиша, расширен-
ный код совпадает с ASCII кодом соответствующего символа. Например,
если нажимается клавиша с латинской
буквой «а» (в нижнем регистре),
функция ReadKey возвращает значение chr(97), а если «А» (в верхнем реги-
стре) – значение chr(65). При нажатии функциональных клавиш F1…F10,
клавиш управления курсором, клавиш Ins, Home, Del, End, PgUp, PgDn в бу-
фер помещается двухбайтная последовательность: сначала символ # 0, а
затем расширенный код клавиши. Таким образом, значение # 0, возвращае-
мое функцией ReadKey, используется исключительно для того, чтобы указать
программе на
генерацию расширенного кода. Получив это значение, про-
грамма должна еще раз обратиться к функции, чтобы прочитать
расширенный код клавиши (то есть код сканирования клавиши. Этот код оп-
ределяется порядком, в соответствии с которым микропроцессор клавиатуры
Intel 8042 периодически опрашивает (сканирует) состояние клавиш).
Следующая программа позволяет определить расширенный код любой
клавиши:
Uses CRT;
Var
C: Char;
Begin
repeat
C:= ReadKey;
If C<># 0 then
Writeln (ord (C))
else
Wtiteln (
′0′, ord (ReadKey):8)
until
C = # 27 {27 – расширенный код клавиши Esc}
end.
76
Для завершения работы программы нужно нажать клавишу Esc.
Если воспользоваться этой программой, то обнаружится, что нажатие
на некоторые клавиши игнорируется функцией ReadKey. Это, прежде всего,
так называемые сдвиговые клавиши - Shift, Ctrl, Alt. Сдвиговые клавиши в
MS–DOS обычно используются для переключения регистров клавиатуры и
нажимаются в сочетании с другими клавишами. Именно таким способом, на-
пример, различается
ввод прописных и строчных букв. Кроме того, функция
игнорирует переключающие клавиши Caps Lock, Num Lock, Scroll Lock, а
также “лишние” функциональные клавиши F11 и F12 клавиатуры IBM AT, не
имеющие аналога на клавиатуре ранних моделей IBM PC/XT (в этих маши-
нах использовалась 84-клавишная клавиатура, в то время как на IBM AT –
101-клавишная).
Текстовый вывод на экран
Библиотека Turbo Vision способна удовлетворить самым высоким тре-
бованиям и к ней рекомендуется обращаться при программировании
сложных текстовых изображений (меню, окон и т. п.). Но также возможно
использовать более простые и достаточно эффективные средства модуля
CRT.
Используемое в ПК устройство визуального отображения информации
– дисплей – состоит из двух основных частей: монитора, содержащего экран
с необходимыми компонентами (устройствами развертки изображения), и
блока управления, который чаще называют адаптером. Обычно оба устройст-
ва согласуются друг с другом, но в отдельных случаях этого согласования
может не быть (например, цветной монитор может работать с монохромным
адаптером и наоборот). Здесь будем считать оба устройства согласованными,
поэтому, говоря о различных дисплеях
, будем говорить только о различных
адаптерах, так как именно в них сосредоточены основные отличия дисплеев
друг от друга.
Текстовые возможности цветного графического адаптера CGA (Color
Graphics Adapter) стали стандартом с 1982 г. CGA позволял выводить как тек-
стовые сообщения, так и графические изображения (с разрешением 320x200
или 640x200 пиксель). В текстовом режиме выводились 40x25 или 80x25
символов, как в монохромном
, так и в цветном изображениях. При выводе в
цветном режиме использовалось 16 цветов для символов и 8 – для окружаю-
щего их фона. Они поддерживаются во всех последующих разработках IBM –
буфера, т.е. необходимо очистить буфер. Этого можно достичь следующим Для завершения работы программы нужно нажать клавишу Esc.
образом: Если воспользоваться этой программой, то обнаружится, что нажатие
Uses CRT; на некоторые клавиши игнорируется функцией ReadKey. Это, прежде всего,
Var C: Char; так называемые сдвиговые клавиши - Shift, Ctrl, Alt. Сдвиговые клавиши в
Begin MSDOS обычно используются для переключения регистров клавиатуры и
While KeyPressed do нажимаются в сочетании с другими клавишами. Именно таким способом, на-
C := ReadKey; пример, различается ввод прописных и строчных букв. Кроме того, функция
... игнорирует переключающие клавиши Caps Lock, Num Lock, Scroll Lock, а
end. также лишние функциональные клавиши F11 и F12 клавиатуры IBM AT, не
При использовании процедуры ReadKey необходимо учесть, что в кла- имеющие аналога на клавиатуре ранних моделей IBM PC/XT (в этих маши-
виатурный буфер помещаются так называемые расширенные коды нажатых нах использовалась 84-клавишная клавиатура, в то время как на IBM AT
клавиш. Если нажимается любая алфавитно-цифровая клавиша, расширен- 101-клавишная).
ный код совпадает с ASCII кодом соответствующего символа. Например,
если нажимается клавиша с латинской буквой «а» (в нижнем регистре), Текстовый вывод на экран
функция ReadKey возвращает значение chr(97), а если «А» (в верхнем реги-
стре) значение chr(65). При нажатии функциональных клавиш F1 F10, Библиотека Turbo Vision способна удовлетворить самым высоким тре-
клавиш управления курсором, клавиш Ins, Home, Del, End, PgUp, PgDn в бу- бованиям и к ней рекомендуется обращаться при программировании
фер помещается двухбайтная последовательность: сначала символ # 0, а сложных текстовых изображений (меню, окон и т. п.). Но также возможно
затем расширенный код клавиши. Таким образом, значение # 0, возвращае- использовать более простые и достаточно эффективные средства модуля
мое функцией ReadKey, используется исключительно для того, чтобы указать CRT.
программе на генерацию расширенного кода. Получив это значение, про- Используемое в ПК устройство визуального отображения информации
грамма должна еще раз обратиться к функции, чтобы прочитать дисплей состоит из двух основных частей: монитора, содержащего экран
расширенный код клавиши (то есть код сканирования клавиши. Этот код оп- с необходимыми компонентами (устройствами развертки изображения), и
ределяется порядком, в соответствии с которым микропроцессор клавиатуры блока управления, который чаще называют адаптером. Обычно оба устройст-
Intel 8042 периодически опрашивает (сканирует) состояние клавиш). ва согласуются друг с другом, но в отдельных случаях этого согласования
Следующая программа позволяет определить расширенный код любой может не быть (например, цветной монитор может работать с монохромным
клавиши: адаптером и наоборот). Здесь будем считать оба устройства согласованными,
Uses CRT; поэтому, говоря о различных дисплеях, будем говорить только о различных
Var адаптерах, так как именно в них сосредоточены основные отличия дисплеев
C: Char; друг от друга.
Begin
repeat Текстовые возможности цветного графического адаптера CGA (Color
C:= ReadKey; Graphics Adapter) стали стандартом с 1982 г. CGA позволял выводить как тек-
If C<># 0 then стовые сообщения, так и графические изображения (с разрешением 320x200
Writeln (ord (C)) или 640x200 пиксель). В текстовом режиме выводились 40x25 или 80x25
else символов, как в монохромном, так и в цветном изображениях. При выводе в
Wtiteln (′0′, ord (ReadKey):8)
until C = # 27 {27 расширенный код клавиши Esc} цветном режиме использовалось 16 цветов для символов и 8 для окружаю-
end. щего их фона. Они поддерживаются во всех последующих разработках IBM
75 76
Страницы
- « первая
- ‹ предыдущая
- …
- 36
- 37
- 38
- 39
- 40
- …
- следующая ›
- последняя »
