Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TURBO_PASCAL.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.23 Mб
Скачать

15.4.4. Настройка цвета

15.4.4.1. Процедуры TextColor(C : Byte) и TextBackGround(C: Byte). Действие этих процедур сводится к записи в системную переменную TextAttr модуля CRT определенных значений. Процедура TextColor устанавливает цвет символов, a TextBackround — цвет фона. Специально для этих процедур определены константы, соответствующие различным цветам (табл. 15.7).

Таблица 15.7

Константа Число Цвет

Процедуры

Black = 0 Черный

TextColor, TextBackround

Blue = 1 Синий

TextColor, TextBackround

Green = 2 Зеленый

TextColor, TextBackround

Cyan = 3 Голубой

TextColor, TextBackround

Red = 4 Красный

TextColor, TextBackround

Magenta = 5 Фиолетовый

TextColor, TextBackround

Brown = 6 Коричневый

TextColor, TextBackround

LightGray = 7 Ярко-серый

TextColor, TextBackround

DarkGray = 8 Темно-серый

TextColor

LightBlue = 9 Ярко-синий

TextColor

LightGreen = 10 Ярко-зеленый

TextColor

LightCyan = 11 Ярко-голубой

TextColor

LightRed = 12 Ярко-красный

TextColor

LightMagenta = 13 Ярко-фиолетовый

TextColor

Yellow = 14 Желтый

TextColor

White = 15 Белый

TextColor

Blink = 128 Мерцание

TextColor (как слагаемое)

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

TextColor( LightRed + Blink );

TextBackround( Green ); {337}

В результате будет установлен мигающий ярко-красный цвет символов на зеленом фоне.

Заметьте, что для фона разрешенными являются только восемь значений «неярких цветов».

15.4.4.2. Процедуры установки яркости HighVideo и LowVideo. Эти процедуры не имеют параметров, но тоже занимаются установкой значения системной переменной TextAttr. Более конкретно, они устанавливают бит яркости в значения «да» (1) или «нет» (0), превращая обычные цвета (Black...LightGray) в «яркие» (DarkGray...White). Хотя можно заметить некоторые несоответствия. Так, ярко-серый (LightGray) стал ярко-белым (White), коричневый (Brown) стал желтым (Yellow).

Процедуры HighVideo и LowVideo хорошо работают при оформлении диалога и каких-либо других задач, связанных с выводом текстов на экран (рис. 15.14),

USES CRT; { Пример применения LowVideo и HighVideo}

BEGIN

TextColor( LightGray ); { неяркий белый цвет }

TextBackGround( Black ); { черный цвет фона }

ClrScr;

Write ( 'Легко использовать ' );

HighVideo; { включение яркости }

Write ( 'яркость ' );

LowVideo: { выбор низкой яркости }

Write ( ‘для выделения слов.' );

ReadLn; { пауза до нажатия ввода}

ClrScr

END.

Рис. 15.14

15.4.4.3. Процедура NormVideo. Эта процедура, хотя и похожа по виду на процедуры HighVideo и LowVideo, имеет с ними мало общего. После ее выполнения восстанавливаются тот цветовой атрибут (цвет фона, символов и мерцание), который был на момент начала работы программы.

Мы уже писали о «хорошем тоне» написания программ — когда рекомендовали ставить процедуру TextMode для восстановления исходного текстового режима. Советуем добавить в конец программы вызов NormVideo. Это дает гарантию, что программа «не собьет» нормальные цвета после окончания. {338}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]