Основы алгоритмизации и программирования. Часть четвертая. Файловая система Turbo Pascal. Асламова В.С - 38 стр.

UptoLike

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                                                          MS–DOS обычно используются для переключения регистров клавиатуры и
                 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