Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BorlandPascal.doc
Скачиваний:
55
Добавлен:
17.03.2015
Размер:
2.83 Mб
Скачать

Начало работы

Приведем пример простой графической программы:

1 program GraphTest;

2 uses

3 Graph;

4 var

5 GraphDriver : integer;

6 GraphMode : integer;

7 ErrorCode : integer;

8 begin

9 GraphDriver := Detect; { Установить флаг: выполнить

распознавание }

10 InitGraph(GraphDriver, GraphMode, 'C:\DRIVERS');

11 ErrorCode := GraphResult;

12 if ErrorCode <> grOk then { ошибка? }

13 begin

14 Writeln('Ошибка графики: ',GraphErrorMsg(ErrorCode);

15 Writeln('Программа аварийно завершила работу...');

16 Halt(1);

17 end;

18 Rectangle(0, 0, GetMaxX, GetMaxY); { нарисовать рамку

размером в экран }

19 SetTextJustify(CenterText, CenterText); { центрирова-

ние текста }

20 SetTextStyle(DefaultFont, HorizDir, 3);

21 OutTextXY(GetMaxX div 2, GetMaxY div 2, { центр экрана }

22 'Графический интерфейс фирмы Borland (BGI)');

23 Readln;

24 CloseGraph;

25 end. { GraphTest }

Программа начинается с обращения к процедуре InitGraph, ко-

торая автоматически проверяет наличие аппаратуры и загружает со-

ответствующий графический драйвер (находящийся в каталоге C:

DRIVERS). Если графическая аппаратура не распознана или в процес-

се инициализации произошла ошибка, то на экран выводится сообще-

ние об ошибке и программа прекращает работу. В противном случае

вдоль краев экрана рисуется прямоугольник и в центре экрана выво-

дится текст.

Плата AT&T 400 или IBM 8514 не распознается автоматически.

Тем не менее, вы можете пользоваться драйвером графики AT&T путем

отмены автоматической проверки, пересылки исполняемого кода драй-

вера AT&T процедуре InitGraph и установки допустимого графическо-

го режима. Замените 8 и 9 строку в предыдущем примере следующими

тремя строками:

GraphDriver := ATT400;

GraphMode := ATT400Hi;

InitGraph(GraphDriver, GraphMode, 'C:\BP\BGI');

Это укажет графической системе на необходимость загрузки

драйвера устройства AT&T400, расположенного в каталоге C:\BP\BGI,

и установит графический режим 640 на 400.

Приведем еще один пример, который показывает, как можно пе-

реключаться между графическим и текстовым режимами:

1 program GraphTest;

2 uses

3 Graph;

4 var

5 GraphDriver : integer;

6 GraphMode : integer;

7 ErrorCode : integer;

8 begin

9 GraphDriver := Detect; { Установить флаг: выполнить

распознавание }

10 InitGraph(GraphDriver, GraphMode, 'C:\DRIVERS');

11 ErrorCode := GraphResult;

12 if ErrorCode <> grOk then { ошибка? }

13 begin

14 Writeln('Ошибка графики: ',GraphErrorMsg(ErrorCode);

15 Writeln('Программа аварийно завершила работу...');

16 Helt(1);

17 end;

18 OutText('Графический режим. Нажмите <RETURN>');

19 Readln;

20 RestoreCrtMode;

21 Write('Текстовый режим. Нажмите <RETURN>');

22 Readln;

23 SetGraphMode(GraphMode);

24 OutText('Снова графический режим. Нажмите <RETURN>');

25 Readln;

26 CloseGraph;

27 end. { GraphTest }

Заметим, что вызов процедуры SetGraphMode на строке 23 сбра-

сывает все графические параметры (палитра, текущий указатель, ос-

новной и фоновый цвета и т.д.) и им присваиваются принятые по

умолчанию значения.

Вызов CloseGraph восстанавливает первоначально обнаруженный

видеорежим (InitGraph) и освобождает память, используемую графи-

ческим драйвером.

Соседние файлы в предмете Программирование на Pascal