Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по паскалю экзамен 26-50.docx
Скачиваний:
40
Добавлен:
23.09.2019
Размер:
3.23 Mб
Скачать

Вопрос 29. Модуль crt

Модуль Crt позволяет выводить цветные символы на цветном экране. Хотя по-прежнему отображение будет происходить в текстовом режиме. Текстовый режим означает, что на экране могут выводиться только определенные символы в определенных местах (знакоместах). Можно представить экран, разделенным вертикальными и горизонтальными линиями на ячейки. В эти ячейки можно «вписывать» различные символы. У каждой ячейки есть адрес.Модуль Crt содержит ряд процедур, позволяющих задавать цвет символов и экрана, очищать экран, менять позицию курсора и др.Стандартный экран в Паскале чаще формируется из 25 сток и 80 столбцов. Строки нумеруются сверху вниз, а столбцы слева на право. Нумерация начинается с единицы (что может показаться непривычным).Количество доступных цветов (для экрана и символов) всего 16. Они кодируются числами от 0 до 15. Также вместо чисел можно прописывать названия цветов.

Для того чтобы в программе можно было использовать содержимое модуля Crt, его надо импортировать (подключить) в программу. Делается это в секции, которая начинается со слова uses.Чтобы очистить экран от всех надписей, требуется выполнить процедуру clrscr. Если перед этим был задан цвет экрана (с помощью textbackground), то экран будет залит соответствующим цветом.Цвет текста определяется процедурой textcolor, позиция курсора – gotoxy.

Для вывода символов на экран используются стандартные процедуры write и writeln.

Также существует процедура временной задержки delay (аргумент задается в микросекундах), если требуется выводить символы не сразу, а постепенно.

uses

crt;

begin

textbackground (7);

clrscr;

textcolor (12);

gotoxy (10,5);

write ('Hi, world!');

delay (1500);

gotoxy (40,22);

textcolor (14);

write ('Yes');

readln

end.

Вопрос 30. Модуль graph

Процедуры и функции модуля Graph (выборочно)

1. Переход в графический режим и обратно

procedure InitGraph (var Driver, Mode: Integer; Path: string);

Описание параметров процедуры:

Driver - определяет тип графического драйвера. Для адаптера VGA/SVGA значение параметра задается константой VGA = 9. Обычно используется значение Driver, равное константе Detect=0, которая включает режим автоматического определения типа драйвера.

Mode - задает режим работы видеоадаптера. Например, для режима VGA с разрешением 640х480 значение Mode должно быть равно константе VGAHi = 2. Если значением Driver является Detect, то режим адаптера и значение Mode также определяется автоматически.

Path - указывает путь к каталогу, содержащему драйверы BGI (Borland Graphic Interface). Если драйверы BGI находятся в текущем каталоге, то значение Path задается пустой строкой: ‘’.

Пример использования процедуры с автоматическим определением драйвера и режима адаптера:

Driver := Detect;

InitGraph (Driver, Mode, ‘C:\TP\BGI’);

function GraphResult : Integer;

Возвращает результат последнего обращения к графическим процедурам в виде целочисленного кода. Если код результата равен константе grOK = 0, то ошибки нет, в противном случае по коду ошибки можно идентифицировать ее характер.

function GraphErrorMsg (Code: Integer): string;

Возвращает текстовое сообщение об ошибке графики по ее коду.

Пример использования функции:

Writeln (GraphErrorMsg (GraphResult));

procedure CloseGraph;

Завершает работу адаптера в графическом режиме, очищает экран и переводит его в текстовый режим.

2. Координаты и окна

function GetMaxX: Word;

function GetMaxY: Word;

Возвращают максимальные координаты (размеры) экрана в данном режиме в пикселях. Левый верхний угол экрана имеет координаты (0, 0).

procedure MoveTo (X, Y : Integer);

Перемещает невидимый указатель текущей позиции в точку с координатами X, Y относительно окна или экрана.

procedure SetViewPort (X1, Y1, X2, Y2: Integer; Clip: Boolean);

Устанавливает прямоугольное окно для вывода графической информации. Величины (X1, Y1) задают левый верхний, а (X2, Y2) – правый нижний угол окна относительно экрана. После этого координаты текущего указателя становятся относительными, т.е. отсчитываются от левого верхнего угла окна с координатами (0, 0). Параметр Clip определяет отсечку части изображения, не помещающуюся в окне. Для этого удобно использовать константы ClipOn = True и ClipOff = False.

procedure ClearViewPort;

Очищает графическое окно, закрашивает его цветом фона и устанавливает текущий указатель в левый верхний угол окна.

3. Цвета и линии

procedure SetColor (Color: Word);

Устанавливает цвет выводимых линий и символов по его коду Color в соответствии с таблицей 17.1.

procedure SetBkColor (Color: Word);

Устанавливает цвет фона.

function GetColor: Word;

function GetBkColor: Word;

Возвращает код текущего цвета линий и фона.

procedure PutPixel (X, Y: Integer; Color: Word);

Выводит заданным цветом точку с координатами X, Y.

procedure Cyrcle (X, Y: Integer; R: Word);

Вычерчивает текущим цветом окружность с радиусом R и координатами центра X, Y.

procedure Line (X1, Y1, X2, Y2: Integer);

Выводит текущим цветом прямую линию с координатами X1, Y1 начала и X2, Y2 конца.

procedure Rectangle (X1, Y1, X2, Y2: Integer);

Вычерчивает текущим цветом прямоугольник с координатами X1, Y1 левого верхнего и X2, Y2 – правого нижнего угла.

4. Вывод текста

procedure OutText (TextString: string);

Выводит строку TextString с текущей позиции.

procedure OutTextXY (X, Y: Integer; TextString: string);

Выводит строку с позиции, заданной координатами X, Y.

С помощью этих процедур можно выводить также русский текст, если на компьютере установлен соответствующий драйвер.

Имеется также ряд процедур и функций, управляющий шрифтами и расположением текста.

Замечание по разделу. Материал данного раздела носит обзорный характер. Примеры программ с использованием модулей CRT и Graph приводятся в разделах «Динамические списки» и «Объектно-ориентированное программирование».