Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Как подключить Grаph

Автор: alecsandr 1.12.2009 16:02

У меня стоит windous7 , и я немогу подключить Grаph в turboPАSCАL. Что можно сделать или какая другая версия паскаля есть?

Автор: volvo 1.12.2009 16:07

http://freepascal.org/download.var

Автор: BOGGAD 6.12.2009 20:38

У меня Windows XP не могу подключить Graph. Пишет что файл GRAPH.TPU НЕ НАЙДЕН

Автор: volvo 6.12.2009 20:50

Цитата
Пишет что файл GRAPH.TPU НЕ НАЙДЕН
А он есть в той папке, где лежит EXE-шник твоей программы? А нужный тебе файл BGI там есть (EGAVGA.BGI)?

Автор: BOGGAD 6.12.2009 20:57

А он што, должен быть в одной папке с екзэшником?

Автор: Unconnected 7.12.2009 2:49

Должен лежать там, откуда он берется в коде программы.

Автор: Buffonchik 10.11.2010 0:12

у мня та же проблема пишет что не найден граф, хотя он там есть(

Добавлено через 10 мин.
GRAPH.TPU НЕ НАЙДЕН
он там есть( у мня винда хр сп2 должен работать(((

Автор: Client 10.11.2010 0:38

а путь к нему правильно указываешь?

Автор: volvo 10.11.2010 0:40

Цитата
он там есть(
Там, там... ГДЕ там?

Автор: Buffonchik 11.11.2010 23:17

путь указываю правильно)

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

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

Автор: TarasBer 12.11.2010 14:44

> качество галимое

А какое ты ещё ждал от 640х480?

Автор: Евгений 24.01.2011 9:53

Незнаю в какую тему писать . необессудьте.
Решил с графикой поиграться на 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 24.01.2011 14:32

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

Попробовал запустить твою программу - при любых значениях радиуса окружность отображается нормально. Даже не знаю, с чем такое может быть связано. Попробуй использовать, например, WinGraph ( вот тут я выкладывал: http://forum.pascal.net.ru/index.php?s=&showtopic=27353&view=findpost&p=151866 ), что получится?

Вот так, например:
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.

Автор: Евгений 25.01.2011 3:39

Цитата
Чего ж "полбеды" - это счастье, а не полбеды. Тебе надо чтоб было 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- 25.01.2011 5:51

Цитата
Судя по прочитанному в FAQ, ожидалось именно 640*480
FAQ бал написан для урбо Паскаля, FPC работает по-другому.

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

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

Автор: Евгений 25.01.2011 6:04

Цитата
По какому вопросу?

Да для начала любую по FPC(желатально на русском), но имелось ввиду по графике на FPC. Видимо я невнятно вопрос задал, извиняйте.

Автор: Lapp 25.01.2011 6:36

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

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

Автор: Евгений 25.01.2011 7:06

Цитата
Евгений, нет "графики FPC".

Да я понимаю. Информация по работе с графикой при использовании FPC-вот что меня интересует. Надеюсь теперь я никого в заблуждение не введу?
Цитата
Так что в принципе можешь использовать книжку по TP, если не что-то специальное.
Ничего специального я делать пока не собираюсь, а информации в тех учебниках по ТР , что мне попадались, в этом вопросе тоже не ахти.

Автор: volvo 25.01.2011 16:20

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

Книга может быть о Турбо-Паскале, о Турбо-С (там тот же BGI используется), какую найдешь...

Цитата
а информации в тех учебниках по ТР , что мне попадались, в этом вопросе тоже не ахти.
Ну, это смотря что считать "ахти". Мне в свое время книжки "Д.Б.Поляков, И.Ю.Круглов: Программирование в среде ТП (версия 5.5)" хватило, чтобы начать использовать модуль Graph.

Автор: Евгений 26.01.2011 0:05

Цитата
написана какая-то книжка об FPC, но автор - жмот, даже не показал о чем книга
Случайно не эта?
Ю.Л.Кетков, А.Ю.Кетков. Свободное программное обеспечение. Free Pascal для студентов и школьников. Издательство БХВ.

Автор: volvo 26.01.2011 0:42

Ага, эта. Уже выложили, значит, содержание. Ну, тогда я бы тем более не рекомендовал эту книгу (по крайней мере для той цели, для которой тебе нужна литература). В 30 страниц уместить всю 15 главу, "Графические средства языка FPC"? Не-не... Что-то не так...

Автор: Евгений 26.01.2011 1:15

Ну что ж тогда будем по ТР литературу читать(другую, что есть у меня), в любом случае спасибо.