Процедура TextBackground

Определяет цвет фона. Заголовок:

Procedure TextBackground(Color: Byte);

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

const

Black = 0;{Черный}

Blue = 1;{Темно-синий}

Green = 2 ;{Темно-зеленый}

Cyan = 3;{Бирюзовый}

Red = 4 ;{Красный}

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

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

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

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

LightBlue = 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 := 1 to 15 do

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

TextColor(k);

WriteLn('Цвет ', k, ' - ',Col[k])

end;

TextColor(White+Blink); {Белые мигающие символы}

WriteLn('Мерцание символов');

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

TextColor(LightGray);

WriteLn

end.

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

TextColor(LightGray)

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