Помощь - Поиск - Пользователи - Календарь
Полная версия: BGI-файлы?
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Slim
Подскажите, пожалуйста что это за BGI-файлы, что они определяют и где их (его) взять (у меня но комп-ре ни одного файла с таким расширением).
(Это связано с модулем Graph.)
P@sh@
Borland Graphics Interface? что-то типа драйвера, который загружает InitGraph, чтобы работать с соответствующим графическим стандартом. Там прописан код по инициализации конкретного граф.режима и кажется рисование точки в этом режиме и что-то еще. Базовый драйвер - EGAVGA.BGI - для работы с режимами EGA и VGA - от 320х200 до 640х480 с 16-ю цветами. Есть новые драйвера - например SVGA256.BGI - те же разрешения, но в 8-битном цвете(256), но так как они не стандартные, их надо зарегистрировать перед инициализацией (RegisterBGIDriver или что-то подобное)
SKVOZNJAK
Где взять? Да хотя бы здесь http://stiratel7.narod.ru/1/susnjak.zip  :) Работают и в защищённом и в реальном режиме.
trminator
В дистрибутиве Паскаля должны быть. Чаще всего используется EGAVGA.BGI, весит 5 кило. Для работы с графикой нужно обзавестись GRAPH.TPU (33 кило). Если хочешь, намылю тебе.
Slim
Всем большое спасибо! smile.gif
Я нарыл себе пару архивов с BGI-файлами, распаковал их, указал путь  к ним, но пока ничего не получается sad.gif
Пробные файлы с модулем Graph компилируются, но при запуске оказывается, что есть ошибка - моя видеокарта не определяется.
Будет чем заняться этой ночью smile.gif
SKVOZNJAK
Попробуй для начала указать видеорежим попроще. Большая их часть вообще не требует видухи, достаточно одного видеоадаптера VGA
Slim
Да я при помощи какойто тестовой проги (на каком-то сайте нашел ее текст) протестировал.
Вроде поддерживается драйвер 9 (VGA) и графический режим 2 (640х480х16).
Но сейчас попробую че-нить попроще.
Slim
Попробовал!
В результате программы:
Код
USES GRAPH
VAR H,k,l: INTEGER;
BEGIN
     DetectGrahp(k,l);
     InitGraph(k,l,'d:tp7bgi');
     H:=GraphResult;
     If h=0 then write('OK') elseWrite('Error',h);
END.


пишет, что error 3 (я проситал, что это соответствует ошибке "не обнаружен файл с драйвером", хотя его адрес в команде InitGraph прописан (и что самое интересное, BGI-файлы в этой папке есть! smile.gif)
Что делать уже не знаю - наверное спать буду (главное чтоб режим 640х200х16 не приснился smile.gif
trminator
ля-ля-ля снимаем флаг read-only с egavga.bgi и пишем сюда результат. Я точно до сих пор не уверен, но мне помогало.
Slim
У меня наконец-то все получилось после того, как я определил путь именно к egavga.bgi (перед этим пробовал svga16.bgi) и снял флажок "только чтение" (за что отдельная благодарность trminatoru!) smile.gif smile.gif smile.gif smile.gif smile.gif smile.gif
Еще раз всем спасибо!!!!!
Altair
Как включать BGI файл в тело программы?
GLuk
Юзая утилиту binobj для преобразования и линкуя директивой {$L egavga.obj}.
E.G.: binobj egavga.bgi egavga.obj
Андрей
Кинь на e-mail файл     Graph.tpu, а то я свой удалил!!!!!!!!!!!!!!!!!
Altair
Внимание!
Если на BGI файле стоит атрибуты:
Только чтение или архивный, то произойдет ошибка!
Проверенно!
Ктот-нибудь знает почему так происходит?
Abricko
Цитата(GLuk @ 9.02.2004 6:35) *

Юзая утилиту binobj для преобразования и линкуя директивой {$L egavga.obj}.
E.G.: binobj egavga.bgi egavga.obj


А можно поподробнее, а то яне понял. у меня возникла проблема, что экзешник без egavga.bgi не пашет, выдает ошибку. Вот я и хотел бы включить его в тело программы. Дайде пожалуйста более распрстраненное объяснение. Буду крайне признателен.
volvo
Abricko, читай здесь:
FAQ: Директивы Компилятора (о директиве $L)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.