logo
TurboProlog / Документация / TOM_1

Инициализация и выключение системы bgi

Чтобы графическая система начала работать, вы должны вызвать первым

делом предикат initgraph. Этот предикат загружает соответствующий графи-

ческий драйвер и переключает систему в графический режим. Графическими

драйверами являются следующие файлы:

Таблица 17.1 Константы, описанные в GRAPDECL.PRO,

как драйверы

---------------------------------------------------------------

ОбЪектный Файл Имя Значение Описание

файл

---------------------------------------------------------------

CGAF.OBJ CGA.BGI cga_driver_far 1 CGA driver

CGAF.OBJ CGA.BGI cga_driver_far 2 MCGA driver

EGAVGAF.OBJ EGAVGA.BGI egavga_driver_far 3 EGA driver

EGAVGAF.OBJ EGAVGA.BGI egavga_driver_far 4 EGA64 driver

EGAVGAF.OBJ EGAVGA.BGI egavga_driver_far 5 EGAMONO driver

IBM8514F.OBJ IBM8514.BGI ibm8514_driver_far 6 IBM-8514 driver

HERCF.OBJ HERC.BGI herc_driver_far 7 Hercules driver

ATTF.OBJ ATT.BGI att_driver_far 8 ATT driver

EGAVGA.OBJ EGAVGA.BGI egavga_driver_far 9 VGA driver

PC3270F.OBJ PC3270.BGI pc3270_driver_far 10 PC-3270 driver

---------------------------------------------------------------

Графический драйвер, соответствующий графической карте вашего компь-

ютера, должен находиться в текущем каталоге, в противном случае вы должны

указать в initgraph маршрут доступа к месту расположения драйвера.

Вы можете заказать в initgraph использование конкретных графического

драйвера и режима или автоматическое определение подсоединенного видео

адаптера во время исполнения и выбор соответствующего драйвера. Если вы

заказываете автоматическое определение в initgraph, то он вызывает

detectgraph для определения графического драйвера и режима. Замечание:

если в вашем распоряжении IBM8514, то механизм автоматического распозна-

вания не работает. Более подробно смотрите пункт этой главы "Использова-

ние BGI с графической картой RGB".

Обычно предикат initgraph загружает графический драйвер, заказывая

память под него. Соответствующие файлы .BGI загружаются с диска уже во

время выполнения программы. Вместо этой схемы динамической загрузки можно

подсоединить файл графического драйвера (или некоторые из них) прямо к

вашей исполняемой программе, добавив директиву компилятора bgidriver в ее

заголовке.

После определения используемого графического драйвера (возможно с

помощью detectgraph), initgraph проверяет, был ли загружен этот драйвер

во время трансляции с помощью директивы bgidriver. В этом случае

initgraph использует драйвер непосредственно в памяти. В противном случае

initgraph заказывает память под драйвер и загружает файлы .BGI с диска.

Замечание: Новичкам не рекомендуется использовать директиву

bgidriver. Эта директива компилятора обсуждается далее в этой

главе.