Мегаобучалка Главная | О нас | Обратная связь


Writeln ('0', ord (ReadKey):8)



2020-02-04 178 Обсуждений (0)
Writeln ('0', ord (ReadKey):8) 0.00 из 5.00 0 оценок




until c=#27 {27 – расширенный код клавиши esc}

End.

Если вы воспользуетесь этой программой, то обнаружите, что нажатие на некоторые клавиши игнорируется функцией ReadKey. Это прежде всего так называемые сдвиговые клавиши – Shift, Ctrl, Alt. Сдвиговые клавиши в MS-DOS обычно используются для переключения регистров клавиатуры и нажимаются в сочетании с другими клавишами. Именно таким способом, например, различается ввод прописных и строчных букв. Кроме того, функция игнорирует переключающие клавиши Caps Lock, N um Lock, Scroll Lock.

в таблице приведены расширенные коды клавиш, возвращаемые функцией o rd (ReadKey).


Расширенные коды клавиш

Таблица

Код

Клавиша или комбинация клавиш

Код

Клавиша или комбинация клавиш

первый байт

Второй байт

первый байт

Второй байт

Алфавитно-цифровые клавиши

8

backspace (забой)

9

tab (табуляция)

13

enter

32

пробел

33

!

34

«

35

#

36

$

37

%

38

&

39

"

40

(

41

)

42

*

43

+

44

,

45

46

.

47

/

48...57

0...9

58

:

59

;

60

<

61

=

52

>

63

?

64

@

65...90

A...Z

91

[

92

/

93

]

94

^

95

_

96

"

97...122

a...z

123

{

124

??

125

}

126

~

128...159

A...Я

160...175

а...п

224...239

р...я

Управляющие клавиши и их сочетания со сдвиговыми

0

3

Ctrl–2

0

15

Shift – Tab

0

16...25

Alt–Q...Alt–P (верхний ряд букв)

0

30...38

Alt–A...Alt–L (средний ряд букв)

0

44...50

Alt–Z...Alt–M (нижний ряд букв)

0

59...68

72

F1...F10 курсор вверх

0

71

Home

0

75

курсор влево

0

73

PgUp

0

79

End

0

77

курсор вправо

0

81

PgDn

0

80

курсор вниз

0

83

Del
                         

 

 

Окончание таблицы

Код

Клавиша или комбинация клавиш

Код

Клавиша или комбинация клавиш

первый байт второй байт первый байт второй байт 0 82 Ins 0 94...103 Ctrl–F1...Ctrl–F10 0 84...93 Shift–F1... Shift–F10 0 114 Ctrl– PrtScr 0 104...113 Alt–F1...Alt–F10 0 116 Ctrl – курсор вправо 0 115 Ctrl – курсор влево 0 118 Ctrl – PgDn 0 117 Ctrl – End

0

 

120...131

alt–1...alt– = (верхний ряд клавиш)

0 119 Ctrl – Home 0 132 Ctrl – PgUp

 

 

11.2. Текстовый вывод на экран

 

Библиотека Turbo Vision способна удовлетворить самым высоким требованиям, и мы настоятельно рекомендуем обращаться к ней при программировании сложных текстовых изображений (меню, окон и т.п.). Тем не менее, вполне возможно, что некоторые из читателей захотят использовать значительно более простые, но достаточно эффективные средства модуля CRT, описываемые в этом разделе.

Процедура TextMode используется для задания одного из возможных текстовых режимов работы адаптера монитора. Заголовок процедуры:

Procedure TextMode ( mode : word );

Здесь mode – код текстового режима. в качестве значения этого выражения могут использоваться следующие константы, определенные в модуле CRT:

const

bw40=0; {черно-белый режим 40*25}

co40=l; {цветной режим 40*25}

bw80=2, {черно-белый режим 80*25}

co80=3; {цветной режим 80*25}

mono=7; {используется с mda}

Font8*8=256; {используется для загружаемого шрифта в режиме 80*43 или 80*50 с адаптерами EGA или VGA}

Код режима, установленного с помощью вызова процедуры TextMode, запоминается в глобальной переменной LastMode модуля CRT и может использоваться для восстановления начального состояния экрана.

следующая программа иллюстрирует использование этой процедуры в различных режимах. заметим, что при вызове TextMode сбрасываются все ранее сделанные установки цвета и окон, экран очищается и курсор переводится в его левый верхний угол.

user CRT;

procedure print (s: string), {вывести сообщение s и ждать инициативы пользователя}

Begin

write l n (s), {вывести сообщение}

write l n ('нажать клавишу enter...');

read l n {ждем нажатия клавиши enter}

end; {print}

Var

lm: word, {начальный режим экрана}

Begin

lm:=LastMode; {запомнить начальный режим работы дисплея}

TextMode ( со 40);

print (' режим 40*25');

TextMode (co8o);

print (' режим 80*25');

TextMode (co40+font8*8);

print (' режим co40+font8*8');

TextMode ( co 80+ font 8*8);

print ('режим co80+font8*8'), {восстановить исходный режим работы:}

TextMode ( lm )

End .

Процедура TextColor определяет цвет выводимых символов. заголовок процедуры:

Procedure TextColor ( color : byte );

Процедура TextBackGround определяет цвет фона. заголовок процедуры:

Procedure TextBackGround ( color : byte );

Единственным параметром обращения к этим процедурам должно быть выражение типа byte, задающее код нужного цвета. Этот код удобно определять с помощью следующих мнемонических констант, объявленных в модуле CRT:

Const

black =0; {черный}

blue=l; {темно-синий}

green=2; {темно-зеленый}

суаn=3; { бирюзовый}

red=4; {красный}

magenta=8; {фиолетовый}

brown=6; {коричневый}

lightgray=7; {светло-серый}

darkgray=8; {темно-серый}

light blue =9; {синий}

lightgreen =10; {светло-зеленый}

lightcyan =11; {светло-бирюзовый}

lightred =12; {розовый}

lightmagenta =13; {малиновый}

yellow =14; {желтый}

white =15; {белый}

blink=128; {мерцание символа}

Следующая программа иллюстрирует цветовые возможности Турбо-Паскаля.

uses CRT,

const

col: array [1..15] of string [16] =

('темно-синий', 'темно-зеленый', 'бирюзовый', 'красный', 'фиолетовый', 'коричневый', 'светло-серый', 'темно-серый', 'синий', 'зеленый', 'светло-бирюзовый', 'розовый', 'малиновый', 'желтый', 'белый');

Var

K: byte,

Begin

for k:=l to 15 do

Begin {выводим 15 сообщений различными цветами}

Textcolor (k),

writeln (" цвет ", k, "-", col [k] )

End;

textcolor (white+blink); { белые мигающие символы }

writeln ("мерцание символов");

{восстанавливаем стандартный цвет}

Textcolor ( lightgray ),

Writeln

End .

Обратите внимание на последний оператор write ln. Если его убрать, режим мерцания символов сохранится после завершения программы, несмотря на то, что перед ним стоит оператор

TextColor (lightgray);

Дело в том, что все цветовые определения предварительно заносятся в специальную переменную TextAttr модуля CRT и используются для настройки адаптера только при обращении к процедурам write/writ eln.

Процедура ClrScr очищает экран или окно (см. ниже процедуру window). после обращения к ней экран (окно) заполняется цветом фона и курсор устанавливается в его левый верхний угол. например:

Uses CRT;

Var

С : char

Begin

Textbackground (red);

clrscr; { заполняем экран красным цветом }

writeln (" нажмите любую клавишу ...");

с := ReadKey, { ждем нажатия любой клавиши }



2020-02-04 178 Обсуждений (0)
Writeln ('0', ord (ReadKey):8) 0.00 из 5.00 0 оценок









Обсуждение в статье: Writeln ('0', ord (ReadKey):8)

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (178)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)