Рассмотрим еще одну задачу: задать с клавиатуры цвет фона (экрана), символов и координат для вывода текста, а затем вывести текст в окно с заданными координатами.
Продумаем алгоритм решения данной задачи (рис. 2.9).
Рис. 2.9. Алгоритм решения задачи из примера 2.9
Пример 2.9. Красивый вывод текста
program Inp_Co1or;
uses Crt; {Подключение библиотечного модуля Crt} var C11,C12; 0..15; {Опишем переменные, где будут храниться цвет экрана –
С11, и цвет выдаваемых символов - С12. 0..15 - этот тип
для переменных называется интервальным. В данном
случае значения переменных могут меняться в
интервале от 0 до 15. Здесь мы имеем отрезок
(интервал) базового типа integer. Палитра цветов
лежит именно в этом интервале} X,Y: integer; {Для хранения координат}
Begin
{Блок 1: }
ClrScr;{ Ниже следует вызов процедуры Window(Xl,Yl,X2,Y2) из модуля Crt,
которая определяет на экране текстовое окно. (X1,Y1) –
координаты верхнего левого угла окна, (X2,Y2) - координаты
нижнего правого угла}
Window(20,5,60,20);
{ Блок 2: }
write('Введите цвет для экрана: ');
readln(C11); {Здесь работа программы приостанавливается и ожидается ввод
номера цвета экрана в переменную С11. Во время работы
программы следует ввести число и нажать Enter}
{ Блок 3: }
write('Введите цвет для символов: ');
readln(C12); { Ожидается ввод номера цвета символов в переменную С12. Во
время работы программы следует ввести число и нажать Enter }
{ Блок 4: }
TextBackGround(C11); {Выбор фонового цвета}
{ Блок 5: }
TextColоr(С12);{ Выбор цвета выводимых символов }
{ Блок 6: }
writeln('Введите координаты X и Y');
readln(X,Y); { Ожидается ввод координат для выводимого текста. Необходимо
ввести два числа (координаты) через пробел и нажать Enter.
Помните, что координаты внутри текстового окна отсчитываются
от его левого верхнего угла. В нашем окне 16 строк и 41 столбец}
{ Блок 7: }
ClrScr; { Функция очистки экрана в данном случае очистит не весь экран, а
только заданное текстовое окно }
{ Блок 8: }
GoToXY(X,Y);{ Позиционирование курсора в точку с координатами X,Y }
{ Блок 9: }
Writeln(‘Мы отлично вводим с клавиатуры!');
readln { Этот "пустой" оператор readln задерживает нас в экране пользователя.
Возврат в среду Паскаль происходит после нажатия Enter } end.