Стандартный режим работы графики, при котором помимо основного ЕХЕ-файла необходимо присутствие еще одного или не-{466}скольких вспомогательных BGI- и CHR-файлов, не очень удобен. Устранение этого неудобства возможно включением содержимого этих файлов непосредственно в ЕХЕ-файл, получаемый из программы на Паскале, Для этого надо выбрать, какие драйверы и шрифты необходимы при автономной работе нашей программы (если она рассчитана на работу с одним адаптером, то достаточно одного соответствующего BGI-драйвера и шрифтов; если программа должна переноситься, то придется вставить в нее как минимум три драйвера: для CGA, EGA/VGA и Hercules).
Далее, нужно запустить утилиту BINOBJ.EXE для получения из ВGI- и (или) CHR-файла (файлов) OBJ-файла (файлов), что лучше сделать ВАТ-файлами:
drivers.bat
BINOBJ %1.BGI %1.OBJ %1DriverProc
fonts.bat
BINOBJ %1.CHR %1.OBJ %1FontProc
В этом случае можно обработать драйверы и шрифты следующим образом:
C:\TP\BGI>driver.bat CGA
C:\TP\BGI>driver.bat EGAVGA
C:\TP\BGI>driver.bat HERC
...
C:\TP\BGI>fonts.bat TRIP
C:\TP\BGI>fonts.bat SANS
...
Если желательно включить в файл и свою часть шрифта 8x8 (пусть он хранится в файле 8x8.FON), то надо выполнить команду
C:\TP\BGI>binobj 8x8.fon 8x8 Font8x8Proc
После этого можно подготовить полученные OBJ-файлы для компоновки в ЕХЕ-файл. Удобнее всего это сделать, организовав модуль, например BGI.TPU. Исходный текст его (с учетом наших предыдущих действий) приведен на рис. 19.36. {467}
Этот модуль должен быть оттранслирован на диск. После этих действий можно, указав в своей программе {468}
USES
Graph, BGI, ... ;
использовать процедуру InitGraph с третьим параметром — пустой строкой, не заботясь о наличии конкретного драйвера или шрифта на диске совместно с ЕХЕ-файлом.