Иногда результаты работы программы нужно выделять разным цвем. Для работы с цветом в Турбо Паскале существует модуль (или иногда говорят — библиотека) Crt, для ее подключения используется команда Uses
пример:
Uses Crt;
Без подключения этого модуля компилятор НЕ БУДЕТ понимать, что ему нужно сделать если в программе он встретит команды, которые буду здесь рассматриваться.
Итак …
В ТурбоПаскале существует следующая система цветов …
Константы цветов.
Тёмные цвета (Цвета символов и фона) 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) к значению цвета.
TextColor(LightRed + Blink)
Для установления цвета текста существует команда TextColor (цвет);
Есть возможность использовать два способа изменения цветового режима текста:
пример:
TextColor (Red); или TextColor (4);
Эти команды идентичны с точки зрения функциональности. Но в первом случае мы видим цвет красный без дополнительных усилий. Во втором случае вместо цвета используется его цифровой код. Так что нужно использовать таблицу перевода числа в цвет.
По моему мнению — программный код должен быть понятным, поэтому я больше склоняюсь к первому варианту.
Для очистки экрана от сообщений существует процедура ClrScr.
С первого взгляда простой набор букв, который трудно запомнить. На деле это сокращение от CLeaRSCReen — очистить экран.
Пример;
ClrScr;
Для установления цвета фона существует команда TextBackGround (цвет).
При использовании этой команды существует один нюанс. А именно …. Для изменения цвета всего экрана использовать нужно следующую структуру
TextBackGround (цвет). ClrScr;
иначе фон устанавливается только для выведение сообщений.
Пример №1: Фон установлен для всего экрана.
TextBackGround (Red); ClrScr; Writeln ('Hello World');
Пример №2: Фон установлен только текстового сообщения Hello World.
ClrScr; TextBackGround (Red); Writeln ('Hello World');
Допустим нужно установить синий фон и желтые буквы …
TextBackGround (Blue); ClrScr; TextColor (Yellow); Writeln ('Hello World'); Readln;
TextBackGround (1); ClrScr; TextColor (14); Writeln ('Hello World'); Readln;
Два примера абсолютно идентичны по функциональности. Но с точки зрения понятности написанного …
Для установления яркости символов существуют процедуры LowVideo, HighVideo, NormVideo.
LowVideo- низкий уровень яркости: HighVideo- высокий уровень яркости: NormVideo- возвращает нормальный уровень яркости ..
Белый цвет символов с мерцанием:
TextColor (White + Blink);
Рассмотрим следующий пример. Рассчитать площадь прямоугольника со сторонами А и В.
Фон установить синий.
Цвет данных для ввода — желтый.
Цвет результата — зеленый.
Uses Crt; Var side_b, side_a, Area : Real; BEGIN TextBackGround(Blue); ClrScr; TextColor(Yellow); Write('Side A='); Readln(side_a); Write('Side B='); Readln(side_b); Area := side_a * side_b; TextColor(Green); Writeln('Area is =', Area:2:2); Writeln('Press Enter to Exit'); readln; END.
Для проверки наличия в программе синтаксических ошибок нажимаем F9. Для запуска программы на выполнение нажимаем Ctrl + F9.
Задача
К каждой задачи ответьте на вопрос:
Какие переменные будут «входящими», промежуточными, и укажите переменную/переменные, которая содержит результат.
Ввод данных делать красным цветом.Результат — зеленым:
Пример 1.
01.Дано два целых числа А и В. Найти их суму.
Uses CRT; Var a,b:integer; s:integer; BEGIN ClrScr; Textcolor(red); Write('Number A='); Readln(a); Write('Number B='); Readln(b); s:=a+b; Textcolor(green); writeln('Summa=',s); writeln('Press Enter to Exit'); readln; END.
a,b: входящие, s: результат. (протежуточных нет)
Фон экрана — желтый. Ввод данных красный цвет.Результат — зеленый.
Фразу ‘Press Enter to Exit’ сделать мигающей.
Пример 2.
01.Дано два целых числа А и В. Найти их суму.
Uses crt; Var a,b:integer; s:integer; BEGIN Textbackground(yellow); ClrScr; Textcolor(red); Write('Number A=');Readln(a); Write('Number B=');Readln(b); s:=a+b; Textcolor(green); writeln('Summa=',s); Textcolor(Red + Blink); writeln('Press Enter to Exit'); readln; END.
a,b: входящие, s: результат. (протежуточных нет)
Запомнить:
Команды управления цветом символов Textcolor();
Команды управления цветом фона Textbackground();
Названия нескольких Базовых цветов Red Green Blue Gray Cyan
Связку команд для установки цвета фона TextBackGround(); ClrScr;