Jump to content

  • Log in with Facebook      Sign In   
  • Create Account

Photo

Проблема с С++


  • Please log in to reply
31 replies to this topic

#1 Дей-Лак Posted 19 April 2010 - 18:32 PM

Дей-Лак
  • Свои
  • 596 posts
  • Николай Яковлев
Очень надеюсь что кто-то сталкивался с подобной проблемой и смог ее решить. Суть такая: У меня стоит OS Windows Vista. На ней стоит С++(Borland). Так как Vista не поддерживает полноэкранный режим консоли я установил эмулятор DOSBox. Все прекрасно работает кроме графической библиотеки, причем как в обычной консоли, так и в эмуляторе. Все графические функции просто пропускаются. Вместо этого пишет: "BGI Error: Graphics not initialized (use 'initgraph')" Что нужно сделать чтоб заработало? Или просто надо установить другую OS? :( P.S. Надеюсь ясно обрисовал проблему.
Опубликованное фото
Конституцию прочесть должен ты.

#2 Generator Posted 19 April 2010 - 18:43 PM

Generator
  • Свои
  • 1713 posts
  • Василий Яблоков
О, древняя проблема, и поднималась она неоднократно. Увы, в Виндах, начиная с Висты, не поддерживается полноэкранный режим ДОСовских приложений... А графика соответственно тоже не работает, так как требует этого самого полноэкранного режима. Прогать в Досбоксе -- это вообще очень левая затея... Вывод -- ставь XP либо просто так, либо на виртуальную машину поверх Висты

Edited by Generator, 19 April 2010 - 18:43 PM.

С уважением, самый большой в мире самолет по версии Google.
Надо быть осторожным со стремлением к минус бесконечности. (ЮА)

#3 Дей-Лак Posted 19 April 2010 - 18:49 PM

Дей-Лак
  • Свои
  • 596 posts
  • Николай Яковлев
Спасибо, попробую. Но лучше бы чтоб как-то в висте. Хотя надо было сразу линукс ставить.

Edited by Дей-Лак, 19 April 2010 - 18:50 PM.

Опубликованное фото
Конституцию прочесть должен ты.

#4 Денис Posted 19 April 2010 - 19:02 PM

Денис
  • Genius loci
  • 6907 posts
  • Денис Сумин
Ставь линукс и разбирайся с ним потихоньку :-)

#5 Generator Posted 19 April 2010 - 19:07 PM

Generator
  • Свои
  • 1713 posts
  • Василий Яблоков
<_< Человек помочь просил, а ты так сразу...
С уважением, самый большой в мире самолет по версии Google.
Надо быть осторожным со стремлением к минус бесконечности. (ЮА)

#6 Дей-Лак Posted 19 April 2010 - 19:22 PM

Дей-Лак
  • Свои
  • 596 posts
  • Николай Яковлев
Бред, я сейчас поставил хп и на нем то же самое :wacko:
Опубликованное фото
Конституцию прочесть должен ты.

#7 koraalex Posted 19 April 2010 - 20:39 PM

koraalex
  • Свои
  • 1956 posts
  • Алексей Коробов
А что, М.К. требует Borland? Не пора ли его отправить в историю? И разве нет ему альтернативы для Виндов? Это такой возглас дилетанта, потому что сам я с этим не работаю. Кстати, Денис, не ответишь ли мне в другой теме насчёт линукс-среды для C++?

#8 hrulikus Posted 19 April 2010 - 21:21 PM

hrulikus

    Главный выпендрежник

  • Свои
  • 1348 posts
  • Егор, Хрулёв
М.К. поступает как раз таки правильно.
Человеку надо для начала научиться работать с основами и современные среды разработки тут вообще ни к чему.Они лишь будут набивать голову восьмиклассника лишь всякой фигней.там же такая масса параметров, что начинающему вообще нереально разобраться.


А если по теме: точно не помню, но мне казалось в Сях надо графику инициализировать.
там как раз какая-то функция была initgraph с двумя-тремя параметрами. За вторую, кажется, мы ставили пустые кавычки.

Проблема решается добавлением этмх строчек в начале программы:
int gDriver=DETECT,gMode;
	initgraph(&gDriver,&gMode,getenv("BGI"));

"Каждая мечта тебе дается вместе с силами, необходимыми для ее осуществления."
Р.Бах

#9 koraalex Posted 19 April 2010 - 21:33 PM

koraalex
  • Свои
  • 1956 posts
  • Алексей Коробов
Ну, я такого подхода не придерживаюсь, потому что есть несложные профессиональные среды, основанные на современных технологиях. Надо объяснить как пользоваться основными функциями и всё.

Edited by koraalex, 20 April 2010 - 9:52 AM.


#10 KiberGus Posted 20 April 2010 - 13:52 PM

KiberGus
  • Genius loci
  • 6561 posts
  • Алексей Гусейнов

Ну, я такого подхода не придерживаюсь, потому что есть несложные профессиональные среды, основанные на современных технологиях. Надо объяснить как пользоваться основными функциями и всё.

Им консоль нужна для начала, а в виндах это просто как-то не принято.
Зато, обладая единственной в мире подводной орбитальной группировкой спутников глонасс...
gentoo.gif

#11 Дей-Лак Posted 20 April 2010 - 15:58 PM

Дей-Лак
  • Свои
  • 596 posts
  • Николай Яковлев
Егор, про эти строчки я знаю (только gentenv вроде не обязательно,можно просто "BGI", но я попробовал все равно не работает)
Все, у меня не М.К. :( у меня Татьяна Леонидовна. На уроках мы в Borland'е, значит и дома в нем.
Может, если у кого-то стоит С++, скиньте мне ту самую папку BGI, может с ней что-то не так. Кстати не у меня одного в классе эта проблема.
Опубликованное фото
Конституцию прочесть должен ты.

#12 Syrano Posted 20 April 2010 - 16:02 PM

Syrano
  • Свои
  • 9636 posts
  • Владимир Зайцев

Егор, про эти строчки я знаю (только gentenv вроде не обязательно,можно просто "BGI", но я попробовал все равно не работает)
Все, у меня не М.К. :( у меня Татьяна Леонидовна. На уроках мы в Borland'е, значит и дома в нем.
Может, если у кого-то стоит С++, скиньте мне ту самую папку BGI, может с ней что-то не так. Кстати не у меня одного в классе эта проблема.

Это проблема системная. Мне кажется, правильнее всего спросить решения именно у преподавателя.

С нами сила Алхазашвили!


#13 Дей-Лак Posted 20 April 2010 - 16:11 PM

Дей-Лак
  • Свои
  • 596 posts
  • Николай Яковлев
Володя, я спрашивал у М.К., она сказала мне что то вроде: "Я не сисадмин, и я не знаю" :) Ну правда в 202'ю я не ходил.
Опубликованное фото
Конституцию прочесть должен ты.

#14 гык-sse2 Posted 20 April 2010 - 16:15 PM

гык-sse2
  • Свои
  • 377 posts
  • Михаил Беляев

Прогать в Досбоксе -- это вообще очень левая затея...

Я прогаю под досбоксом (правда, уже в основном на асме). Под Mac OS X. А программу про маины (графическую) на VC++2K5(Windows Forms) перенес. (под VMWare)
Медведь громит каны!

#15 Syrano Posted 20 April 2010 - 16:15 PM

Syrano
  • Свои
  • 9636 posts
  • Владимир Зайцев

Володя, я спрашивал у М.К., она сказала мне что то вроде: "Я не сисадмин, и я не знаю" :) Ну правда в 202'ю я не ходил.

А Татьяна Леонидовна? В конце концов, если это массовая проблема, то надо сообща ее решать :-)

С нами сила Алхазашвили!


#16 Дей-Лак Posted 20 April 2010 - 16:42 PM

Дей-Лак
  • Свои
  • 596 posts
  • Николай Яковлев

А программу про маины (графическую) на VC++2K5(Windows Forms) перенес. (под VMWare)

Я из этого, честно говоря, ничего не понял:)
Опубликованное фото
Конституцию прочесть должен ты.

#17 гык-sse2 Posted 15 May 2010 - 10:02 AM

гык-sse2
  • Свои
  • 377 posts
  • Михаил Беляев
Не маины, а машины=)
VC++2005 - Visual C++ 2005 .NET, входит в состав Microsoft Visual Studio, установлена под Windows XP, а она - на виртуальной машине VMWAreVirtualBoxуже опять VMWare Fusion в Mac OS X

Edited by гык-sse2, 20 October 2010 - 15:54 PM.

Медведь громит каны!

#18 Дей-Лак Posted 29 August 2010 - 21:26 PM

Дей-Лак
  • Свои
  • 596 posts
  • Николай Яковлев
Если кому то интересно то проблема все же решилась. Причем и на XP и на Vista. Правда это все равно только для DosBox, но работает. Вместо initgraph(&gd,&gm,"BGI") надо писать initgraph(&gd,&gm,"..//BGI") Зачем я не знаю. Так написано в папке examples :) Работает.
Опубликованное фото
Конституцию прочесть должен ты.

#19 гык-sse2 Posted 30 August 2010 - 4:51 AM

гык-sse2
  • Свои
  • 377 posts
  • Михаил Беляев

Если кому то интересно то проблема все же решилась. Причем и на XP и на Vista. Правда это все равно только для DosBox, но работает.
Вместо initgraph(&gd,&gm,"BGI") надо писать initgraph(&gd,&gm,"..//BGI")
Зачем я не знаю. Так написано в папке examples :) Работает.

На XP-то зачем досбокс?
А initgraph(&gd,&gm,"") не работает?


Вообще, я уже переписал graphics.h на OpenGL (т.е. мы пишем все как в борланде, только инитграф другой - initgraph(int windowWidth, int windowHeight), т.к. мы сами задаем размер окна.
Начал переписывать клавиатурные ф-ции - написал bioskey (обрабатывает 1 и 0, 2 игнорирует), а вот дальше - какой-нибудь getch или gets уже не получается. На Windows Forms это было бы так:
[code=auto:0]
char getch()
{while(!bioskey(1)) Application::DoEvents();
return bioskey(0);
}
Что на GLUT вместо DoEvents написать? Иначе программа виснет - цикл не дает выполниться handleKeyPress(unsigned char, int, int)

Да, и пока это только под Mac OS X (шаблон программы). Для Windows нужно еще какие-то windows.h, hDC, pDC...

Edited by iMichael, 30 August 2010 - 4:53 AM.

Медведь громит каны!

#20 KiberGus Posted 30 August 2010 - 5:40 AM

KiberGus
  • Genius loci
  • 6561 posts
  • Алексей Гусейнов
На glut нет аналога DoEvents т.к. ты пишешь колбеки, а не основной цикл. Попробуй вместо glut использовать SDL, мне он намного больше понравился. Абсолютно одинаково инициализируется подо всеми платформами и главный цикл пишешь ты. А SDL предоставлет функции для проверок событий.
Зато, обладая единственной в мире подводной орбитальной группировкой спутников глонасс...
gentoo.gif




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users