Помогите с инициализацией графики |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Помогите с инициализацией графики |
LOSOS |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Lamer Репутация: 0 |
Я пытаюсь подключить модуль graph но выдает ошибку: graphics not initializated (use INITgraph)
|
volvo |
Сообщение
#2
|
Гость |
BGI файл лежит в той же директории, где и EXE?
|
LOSOS |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Lamer Репутация: 0 |
|
volvo |
Сообщение
#4
|
Гость |
Нет, в смысле EGAVGA.BGI ...
|
LOSOS |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Lamer Репутация: 0 |
|
LOSOS |
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Lamer Репутация: 0 |
все разобрался нада было в директориях написать ссылки
|
MeatCrash |
Сообщение
#7
|
Пионер Группа: Пользователи Сообщений: 56 Пол: Мужской Реальное имя: Александр Репутация: 0 |
|
volvo |
Сообщение
#8
|
Гость |
Запусти Паскаль, в меню Options -> Directories в поле Unit Directories пропиши путь к файлу GRAPH.TPU (если там уже что-то есть - добавь еще один путь через точку с запятой)...
|
MeatCrash |
Сообщение
#9
|
Пионер Группа: Пользователи Сообщений: 56 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Всё равно ничего не выходит... В Unit Directories прописал следующее: "d:\programs\TP 7.1\BIN\Graph.TPU" - всё равно не робит. Пробовал убирать последний слеш ('GRAPH.TPU'), тоже не прокатывает. Но дело не только в этом, если я пограмму переношу туда, где она должна по дефолту сохранятся (папка BIN), то она всё равно не работает. Вот её код, может найдёшь ошибку? Если нужна информация о видяхе, то у меня она называется Radeon 9600SE.
Program Exampl_8; |
volvo |
Сообщение
#10
|
Гость |
А то, что TP это DOS-программа, и не позволяет пробелов в путях, ты не подумал? Ты должен записать путь в формате DOS (8.3 - 8 символов на имя + 3 на расширение)...
И не надо прописывать АДРЕС ФАЙЛА. Сказано было - ПУТЬ к файлу, имя файла не должно участвовать! У тебя же нет директории d:\programs\TP 7.1\BIN\Graph.TPU\ |
Morfey85 |
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: 0 |
Я графику так инициировал
Код Procedure InitGr; var GrDr,GrMode,ErrorCode:Integer; begin {InitGr} GrDr:=Detect; InitGraph(GrDr, GrMode, ''); ErrorCode := GraphResult; if ErrorCode <> grOk then begin Writeln('Graphics error: ', GraphErrorMsg(ErrorCode)); Readln; Halt(1); end; end; {InitGr} и все работало хорошо А файл EGAVGA.BGI у меня лежит скопированый в папке с прогой. Сообщение отредактировано: Morfey85 - |
MeatCrash |
Сообщение
#12
|
Пионер Группа: Пользователи Сообщений: 56 Пол: Мужской Реальное имя: Александр Репутация: 0 |
d:\programs\TP 7.1\BIN\ - так надо писать? Значит в TP 7.1 - не должно быть пробела? Так? Если да, то всё равно не работает. Я в папку BIN (где все модули хранятся) скопировал EVAVGA.BGI с самой прогой и убрал дирректории, после этого всё равно ничего не работает. Значит дело не в дирректориях, а в самом невосприятии паскалем графического режима на моей видяхе. Правильно я рассуждаю или нет? Кстати, Морфей, у нас с тобой практически полностью идентичные программы, не заметил?
|
volvo |
Сообщение
#13
|
Гость |
Во-первых, с каких это пор в папке BIN хранятся не EXE-шники, а модули? Для чего папка UNITS тогда? Что за дистрибутив у тебя? Все в одну папку запихал, что-ли?
Это первое. Второе: ты программу прямо из Паскаля запускать пытался? А уверен, что директория \BIN для твоей программы является текущей? Ведь если ты "убрал директории" (я надеюсь, ты имел в виду что ты вызывал InitGraph(Gd, Gm, ''); ), то программа ищет EGAVGA.BGI только в текущей директории! А какая у тебя текущая? Попробуй скопировать программу и EGAVGA.BGI в одну папку и запустить программу из Windows Explorer-а или Far-а, но не из IDE Паскаля. |
MeatCrash |
Сообщение
#14
|
Пионер Группа: Пользователи Сообщений: 56 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Во-первых, с каких это пор в папке BIN хранятся не EXE-шники, а модули? Для чего папка UNITS тогда? Что за дистрибутив у тебя? Все в одну папку запихал, что-ли? Это первое. Второе: ты программу прямо из Паскаля запускать пытался? А уверен, что директория \BIN для твоей программы является текущей? Ведь если ты "убрал директории" (я надеюсь, ты имел в виду что ты вызывал InitGraph(Gd, Gm, ''); ), то программа ищет EGAVGA.BGI только в текущей директории! А какая у тебя текущая? Попробуй скопировать программу и EGAVGA.BGI в одну папку и запустить программу из Windows Explorer-а или Far-а, но не из IDE Паскаля. Я всё так и сделал: InitGraph(Gd, Gm, '');Файл EGAVGA.BGI я как раз и скопировал в папку с программой и сама программ расположена в бине(то бишь в корневой). Windows Explorer - это проводник? Если да, то и через него открывал - не работает всё равно. Наверное, ты не учёл того, что у меня ТурбоПаскаль 7.1. Вот, кидаю архив этого паскаля со всеми примерами и работами. Прикрепленные файлы TP_7.1.rar ( 1.52 мегабайт ) Кол-во скачиваний: 471 |
Morfey85 |
Сообщение
#15
|
Новичок Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: 0 |
Посмотрел что у тя там написано,
И сделал то что ты хотел по своему. Я сделал процедуру для инициации графики Вобщем посмотри сам. Прикрепленные файлы pak.rar ( 19.87 килобайт ) Кол-во скачиваний: 203 |
MeatCrash |
Сообщение
#16
|
Пионер Группа: Пользователи Сообщений: 56 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Спасибо!!! Что бы я без тебя делал. Блин, даже не думал, что с графикой могут быть такие напряги. Ещё вопрос: может это глюк, что у меня отображается 297 скачиваний моего паскаля? Как-то странно за 1 день столько раз...
|
MeatCrash |
Сообщение
#17
|
Пионер Группа: Пользователи Сообщений: 56 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Заметил одну неполадку: когда диагональ должна пересекать экран по диагонили, её низ едва достигает середины экрана по горизонтали, а по вертикали всё нормально. Координаты
line(0,0,639,479);Ты знаешь в чём проблема? |
klem4 |
Сообщение
#18
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Делай наверняка ...
line(0, 0, GetMaxX, GetMaxY); -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
GoodWind |
Сообщение
#19
|
Автооответчик Группа: Пользователи Сообщений: 1 188 Пол: Мужской Реальное имя: Александр Репутация: 16 |
вспомнился еще один глюк ТП (и, скорее всего БП) - если у bgi-файла установлен атрибут read-only, то графика не инициализируется...
-------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
Morfey85 |
Сообщение
#20
|
Новичок Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: 0 |
Проблема может быть в мониторе, у меня на работе широкий ТФТ монитор стоти
при работе в графике на паскале расширеие 640х3.. вобщем нижнюю часть не показывает |
Текстовая версия | 28.03.2024 17:44 |