Помощь - Поиск - Пользователи - Календарь
Полная версия: Как подключить Grаph
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
alecsandr
У меня стоит windous7 , и я немогу подключить Grаph в turboPАSCАL. Что можно сделать или какая другая версия паскаля есть?
volvo
Free Pascal (он же FPC)
BOGGAD
У меня Windows XP не могу подключить Graph. Пишет что файл GRAPH.TPU НЕ НАЙДЕН
volvo
Цитата
Пишет что файл GRAPH.TPU НЕ НАЙДЕН
А он есть в той папке, где лежит EXE-шник твоей программы? А нужный тебе файл BGI там есть (EGAVGA.BGI)?
BOGGAD
А он што, должен быть в одной папке с екзэшником?
Unconnected
Должен лежать там, откуда он берется в коде программы.
Buffonchik
у мня та же проблема пишет что не найден граф, хотя он там есть(

Добавлено через 10 мин.
GRAPH.TPU НЕ НАЙДЕН
он там есть( у мня винда хр сп2 должен работать(((
Client
а путь к нему правильно указываешь?
volvo
Цитата
он там есть(
Там, там... ГДЕ там?
Buffonchik
путь указываю правильно)

в той папке где файл TURBO.EXE)

теперь заработало) я в свойствах turbo.exe поставил совместимость 256 цветов, размер
экрана 640х480, качество галимое зато РАБОТАЕТ!!)))
TarasBer
> качество галимое

А какое ты ещё ждал от 640х480?
Евгений
Незнаю в какую тему писать . необессудьте.
Решил с графикой поиграться на FPC , не найдя для него понятной для меня литературы, делал как для ТР7,
Цитата
инициализируем графический режим: InitGraph(gd, gm, ’указывается путь к драйверу (пусть будет пустым)’)

В итоге графический режим открывается на все мои 1280*800, но это еще пол беды, когда я попробовал круг в программе сделать пошире, увеличив радиус, он стал отображаться вот так:Нажмите для просмотра прикрепленного файла
при меньшем радиусе отображается нормально.
Вопрос: что я не правильно делаю?
Вот код:
program ggg;
USES
Graph,crt;
VAR gd,gm: Integer;
BEGIN
ReadLn;
gd:=detect;
InitGraph(gd,gm,'');
rectangle(320,200,960,660);
line(640,800,640,1);
line(1,400,1280,400);
circle(640,400,135);
ReadLn;
CloseGraph;
ReadLn
END.

P.S: Если это имеет значение ОС Vista.
volvo
Цитата
В итоге графический режим открывается на все мои 1280*800, но это еще пол беды
Чего ж "полбеды" - это счастье, а не полбеды. Тебе надо чтоб было 640*480?

Попробовал запустить твою программу - при любых значениях радиуса окружность отображается нормально. Даже не знаю, с чем такое может быть связано. Попробуй использовать, например, WinGraph ( вот тут я выкладывал: Игра Лабиринт ), что получится?

Вот так, например:
uses
WinGraph, Crt;
var
gd, gm : Integer;
begin
ReadLn;
gd := NoPalette;
gm := m800x600;
InitGraph (gd, gm, 'Test');
Rectangle (100, 100, GetMaxX - 100, GetMaxY - 100);
Line (1, GetMaxY div 2, GetMaxX - 1, GetMaxY div 2);
Line (GetMaxX div 2, 1, GetMaxX div 2, GetMaxY - 1);
Circle (GetMaxX div 2, GetMaxY div 2, 190);
ReadLn;
CloseGraph;
ReadLn
end.
Евгений
Цитата
Чего ж "полбеды" - это счастье, а не полбеды. Тебе надо чтоб было 640*480?

Счастье все таки получить, то что ожидаешь..
Судя по прочитанному в FAQ, ожидалось именно 640*480
Цитата(Altair @ 28.01.2005 23:16) *

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

{Программа инициализирует  граф. режим и ждет нажатия клавиши.
код для TP7, BP7, BPW, FPC}
Uses
Graph,
Crt;
Var
gd,gm:integer;
Begin
gd:=detect;
InitGraph(gd,gm,'');
readkey
end.

Инициализируется режим 16 цветов, разрешением 640x480.

Ну да бог с ним, может я чего не правильно понял. Читая книгу по ТР7 нашел следующее:
Цитата
Если тип адаптера ПК неизвестен или если программа рассчитана на работу с любым адаптером, используется обращение к процедуре с требованием автоматического определения типа драйвера: Driver := Detect; InitGraph(Driver, Mode, 'C:\TP\BGI'); После такого обращения устанавливается графический режим работы экрана, а при выходе из процедуры переменные Driver и Mode содержат целочисленные значения, определяющие тип драйвера и режим его работы. При этом для адаптеров, способных работать в нескольких режимах, выбирается старший режим, т.е. тот, что закодирован максимальной цифрой.

Теперь в вопросе о моем разрешении, все вроде встает на свои места. Только не понятно, как его изменить так как мне нужно. Может я впереди лошади бегу? smile.gif
Кстати . а литературу по FPC по этому вопросу не подскажете?
volvo вашу программу запустил, отображается нормально, попробую, еще с размерами поэксперементировать. Модуль WinGraph в каждую папку с исходниками нужно копировать? Я правильно понял?
-Volvo-
Цитата
Судя по прочитанному в FAQ, ожидалось именно 640*480
FAQ бал написан для урбо Паскаля, FPC работает по-другому.

Цитата
Модуль WinGraph в каждую папку с исходниками нужно копировать? Я правильно понял?
Я сделал проще: создал папку \FPC\2.4.2\wingraph, туда положил wingraph.pas, потом запустил FPC, зашел в Options->Directories, и дописал в самом низу полный путь к этой папке.

Цитата
Кстати . а литературу по FPC по этому вопросу не подскажете?
По какому вопросу? Разрешений экрана? При чем тут FPC? Этим занимается библиотека (в данном случае - Graph или WinGraph) Вот и смотри исходники библиотеки. Кстати, в wingraph.pas начиная с 55 строки перечислены все поддерживаемые расширения.
Евгений
Цитата
По какому вопросу?

Да для начала любую по FPC(желатально на русском), но имелось ввиду по графике на FPC. Видимо я невнятно вопрос задал, извиняйте.
Lapp
Цитата(Евгений @ 25.01.2011 2:04) *
Да для начала любую по FPC(желатально на русском), но имелось ввиду по графике на FPC. Видимо я невнятно вопрос задал, извиняйте.
Евгений, нет "графики FPC". Вся графика делается библиотеками (unit'ами). В дистрибутиве FP есть модуль Graph, который вполне аналогичен одноименному в TP. Различий не много (например, разрешения побольше). Модуль WinGraph в целом тоже аналогичен (впрочем, тут могу ошибаться, надо бы посмотреть поближе), только работает в окне. Так что в принципе можешь использовать книжку по TP, если не что-то специальное.

На всякий случай, упомяну одно различие в Graph TP и FP. В FP вызов InitGraph создает отдельное окно, в котором осуществляется весь графический вывод. Взаимодействие же с клавиатурой (как обычное, так и CRT) остается в главном окне проги. Так что управлять картинкой (граф-меню или движение объектов) становится затруднительно. Рекомендуется при работе с Graph в FP вместо CRT использовать модуль WinCRT - тогда клавиатурный ввод будет переключен на графическое окно.
Евгений
Цитата
Евгений, нет "графики FPC".

Да я понимаю. Информация по работе с графикой при использовании FPC-вот что меня интересует. Надеюсь теперь я никого в заблуждение не введу?
Цитата
Так что в принципе можешь использовать книжку по TP, если не что-то специальное.
Ничего специального я делать пока не собираюсь, а информации в тех учебниках по ТР , что мне попадались, в этом вопросе тоже не ахти.
volvo
Нет никаких особенных книг по работе с графикой в FPC (по FreePascal-ю вообще еще нет книг. Недавно где-то мелькало объявление, что написана какая-то книжка об FPC, но автор - жмот, даже не показал о чем книга /мол, покупайте и читайте/, а покупать кота в мешке - это сейчас не проходит. Пускай сам сидит и перечитывает свою писанину). Бери любую книгу, в которой описывается работа с BGI (графическим интерфейсом Борланда), и пиши программу. В крайнем случае понадобится небольшая шлифовка (иногда не совсем корректно отрабатывают некоторые процедуры, т.е., под TP работает нормально, а под FPC - остаются артефакты на экране).

Книга может быть о Турбо-Паскале, о Турбо-С (там тот же BGI используется), какую найдешь...
Цитата
а информации в тех учебниках по ТР , что мне попадались, в этом вопросе тоже не ахти.
Ну, это смотря что считать "ахти". Мне в свое время книжки "Д.Б.Поляков, И.Ю.Круглов: Программирование в среде ТП (версия 5.5)" хватило, чтобы начать использовать модуль Graph.
Евгений
Цитата
написана какая-то книжка об FPC, но автор - жмот, даже не показал о чем книга
Случайно не эта?
Ю.Л.Кетков, А.Ю.Кетков. Свободное программное обеспечение. Free Pascal для студентов и школьников. Издательство БХВ.
volvo
Ага, эта. Уже выложили, значит, содержание. Ну, тогда я бы тем более не рекомендовал эту книгу (по крайней мере для той цели, для которой тебе нужна литература). В 30 страниц уместить всю 15 главу, "Графические средства языка FPC"? Не-не... Что-то не так...
Евгений
Ну что ж тогда будем по ТР литературу читать(другую, что есть у меня), в любом случае спасибо.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.