Всем доброго времени суток =)
В универе поставили задачу построить гистограмму.. опыт работы с графикой имелсяно под ДОСв турбо среде C.
Аналогично подключаю интерфейсный файл #include<graphics.h>
он выдает ошибку
Compiling KORL.CPP:
Fatal ..\..\INCLUDE\GRAPHICS.H 19: Error directive: BGI graphics not supported under Windows
путь к драйверу вроде прописал #define WAY "D:\BC45\BGI"
но все равно работать не хочет..
Заранее всем спасибо)
27 марта 2010 в 21:03
Про объекты formя к слову сказал..
Короче надо выкинуть "каменный топор" и забить на графику. Но все равно всем спасибо)
27 марта 2010 в 18:00
#12 Ответа на мой вопрос не вижу. Вы предполагаете топикстартеру реализовать собственный BGI, который будет таки работать в среде Windows? Но это не ответ, т.к. в этом случае ему всёравно придётся GDI программировать.
P.S. Поинт про функционал тут совсем не к месту (также, как и рассуждения о преподавателе). Или поясните, к чему эта вода?
27 марта 2010 в 18:00
#13 Ещё раз – задача стоит сделать графику под Windows. Следовательно, стандартные BGI никак не применимы. Следовательно, ваши с Дмитрием рассуждения не пойми к чему. Учебная задача или нет – какая, нафиг, разница? Windows – и точка, всё, BGI не заюзать =))
P.S. По поводу объектов Form я и не говорил ничего. Вы бы хоть в гугл вбили приведённые мной аббревиатуры =))) Я же здесь не буду разжёвывать, правильно?
26 марта 2010 в 13:03
Константин Смотритель,
>>> Егор, мне очень любопытно, что может быть непонятного в сообщении "BGI graphics not supported under Windows"?
Ну да согласен ступил.. англ яз не знаю, а в словарь заглянул поздно..=)
А на счет каменного топора скажу, что Дмитрий Уповаловсовершенно прав, все так и есть задача учебная (только надо не потренироваться работать с графикой, а построить гистограмму плотности абсолютных частот, ну это не так уж и важно).
И писать нужно конкретноBorland C++ 4.5, там нет никаких объектов Form.. и структура класса окна прописываеся вручную полность..
к #10
>>1. Удосоверься, что в настройках среды включён графический режим
Выключен – [ ] Graphics library
Включен – [X] Graphics library
я не смог найти эти настройки((
а все остальное , т.е.
2. Убедись, что путь к драйверу правильный, и в папке реально лежит видедрайвер.
Например #define PATHTODRIVER "c:\\borland\\bgi\\"
прописано правильно и он выдает ошибку написанную выше..)
26 марта 2010 в 10:04
Константин, продукты борланд вообще поражают меня своей функциональностью. Чего только стоит поддержка библиотек c нестандартными функциями типа clrscr, background и т.п. унаследованные от такого великого детища борланда, какturbo pascal.
Однако, вопреки логике, именно такие продукты (борландовские) часто используются для обучения школьников/студентов. Покрайней мере 80% программ, которые мне заказывают, приходится писать под компилятор BCC 5.5. Родными средствами разработки я не пользуюсь, пишу в VS или блокноте а компилю BCC-шним компилятором.
>> Как Вы себе это представляете? ->
С BGI графикой в борланде не работал. Но представляю, что выглядит это примерно так же ужасно как и в TurboPascal (Graph.tpu). Чёрный экран на весь монитор с резолюшеном 640*480 и возможность рисовать на нём 16-ю цветами в простейшем случае.
Зачем её подключать? Я подозреваю, что программа учебная и её нужно сдавать. А преподаватель скорее всего будет проверять знание возможностей BC++ 4.5, включаю работу с графикой. Если бы этого не требовалось, то преподаватель скорее всего объяснил, какими средставми, помимо стандартных, можно пользоваться при выполнении работы (В частности GDI)
VCL появился уже в Builder'e, о возможности подключения VCL к BC++ 4.5 я не знаю.
26 марта 2010 в 8:05
Дмитрий (и, кстати, #3 =), вопрос стоит включить её в Windows. Как Вы себе это представляете? О_о
26 марта 2010 в 8:04
Я извиняюсь. Не обратил внимания на версию борланда в топике. 4.5. это ещё не совсем билдер =)) Это так сказать предбилдер. Я думал ресь идёт о досовском Borland C 3.0
На самом деле в этой версии (4.5) можно подключить графику BGI (graphics.h):
1. Удосоверься, что в настройках среды включён графический режим
Выключен – [ ] Graphics library
Включен – [X] Graphics library
2. Убедись, что путь к драйверу правильный, и в папке реально лежит видедрайвер.
Например #define PATHTODRIVER "c:\\borland\\bgi\\"
Если не поможет, напиши, попробуем другие варианты.
26 марта 2010 в 8:03
Егор, мне очень любопытно, что может быть непонятного в сообщении "BGI graphics not supported under Windows"?
По сабжу – как справедливо заметили выше используй канву (если там есть VCL) или GDI (он-то есть в любом случае =) – подробности см. гугл, это очень обширная тема. Учитвая, что это С++ (32-х битный?) – можно заюзать даже GDI+ без особых сложностей.
Повторяю – тема эта очень обширная и на её изучение уйдёт много часов, достань самоучитель. Здесь тебе развёрнуто на этот вопрос никто не ответит, т.к. объём необходимых знаний (неважно – VCL, GDI или GDI+) гораздо больше объёма graphics.h
P.S. А илья допускает серьёзные ошибки, так что лучше не слушай его.
P.P.S. Всё-таки 4.5 это Буилдер? Тогда там можно заюзать не только VCL, но и среду проектирования – знаний особых не потребуется. Почитай какой-нить самоучитель по Буилдер или Делфи (язык непринципиален)
А вообще, странно в железном веке пользоваться аменным топором. Ты что, в клуб извращенцев каких-то входишь?
26 марта 2010 в 7:03
Мда… Илья Lev Ефимов просто ГУРУ программирования =))
Особенно порадовало "Так как с формы картинка может стереться!" =)) Чувствуется, что чувак глубоко познал программирование =))
Егор Десятов, если ты пишешь программу в Borland C 3 (версия под DOS), то про Canvas можешь забыть.
26 марта 2010 в 0:00
Короче, это такая штука под виндовз, которая работает примерно также как графика под дос! Отличие только на низком уровне. (Ну под досом для прорисовки используются либо функции BIOS либо напрямую вывод графики через видебуфер, под виндовз используются API… но это всё не важно)…
Обращение к канве: В методе какой нить кнопочки напиши код:
Form1->Canvas->MoveTo(10,10);
Form1->Canvas->LineTo(100,100);
У тебя прорисуется линия… точно также можно рисовать и другие геометрические фигуры, например прямоугольник:
Form1->Canvas->Rectangle(10,10,100,100);
Лучше всего разместить на форме компонент TImage и рисовать в нём! Так как с формы картинка может стереться!
Почитай книгу, например C++ трюки и эффекты
25 марта 2010 в 22:03
Да не могу я ничего ставить другого , мне прогу надо писать на борланде..)
а можно по подробнейпро канву? как на ней рисовать.. и вообще что это такое?)
25 марта 2010 в 10:01
И не будет работать!)) Под консольку графику не запустишь! Либо опять пересаживайся под ДОС на турбо С либо в борланде создавай проект с формой и на канве рисуй ! В принцыпе получится всё тоже самой, что графика под дос, что канва!
25 марта 2010 в 9:05
BGI graphics not supported under Windows
25 марта 2010 в 9:00
поставьте dosbox
25 марта 2010 в 8:03
BGI graphics not supported under Windows