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

Процедури управління кольором

Процедура

TextColor (Color: BYTE);

встановлює колір відображених на екрані символів, а процедура

TextBackground (Color: BYTE);

встановлює колір фону. Для цих процедур визначений набір констант кольорів

ім’я

числове значення

Колір

використовується процедурами

Black

0

Чорний

TextColor, TextBackground

Blue

1

Синій

TextColor, TextBackground

Green

2

Зелений

TextColor, TextBackground

Cyan

3

Голубий

TextColor, TextBackground

Red

4

Червоний

TextColor, TextBackground

Magenta

5

Фіолетовий

TextColor, TextBackground

Brown

6

Коричневий

TextColor, TextBackground

LightGrey

7

Світло-сірий

TextColor, TextBackground

DarkGrey

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

Константа Blink задає мерехтіння відображених символів і звичайно використовується в процедурі TextColor в якості доданка:

TextColor (Blue + Brink);

Дія процедур TextColor і TextBackground зводяться до запису в спеціальну змінну TextAttr модуля Crt відповідних значень. Ця змінна має тип BYTE і може приймати значення від 0 до 255. Значення змінної визначає поточний колір фону, символів і режим мерехтіння символів. Кожний з восьми бітів змінної TextAttr може містити наступну інформацію

Змінну TextAttr необхідно застосовувати, використовуючи наступну формулу:

TextAttr: = <колір символів> + <колір фону> [+мерехтіння];

Номер біта

призначення в кольоровому режимі

призначення в монохромному режимі

0

синій компонент кольору символів

Підкреслення (1 – є, 0 – немає)

1

зелений компонент кольору символів

колір символу

2

червоний компонент кольору символів

колір символу

3

яскравість символів (1 – є, 0 – немає)

Аналогічно кольоровому режимові

4

синій компонент кольору фону

колір фону/ Інверсія

5

зелений компонент кольору фону

колір фону/ Інверсія

6

червоний компонент кольору фону

колір фону/ Інверсія

7

мерехтіння (1 – є, 0 – немає)

Аналогічно кольоровому режимові

Колір символів може змінюватися в межах 0..15, а колір фону – в межах 0..7. атрибуту мерехтіння відповідає значення 128. Квадратні дужки для нього означають, що цей атрибут необов’язковий. Замість конкретних значень можна використовувати ті ж константи кольорів, що і в процедурах TextColor і TextBackground.

В загальному кажучи, змінну TextAttr можна використовувати замість процедур TextColor і TextBackground, але на практиці буває значно простіше встановлювати колір фону і символів окремо один від одного, не піклуючись про те, щоці дії впливають на решта бітів змінної TextAttr.

Для монохромних моніторів управління кольором дещо складніше, так як завжди на них відображається лише чорний, білий і яскраво-білий кольори. Які, в залежності від типу монітора, можуть замінюватися зеленими чи червоними кольорами. Крім того, для цих моніторів вводиться режим підкреслювання символів.

Правила кодування бітів в монохромному режимі складні і не зовсім очевидні. Підкреслення використовується тільки при відображені білих чи яскраво-білих символів на чорному фоні. Якщо в бітах кольору фону є хоча б одна одиниця, а в бітах кольору символів всі нулі, встановиться інверсний колір: чорні символи на білому фоні. Якщо в бітах кольору символів встановлена хоча б одна одиниця, встановлюється неяскравий білий колір на білому фоні. А якщо при цьому біт яскравості рівний одиниці, встановлюється яскраво-білий колір на білому фоні.

Процедури HighVideo і LowVideo не мають параметрів. Вони так, як процедури TextColor і TextBackground, виробляють установку значення змінної TextAttr. Процедура HighVideo встановлює значення біта яскравості змінної TextAttr рівним 1 (режим підвищеної яскравості). А процедура LowVideo, навпаки, перевертає це значення в нуль (режим нормальної яскравості).

Процедура NormVideo відновлює той кольоровий режим (колів фону, символів і мерехтіння), який був встановлений до моменту початку роботи програми.

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