русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Включение шрифтов и драйверов в ЕХЕ-файл


Дата добавления: 2015-06-12; просмотров: 726; Нарушение авторских прав


Стандартный режим работы графики, при котором помимо основного ЕХЕ-файла необходимо присутствие еще одного или не-{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}

UNIT BGI; { модуль с BGI-компонентами } INTERFACE { объявления псевдопроцедур } PROCEDURE CGADriverProc; { BGI-драйвер для CGA } PROCEDURE EGAVGADriverProc; { BGI-драйвер для EGA/VGA } PROCEDURE HERCDriverProc; { BGI-драйвер для Hercules } { ... } PROCEDURE TRIPFontProc; { CHR-шрифт TriplexFont } PROCEDURE SANSFontProc; { CHR-шрифт SansSerifFont } { ... } PROCEDURE Font8x8Proc; { матричный шрифт 8x8 } IMPLEMENTATION { подстыковка содержимого: } USES Graph, DOS; {$L cga.obj} PROCEDURE CGADriverProc; EXTERNAL; {$L egavga.obj} PROCEDURE EGAVGADriverProc; EXTERNAL; {$L herc.obj} PROCEDURE HERCDriverProc; EXTERNAL; { ... } {$L trip.obj} PROCEDURE TRIPFontProc; EXTERNAL; {$L sans.obj} PROCEDURE SANSFontProc; EXTERNAL; { ... } VAR OldFont8x8 : Pointer; { адрес старого шрифта 8x8 } {$L 8x8.obj} PROCEDURE Font8x8Proc; EXTERNAL; BEGIN if RegisterBGIDriver(@CGADriverProc)<0 then Halt(101); if RegisterBGIDriver(©EGAVGADriverProc)<0 then Halt(102); if RegisterBGIDriver(@HERCDriverProc)<0 then Halt(103); { ... } if RegisterBGIFont(@TRIPDriverProc)<0 then Halt(201); if RegisterBGIFont(®SANSDriverProc)<0 then Halt(202); { ... } GetIntVec($1F,OldFont8x8); { старый адрес шрифта 8x8 } SetIntVec($1F,@Font8x8Proc) { новый адрес шрифта 8x8 } END.

Рис. 19.36



Этот модуль должен быть оттранслирован на диск. После этих действий можно, указав в своей программе {468}

USES

Graph, BGI, ... ;

использовать процедуру InitGraph с третьим параметром — пустой строкой, не заботясь о наличии конкретного драйвера или шрифта на диске совместно с ЕХЕ-файлом.



<== предыдущая лекция | следующая лекция ==>
Размер букв и его масштабирование | Подключение новых драйверов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.696 сек.