Ответы на экзаменационные вопросы № 1-34 по дисциплине "Программирование" (Средства модульного программирования в системе Турбо-Паскаль. ООП. Объекты в динамической памяти), страница 19

позволяет установить границы активного окна, т.е. той области экрана, с которой будет работать программа. Координаты x1,y2 и x2,y2 задают диагональные вершины окна.  

2) процедуры установки цвета фона и изображения  

textbackground(n) и textcolor(n)  

задают цвета фона и изображения соответственно. При работе с этими процедурами удобно задавать искомый цвет с помощью следующих констант, определенных в модуле 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; Если значение аргумента процедуры textbackground > 7 , то цвет определяется как остаток от деления аргумента на 8. Если значение аргумента процедуры textcolor > 15, то достигается эффект мерцания.

3) процедура управления курсором в текстовом режиме  

gotoxy (x,y);  

позиционирует курсор в точку с координатами (x,y).  

4) процедура  

textmode(n);  

позволяет установить различные режимы работы видеотерминала в зависимости от задания параметра n:  

0,1 – цветной 40х25;  

2,3 – цветной 80х25;  

7 – черно-белый 80х25.  

Пример.  

1) Программа, в которой определяется окно, вычерчиваются его границы и в центр окна выводятся мерцающие символы розового цвета:  

program text_rezh;  use crt;  const n=10; m=30;  var i: integer; Begin  clrscr;  textbackground(blue);  textcolor(0);  window(40,10,70,20);  gotoxy(2,1);  write('******************************');  gotoxy(2,n);  write('******************************');  for i:=1 to n do  begin  gotoxy(1,i);  write('*');  gotoxy(m,i);  write('*');  end;  textcolor(28);  gotoxy(m div 2, n div 2);  write('##');  gotoxy(m div 2,n div 2 +1);  write('##');  readln; End.

2) Программа, позволяющая переходить из одного текстового режима в другой:  

program mode_text;  uses crt; Begin  textcolor(14);  clrscr;  writeln('80 x 25');  readln;  textmode(1);  textbackground(green);  writeln('40 x 25');  readln;  textmode(2);  textbackground(blue);  writeln('80 x 25');  readln; End. 

3. Графический режим.  

3.1. Переход в графический режим.  

Графические изображения в среде Turbo Pascal формируются из ряда светящихся точек – пикселей. Любой пиксель задается парой координат. Начало координат – точка (0,0) – левый верхний угол экрана. Для различных графических режимов работы координатные сетки могут быть разными.  

Средства управления экраном в текстовом режиме находятся в модуле GRAPH. Для того, чтобы работа в графическом режиме была корректна, необходимо проверить, есть ли файл 'graph.tpu' в том каталоге, на который указывает опция Options\Directories\Unit Directories главного меню среды Turbo Pascal.  

После загрузки среды TP видеотерминал находится по умолчанию в текстовом режиме. Для того, что перейти в графический режим, необходимо предусмотреть в программе вызов графического драйвера. Для этой цели служит процедура:  

initgraph(<тип>,<режим>,<адрес>);  

где  <тип> определяет тип драйвера;  <режим> задает режим работы видеоадаптера;  <адрес> определяет адрес директории, в которой находится искомая программа-драйвер (программа 'egavga.bgi', обычно расположена в каталоге BGI папки TP или BP).

Если тип используемого в компьютере адаптера неизвестен, то можно обратиться к процедуре initgraph с требованием автоматического определения типа адаптера. Для этого необходимо в качестве первого параметра процедуры использовать 0 или константу Detect.  

Для завершения работы адаптера в графическом режиме и перевода его в текстовый режим служит процедура  

closegraph;  

Пример.