Основы алгоритмизации и программирования. Часть четвертая. Файловая система Turbo Pascal. Асламова В.С - 40 стр.

UptoLike

79
При вызовах процедур TextColor и TextBackGround можно использо-
вать как обозначение цвета, так и его английское название (английские
названия определены как константы в библиотеке CRT).
Например, после выполнения инструкций
TextColor(LightGray);
TextBackGround(1);
инструкции Write и WriteLn будут выводить текст светло- серым цветом на
синем фоне. Следующие инструкции выводят на экран фрагмент меню. На-
звания выводятся на синем
фоне светло-серым цветом, а номера пунктов
меню ярко-белыми:
TextBackGround(Blue);
TextColor(15);
write(
1);
TextColor(7);
writeln(
Вывод на экран.);
TextColor(15);
write(
2);
TextColor(7);
writeln(
Вывод на принтер.);
Информация о текущем цвете символов и фона хранится в глобальной
переменной TextAttr (атрибуты текста) типа byte. Если процедура устанавли-
вает свои цвета для вывода на экран, то значение переменной можно
использовать для того, чтобы восстановить цвета перед завершением работы
процедуры. Например, следующая программа в начале работы сохраняет те-
кущие цвета, а в
конце восстанавливает старые значения.
Uses CRT;
var
oldTextAttr: byte;
{сохраним цвет символов и фона}
begin
OldTextAttr:= TextAttr;
{установим свои цвета}
80
TextBackGround(Red);
TextColor(White);
...................
{восстановим цвет символов и фона}
TextAttr:= OldTextAttr;
end.
Помимо использования процедур TextColor и TextBackGround для ус-
тановки цвета символов и цвета фона, установить атрибуты текста можно
непосредственным присвоением значения переменной TextAttr, определяемо-
го по формуле: НомерЦветаФона*16+НомераЦветаСимволов.
Например, чтобы установить белый цвет символов на красном фоне,
переменной TextAttr надо присвоить значение 79 (79=4*16+15).
4. Процедура ClrScr очищает экран или окно. После обращения к ней
экран (окно) заполняется цветом фона и курсор устанавливается в его левый
верхний угол. Например:
Uses CRT;
var
C: Char;
begin
TextBackGround (red); {заполняем экран красным цветом}
ClrScr;
WriteLn (
Нажмите любую клавишу);
C:= ReadKey; {ждем нажатия любой клавиши}
TextBackGround (Black);
ClrScr {восстанавливаем черный фон экрана}
end.
5. Процедура Window определяет текстовое окно - область экрана, ко-
торая в дальнейшем будет рассматриваться процедурами вывода как весь
экран. Сразу после вызова процедуры курсор помещается в левый верхний
угол окна, а само окно очищается (заполняется цветом фона). По мере вывода
курсор, как обычно, смещается вправо и при достижении правой границы ок-
на переходит
на новую строку, а если он к этому моменту находился на
последней строке, содержимое окна сдвигается вверх на одну строку, то есть
осуществляетсяпрокруткаокна. Заголовок процедуры:
Procedure Window (X1, Y1, X2, Y2: Byte);
Здесь X1,Y1 – координаты левого верхнего угла окна X1,Y1-правого
нижнего угла окна. Они задаются в координатах экрана, причем левый верх-
      При вызовах процедур TextColor и TextBackGround можно использо-                    TextBackGround(Red);
вать как обозначение цвета, так и его английское название (английские                    TextColor(White);
названия определены как константы в библиотеке CRT).
                                                                                           ...................
      Например, после выполнения инструкций
      TextColor(LightGray);                                                              {восстановим цвет символов и фона}
      TextBackGround(1);                                                                 TextAttr:= OldTextAttr;
инструкции Write и WriteLn будут выводить текст светло- серым цветом на           end.
синем фоне. Следующие инструкции выводят на экран фрагмент меню. На-
                                                                                   Помимо использования процедур TextColor и TextBackGround для ус-
звания выводятся на синем фоне светло-серым цветом, а номера пунктов
                                                                             тановки цвета символов и цвета фона, установить атрибуты текста можно
меню ярко-белыми:
                                                                             непосредственным присвоением значения переменной TextAttr, определяемо-
      TextBackGround(Blue);
                                                                             го по формуле: НомерЦветаФона*16+НомераЦветаСимволов.
     TextColor(15);                                                                Например, чтобы установить белый цвет символов на красном фоне,
     write(′1′);                                                             переменной TextAttr надо присвоить значение 79 (79=4*16+15).
     TextColor(7);                                                                  4. Процедура ClrScr очищает экран или окно. После обращения к ней
                                                                             экран (окно) заполняется цветом фона и курсор устанавливается в его левый
     writeln(′Вывод на экран.′);
                                                                             верхний угол. Например:
     TextColor(15);                                                                   Uses CRT;
     write(′2′);                                                                      var
                                                                                           C: Char;
     TextColor(7);                                                                    begin
                                                                                           TextBackGround (red); {заполняем экран красным цветом}
     writeln(′Вывод на принтер.′);
                                                                                           ClrScr;
      Информация о текущем цвете символов и фона хранится в глобальной                     WriteLn (′Нажмите любую клавишу ′);
переменной TextAttr (атрибуты текста) типа byte. Если процедура устанавли-                 C:= ReadKey;          {ждем нажатия любой клавиши}
вает свои цвета для вывода на экран, то значение переменной можно                          TextBackGround (Black);
                                                                                      ClrScr                     {восстанавливаем черный фон экрана}
использовать для того, чтобы восстановить цвета перед завершением работы
                                                                                      end.
процедуры. Например, следующая программа в начале работы сохраняет те-              5. Процедура Window определяет текстовое окно - область экрана, ко-
кущие цвета, а в конце восстанавливает старые значения.                      торая в дальнейшем будет рассматриваться процедурами вывода как весь
      Uses CRT;                                                              экран. Сразу после вызова процедуры курсор помещается в левый верхний
     var                                                                     угол окна, а само окно очищается (заполняется цветом фона). По мере вывода
           oldTextAttr: byte;                                                курсор, как обычно, смещается вправо и при достижении правой границы ок-
                                                                             на переходит на новую строку, а если он к этому моменту находился на
           {сохраним цвет символов и фона}
                                                                             последней строке, содержимое окна сдвигается вверх на одну строку, то есть
     begin                                                                   осуществляется “прокрутка” окна. Заголовок процедуры:
           OldTextAttr:= TextAttr;                                                                   Procedure Window (X1, Y1, X2, Y2: Byte);
           {установим свои цвета}                                                     Здесь X1,Y1 – координаты левого верхнего угла окна X1,Y1-правого
                                                                             нижнего угла окна. Они задаются в координатах экрана, причем левый верх-
                                     79                                                                            80