Я пытаюсь подключить модуль graph но выдает ошибку: graphics not initializated (use INITgraph)
BGI файл лежит в той же директории, где и EXE?
Нет, в смысле EGAVGA.BGI ...
все разобрался нада было в директориях написать ссылки
Запусти Паскаль, в меню Options -> Directories в поле Unit Directories пропиши путь к файлу GRAPH.TPU (если там уже что-то есть - добавь еще один путь через точку с запятой)...
Всё равно ничего не выходит... В Unit Directories прописал следующее: "d:\programs\TP 7.1\BIN\Graph.TPU" - всё равно не робит. Пробовал убирать последний слеш ('GRAPH.TPU'), тоже не прокатывает. Но дело не только в этом, если я пограмму переношу туда, где она должна по дефолту сохранятся (папка BIN), то она всё равно не работает. Вот её код, может найдёшь ошибку? Если нужна информация о видяхе, то у меня она называется Radeon 9600SE.
Program Exampl_8;
Uses Graph;
Var
Gd,Gm:integer;
Begin
Gd:=VGA;
Gm:=VGAhi;
InitGraph(Gd,Gm,'d:\programs\TP 7.1\BGI\EGAVGA.BGI');
If GraphResult=grOK Then
begin
line(0,0,639,479);
readln;
CloseGraph;
end
Else
writeln('It,s not work!!!');
readln;
End.
А то, что TP это DOS-программа, и не позволяет пробелов в путях, ты не подумал? Ты должен записать путь в формате DOS (8.3 - 8 символов на имя + 3 на расширение)...
И не надо прописывать АДРЕС ФАЙЛА. Сказано было - ПУТЬ к файлу, имя файла не должно участвовать! У тебя же нет директории
d:\programs\TP 7.1\BIN\Graph.TPU\
Я графику так инициировал
d:\programs\TP 7.1\BIN\ - так надо писать? Значит в TP 7.1 - не должно быть пробела? Так? Если да, то всё равно не работает. Я в папку BIN (где все модули хранятся) скопировал EVAVGA.BGI с самой прогой и убрал дирректории, после этого всё равно ничего не работает. Значит дело не в дирректориях, а в самом невосприятии паскалем графического режима на моей видяхе. Правильно я рассуждаю или нет? Кстати, Морфей, у нас с тобой практически полностью идентичные программы, не заметил?
Во-первых, с каких это пор в папке BIN хранятся не EXE-шники, а модули? Для чего папка UNITS тогда? Что за дистрибутив у тебя? Все в одну папку запихал, что-ли?
Это первое. Второе: ты программу прямо из Паскаля запускать пытался? А уверен, что директория \BIN для твоей программы является текущей? Ведь если ты "убрал директории" (я надеюсь, ты имел в виду что ты вызывал
InitGraph(Gd, Gm, '');
InitGraph(Gd, Gm, '');
InitGraph(Gd, Gm, '');Файл EGAVGA.BGI я как раз и скопировал в папку с программой и сама программ расположена в бине(то бишь в корневой). Windows Explorer - это проводник? Если да, то и через него открывал - не работает всё равно. Наверное, ты не учёл того, что у меня ТурбоПаскаль 7.1. Вот, кидаю архив этого паскаля со всеми примерами и работами.
Посмотрел что у тя там написано,
И сделал то что ты хотел по своему.
Я сделал процедуру для инициации графики
Вобщем посмотри сам.
Прикрепленные файлы
pak.rar ( 19.87 килобайт )
Кол-во скачиваний: 207
Спасибо!!! Что бы я без тебя делал. Блин, даже не думал, что с графикой могут быть такие напряги. Ещё вопрос: может это глюк, что у меня отображается 297 скачиваний моего паскаля? Как-то странно за 1 день столько раз...
Заметил одну неполадку: когда диагональ должна пересекать экран по диагонили, её низ едва достигает середины экрана по горизонтали, а по вертикали всё нормально. Координаты
line(0,0,639,479);Ты знаешь в чём проблема?
Делай наверняка ...
line(0, 0, GetMaxX, GetMaxY);
вспомнился еще один глюк ТП (и, скорее всего БП) - если у bgi-файла установлен атрибут read-only, то графика не инициализируется...
Проблема может быть в мониторе, у меня на работе широкий ТФТ монитор стоти
при работе в графике на паскале расширеие 640х3.. вобщем нижнюю часть не показывает
У меня ЭЛТ LG. Думаю, не из-за этого. klem4, сенкс, всё работает.