WEB форумы на jedi
[Форум] [Помощь] [Поиск] [Выйти]
Добро пожаловать, [info]User

WEB форумы на jedi [ПОИСК] [Архив до 03.2006]

Тема Есть вопрос спецам по С++ К предыдущему сообщению На следующее сообщение Программирование

Отправил Theodor в 22:16 11.07.2003[Ответить]
Пожалуйста, подскажите, как встроить графический драйвер egavga.bgi и векторные шрифты в exe-файл на Turbo C ?
Заранее благодарен.


Отправил ich в 19:07 13.07.2003[Ответить]
эко как тебя продраконило...
какой egavga.bgi? какой Turbo C? мы в каком веке-то? :)
я в последний раз такими извратами лет 12 назад занимался :)

ну ладно, щас модуль отыщу...
на паскале это так выглядело:

unit EGAVGADr;

interface
uses Graph;
var EGAVGAError : Boolean;

procedure InitEGAVGA ( GraphDriver,GraphMode : Integer );

Implementation

Const
EGAVGADriver : array[1..5139] of Byte =
(112,107, 8, 8, 66, 71, 73, 32, 68,101,118,105, 99,101, 32, 68,
...тут весь bgi...);

Procedure InitEGAVGA ( GraphDriver,GraphMode : Integer );
var Driver,Mode : Integer;
begin
Driver:=GraphDriver;
Mode:=GraphMode;
InitGraph (Driver,Mode,'');
SetGraphMode (GraphMode);
end;

begin
EGAVGAError:=(RegisterBGIDriver (@EGAVGADriver)<>0);
end.


Отправил CAHbKA в 00:58 14.07.2003[Ответить]
если нужно именно встроить, то следует воспользоваться утилитой из комплекта TC, что-то типа bgi2obj. Получившиеся .obj'ы вписать в проект и слинковать. Это стандартный способ, описан в документации. Утилита эта и для .chr работает.

а когда будет вопрос про C++? ;-)


Отправил Пaшкa в 11:34 14.07.2003[Ответить]
Санька запостил все же лучший вариант ;-) Хотя разница только в том, что вместо массива BGI-файла придется объявить только одну external переменную или функцию. Точно не помню :-)


Отправил ich в 11:36 14.07.2003[Ответить]
>Санька запостил все же лучший вариант ;-)

имея готовые модули на все такие bgi и шрифты, значительно проще это пользовать... говорю, как создатель в самом начале 90х гг. кучи игрушек под cga :)


Отправил CAHbKA в 12:08 14.07.2003[Ответить]
на мой взгляд встраивать так себе идея :)
неудобно.
грузить лучше, особенно если позволить выбирать драйвер (желательно:). Их перед закатом направления появилось много всяких.. и svga, и vesa, и для принтеров, и т.п....


Отправил KiaProg в 14:12 14.07.2003[Ответить]
Можно встроить несколько и позволять выбирать.


Отправил ich в 14:20 14.07.2003[Ответить]
насколько я помню, когда драйвера валялись отдельно от внутренностей экзешника, это вызывало множество проблем у юзеров :) то скопировать забудут, то инициализация проглючивала, то висло все... во было время... xtишки с cga :)


Отправил CAHbKA в 16:46 14.07.2003[Ответить]
несколько конечно можно, только тогда уже не юзеры начинают забывать о драйвере, а программеры о модели памяти ;)


Отправил ich в 18:32 14.07.2003[Ответить]
да программеры вообще чего угодно могут забыть! :)


Отправил KiaProg в 22:39 14.07.2003[Ответить]
И не забыть из того, что забыть следует (Turbo C, например)