I gave the location of bgi folder in my C drive as below:
initgraph(&gd,&gm,"C:\TurboC++\Disk\TurboC3\BGI");
The program compiles without any error but while running nothing appears…
When I press Alt+F5 I found this error. How to resolve this?
genpfault
50.5k10 gold badges85 silver badges136 bronze badges
asked Jul 16, 2013 at 17:45
1
I hope this helps:
Now, as we know the BGI folder is usually in the following path,
C:TurboC++diskTurboC3BGI
BGI is inside the folder «TurboC3» and NOT «TC».
So the code you need to put in your program is as follows,
initgraph(&gd, &gm, "C:\TurboC3\BGI");
answered Sep 9, 2013 at 11:15
ThejaTheja
2,4483 gold badges14 silver badges17 bronze badges
After declaring variable.
You have to write the following code in your program.
initgraph(&gd , &gm ,"C:\TurboC++\BGI");
Himanshu
4,30116 gold badges30 silver badges39 bronze badges
answered Oct 24, 2013 at 4:43
13 / 13 / 13 Регистрация: 20.06.2011 Сообщений: 82 |
|
1 |
|
08.10.2011, 18:18. Показов 6658. Ответов 3
При запуске программы с графикой пишет Bgi error :graphics not initialized(Use InitGraph)Пробовал пути к папке BGI менять,саму папку таскал всюду — не помогает(((
__________________
0 |
247 / 205 / 26 Регистрация: 03.02.2009 Сообщений: 785 |
|
09.10.2011, 06:45 |
2 |
Вообще-то это не ошибка Паскаля, а ваша ошибка!
1 |
ray_nixon 13 / 13 / 13 Регистрация: 20.06.2011 Сообщений: 82 |
||||
09.10.2011, 16:55 [ТС] |
3 |
|||
Он любую графическую программу не запускает но последнее что пытался запустить это вот эта
0 |
o-user 247 / 205 / 26 Регистрация: 03.02.2009 Сообщений: 785 |
||||||||
10.10.2011, 06:47 |
4 |
|||||||
1. Перепишите файл EGAVGA.BGI в папку с программой (в папку с файлом PAS). 2. На всякий случай исправьте строку:
на строку:
3. У меня все заработало (как только выполнил пункт 1).
1 |
necrocore
Есть специализированная программа для электротехнических задач, называется NRast.
Прога довольно старая, писалась ещё чуть ли не под Дос, является 16-битным приложением.
Соответственно, аналогов нету и новые программы использовать возможности нет.
Нужно подружить эту старую программу с win7 или с winxp
1. На winXP 32битной она нормально запускается. Проблема в следующем: печать из программы изображений не реализована. Так что печатаем методом принтскрина. Дело в том, что если сделать принтскрин из программы и вставить в пэйнт, например, то получим просто белый экран. Я так понимаю, что это проблема с наличием оверлея в программе. Есть идеи как эту проблему решить? Из-под досбокса принтскрин работает при этом нормально.
Реализовать это можно путём загрузки проги через Досбокс и печати. В этом случае NRast тормозит при расчётах, даже на максимальных циклах, выставленных в Досбоксе.
2. На win7 она вообще не запускается с ошибкой «This system does not support full screen mode».
При запуске через Досбокс возникает ошибка «BGI error: graphics not initialized (use initgraph)»
EGAVGA.bgi в наличии имеется, открыт на запись и чтение.
Запускается всё под администратором. Режимы совместимости с предыдущими виндами не помогли.
Есть у кого-нибудь идеи по данному вопросу?
Исходников NRast не имею и вряд ли смогу раздобыть.
П.С. есть идея устанавливать виртуальную вин98 и из-под неё уже всё делать. Это наверное выход, но проблема в том, что народ, который в офисе эту прогу использует слабо понимает в компьютерах что-то кроме этой программы.
П.П.С. За решение этой проблемы, готов предложить денежное вознаграждение. Можно в приват.
Dasar
На win7 она вообще не запускается с ошибкой «This system does not support full screen mode».
т.е. она запускается на полный экран?
а если ее запускать не на полный экран?
Serab
Судя по тому, что там нужны какие-то bgi, там графический режим
necrocore
http://www.mydigitallife.info/2007/06/27/workaround-to-this-…
спасибо, эту ссылку видел и читал.
остаётся всё равно проблема с оверлеями при печати (если это конечно оверлей).
Узнал, что прога писалась на Фортране, соответственно там точно графический режим VGA 640*480 стоит. Как его принтскринить?
Ну и в досбоксе под win7 по прежнему остаётся вышеописанная проблема с графикой
Dasar
остаётся всё равно проблема с оверлеями при печати (если это конечно оверлей).
поставь скриншотер, который умеет работать с оверлеями.
necrocore
windows xp mode не пробовал?
нет, не пробовал.
щас попробую.
мой ноут эту тему не поддерживает.
щас попробую на другом.
а что это, что-то типа виртуальной системы VmWare ?
juliuzz
а что это, что-то типа виртуальной системы VmWare ?
ага
микрософтовский VirtualPC
Ivan8209
> Узнал, что прога писалась на Фортране,
Вот это довольно-таки плохо вяжется с ранее заявленным
> «BGI error: graphics not initialized (use initgraph)»
А вот это:
> соответственно там точно графический режим VGA 640*480 стоит.
вообще non sequitur.
—
…Я работаю антинаучным аферистом…
yroslavasako
является 16-битным приложением.
для исполнения этого кода необходим ntvdm (nt virtual dos mashine) . В 64-битных системах его нет вообще, в семёрке тоже. Более того из соображений безопасности (дырка отрытая на протяжении 17 лет, которую MS не смог закрыть за полгода с момента багерпорта) ntvdm рекомендуется выключать. Для работы с dos приложениями лучше всего использовать полную эмуляцию программой dosbox
Ivan8209
> Для работы с dos
Надо будет попробовать запустить его в «доме.»
—
«NetBSD is JIHBED!»
necrocore
> Узнал, что прога писалась на Фортране,
Вот это довольно-таки плохо вяжется с ранее заявленным
> «BGI error: graphics not initialized (use initgraph)»
сорри, да, натупил. нехрен слушать всех подряд
писалась на Паскале, естественно.
necrocore
является 16-битным приложением.
для исполнения этого кода необходим ntvdm (nt virtual dos mashine) . В 64-битных системах его нет вообще, в семёрке тоже. Более того из соображений безопасности (дырка отрытая на протяжении 17 лет, которую MS не смог закрыть за полгода с момента багерпорта) ntvdm рекомендуется выключать. Для работы с dos приложениями лучше всего использовать полную эмуляцию программой dosbox
Ок, я его и использую. Ошибку выдаёт. В ХП её вроде не выдаёт.
А что за дырка? И насколько это опасно?
juliuzz
И насколько это опасно?
настолько опасно, что никто до сих пор не воспользовался
stm4836248
necrocore
Смог запустить на 32битной Win7 только путём установки старых ХПшных дров на видеокарту.
Проблема теперь в том, что скриншот сделать хз как.
Приложение полноэкранное, и не хочет сворачиваться. Тупо вылетает или виснит.
Похоже, варианта 2:
1. Ставить виртуальную ХП или 98ю винду.
2. Искать способ побороть ошибку в Досбоксе.
С ХПшными дровами на видео досбокс выдаёт всё ту же ошибку по поводу BGI….
yroslavasako
А что за дырка? И насколько это опасно?
возможность получить доступ к ring0. Для досового кода понятия ring не существует, но оно учитывается эмулятором (ntvdm). Проблема в том, что сабж написан MS с крайне низким радиусом кривизны, в нём есть возможность произвести jailbreak и выбраться за пределы эмулируемой машины, получив ring0 полномочия. Фактически, если пользователю даны права на запуск 16приложений, он всегда может получить рута
1. Ставить виртуальную ХП или 98ю винду.
Можно и так. Тогда отпадут проблемы с взятием скриншотов
necrocore
Поставил VMWare от Sun, установил ХП туда виртуальную.
Всё заработало, скриншоты естественно не проблема теперь.
Только возникла другая проблема — программа даже в полнооконном режиме работает с размером окна 640*480 и на весь экран растянуть её не получается.
Когда запускаю на хосте — она автоматически растягивается на полный экран.
Когда запускаю на ВМ — она занимает только часть экрана 640*480, а вокруг чёрные полосы. То есть ВМ не растягивает изображение на весь экран.
Кто-нить знает как можно с этим справиться?
Использование программы на весь экран принципиальный момент.
Maurog
Menu->View->Autofit не поможет?
dickofan
зайти на виртуалку по RDP?
stm4836248
VMWare — проприетарная хуйня, использование которой оправдано только если нужен х64 гест на х86 хосте. Если уж взялся за неё, то, наверное, тебе поможет установка «Guest additions» (или как-то по-другому — сейчас уже точно не помню). Там, в общем, в панели меню поройся — это где-то есть.
Потом на госте установится программка и, наверное, прога запустится на фулскрин.
necrocore
никакого эффекта.
VMTools обновил.
может надо как-то настроить монитор гостя специально?
но чё-то от настроек похоже ничего не меняется…
necrocore
ок, тогда посоветуй другую машину?
желательно, чтобы была максимально мощной, так как нужна хорошая производительность.
ппц я задолбался уже
Значит вот ещё что сделал — поставил в ВМ монитор разрешение 640 на 480.
Теперь в ВМ запускается окно на весь экран ВМ. Но на моём реальном мониторе выглядит это как мелкое окно в центре, окружённое чёрными полями.
То есть соответствие программы с фулскрином ВМ получилось. Надо только теперь чтобы ВМ растянулась на весь мой реальный экран как-то чтоли.
Ivan8209
> желательно, чтобы была максимально мощной, так как нужна хорошая производительность.
Чё? Программы от багланда надо было править отладчиком,
чтобы они продолжали работать на вторых, что ли, пнях.
—
«Suicide is painless,
it brings on many changes…»
Dasar
Надо только теперь чтобы ВМ растянулась на весь мой реальный экран как-то чтоли.
тыкни тычку в меню vm — развернуть на полный экран
necrocore
Чё? Программы от багланда надо было править отладчиком,
чтобы они продолжали работать на вторых, что ли, пнях.
знаешь, ну что уж там понаписали в 96 году, то и юзаем.
К слову, щас стартует бизнес-проект по написанию такой же софтины+кое какие доработки под современные системы.
Если что, программисты требоваться будут, так что можешь в приват если интересно. )
А пока что я ебусь с тем, чтобы эти дрова 96 года хоть как-то совместить с 7кой или ХП.
necrocore
сделал, заработало, спасибо.
только малость глючит мыша и производительность страдает сильно.
apl13
писалась на Паскале, естественно.
А на сях не могла?
apl13
Чё? Программы от багланда надо было править отладчиком,
чтобы они продолжали работать на вторых, что ли, пнях.
Для ТП был патч к crt.tpu.
yolki
если программе не нужен доступ к оборудованию через ком-порты или (омг!) ISA шину — то могу посоветовать VirtualBox — одна из лучших виртуалок.
ставишь на неё дос и радуешься.
durka82
Насчёт досбокса — сложилось впечатление, что он ну очень сильно тормозит при работе с винтом — мб именно из-за этого тормоза и проявляются.
По идее можно сделать рамдиск и запускать с него, но не пробовал.
Хотя полноценная виртуалка конечно всегда лучше
356ft85
Запусти на winxp перед прогой резидентый скриншотер какой нить досовский, чтобы делать скриншот не средствами винды а «средствами доса»
necrocore
Спасибо, щас попробую.
necrocore
Короче я не знаю почему, но программа на ВМ сильно теряет в производительности.
И второй момент. Я очень долго манался, чтобы ХП поставить на эту новую Соньку. В итоге поставил с 10 раза, до этого постоянно после загрузки файлов он мне БСОД вываливал.
Ну так программа на ХП не идёт! Скотина пишет какую-то процессорную ошибку. ХЗ как с ней бороться, похоже что никак.
В качестве временного решения — куплю старую железяку, поставлю туда 98ю винду и эту прогу.
В качестве постоянного решения:
1. Разработка нового ПО на основе старого (в случае, если удастся надыбать исходники или автора программы привлечь)
2. Поиск ПО, способного заменить эту программу.
Вот тут хотелось бы мнение форумчан узнать, может кто в курсе.
Необходимо ПО, способное строить схемы с электрическими и магнитными связями + анализировать режимы работы этой схемы.
PCad смотрел — не умеет с магнитными потоками работать, насколько я понял.
Если груба — то программа тупо моделирует трансформаторы с тиристорными блоками и режимы их работы.
Есть у кого какие идеи?
necrocore
Кстати, ошибка на ХП следующая:
16-разрядная система MS-DOS
Процессор NTVDM обнаружил недопустимую инструкцию.
CS:0000 IP:0075 OP:f0 00 f0 37 05
elenangel
какую-то процессорную ошибку
не деление на ноль случаем? это древний баг паскалевского модуля crt на быстрых процессорах.
p.s. опередил c ответом
necrocore
баг crt на быстрых процессорах.
p.s. опередил c ответом
вот хз, на 10 других компах под XP идёт, а тут нет.
Хотя один и тот же экзешник тестил.
356ft85
Тыж написал что «1. На winXP 32битной она нормально запускается. «
или в итоге ненормально? на обычной винде XP без всяких виртуальных машин не работает?
Originally Posted by rahul_shilps
I am facing problem of
BGI Error: Graphics not initialized (use ‘initgraph’)
In fact i have provided correct invocation of initgraph method
initgraph(….,»C:\Turboc3\bgi»);
i found that there is no file like bgi in Turboc3..
please help me how can i initialize graphics.
Help me.
In Turbo C/C++, the graphics driver files are in the C:TCBGI directory, by default.
This is how you use it, and an example program (which just draws a white line on a black graphics screen).
initgraph Initializes the graphics system.
Syntax:
void far initgraph(int far *graphdriver, int far *graphmode,
char far *pathtodriver);Prototype in:
graphics.hRemarks:
initgraph initializes the graphics system by loading a graphics driver from
disk (or validating a registered driver), and putting the system into
graphics mode.To start the graphics system, first call the initgraph function. initgraph
loads the graphics driver and puts the system into graphics mode.You can tell initgraph to use a particular graphics driver and mode, or to
autodetect the attached video adapter at run time and pick the corresponding
driver.If you tell initgraph to autodetect, it calls detectgraph to select a
graphics driver and mode.initgraph also resets all graphics settings to their defaults (current
position, palette, color, viewport, and so on) and resets graphresult to 0.Normally, initgraph loads a graphics driver by allocating memory for the
driver (through _graphgetmem), then loading the appropriate .BGI file from
disk.As an alternative to this dynamic loading scheme, you can link a graphics
driver file (or several of them) directly into your executable program file.
See UTIL.DOC (included with your distribution disks) for more information on
BGIOBJ.� pathtodriver specifies the directory path
where initgraph looks for graphics
drivers.initgraph first looks in the path
specified in pathtodriver, then (if
they’re not there) in the current
directory. Accordingly, if pathtodriver
is null, the driver files (*.BGI) must be
in the current directory.This is also the path settextstyle
searches for the stroked character font
files (*.CHR).� *graphdriver is an integer that specifies
the graphics driver to be used. You can
give it a value using a constant of the
graphics_drivers enumeration type,
defined in graphics.h and listed in the
table below.graphics_drivers �
constant � Numeric value
�������������������������������������������������� �������
DETECT � 0 (requests autodetection)
CGA � 1
MCGA � 2
EGA � 3
EGA64 � 4
EGAMONO � 5
IBM8514 � 6
HERCMONO � 7
ATT400 � 8
VGA � 9
PC3270 � 10� *graphmode is an integer that specifies
the initial graphics mode (unless
*graphdriver equals DETECT. In this
case, *graphmode is set by initgraph to
the highest resolution available for the
detected driver).You can give *graphmode a value using a
constant of the graphics_modes
enumeration type, defined in graphics.h
and listed in the table above.graphdriver and graphmode must be set to valid values from or you’ll get
unpredictable results.The exception is graphdriver = DETECT.
In the following table, the palette listings C0, C1, C2, and C3 refer to the
four predefined four-color palettes available on CGA (and compatible)
systems.You can select the background color (entry #0) in each of these palettes,
but the other colors are fixed.These palettes are described in greater detail in Chapter video, «videott,»
in book3 (in the section titled «Color control,» toward the end of the
chapter) and summarized in Table palette.Palette � Color assigned to pixel value
number � 1 2 3
�������������������������������������������������� �������
0 � LIGHTGREEN � LIGHTRED � YELLOW
1 � LIGHTCYAN � LIGHTMAGENTA � WHITE
2 � GREEN � RED � BROWN
3 � CYAN � MAGENTA � LIGHTGRAYAfter a call to initgraph, *graphdriver is set to the current graphics
driver, and *graphmode is set to the current graphics mode.Graphics� � � Column � �
driver � graphics_modes � Value � x row � Palette � Pages
�������������������������������������������������� ��������������������
CGA � CGAC0 � 0 � 320 x 200� C0 � 1
� CGAC1 � 1 � 320 x 200� C1 � 1
� CGAC2 � 2 � 320 x 200� C2 � 1
� CGAC3 � 3 � 320 x 200� C3 � 1
� CGAHI � 4 � 640 x 200� 2 color� 1
MCGA � MCGAC0 � 0 � 320 x 200� C0 � 1
� MCGAC1 � 1 � 320 x 200� C1 � 1
� MCGAC2 � 2 � 320 x 200� C2 � 1
� MCGAC3 � 3 � 320 x 200� C3 � 1
� MCGAMED � 4 � 640 x 200� 2 color� 1
� MCGAHI � 5 � 640 x 480� 2 color� 1
EGA � EGALO � 0 � 640 x 200� 16 color� 4
� EGAHI � 1 � 640 x 350� 16 color� 2
EGA64 � EGA64LO � 0 � 640 x 200� 16 color� 1
� EGA64HI � 1 � 640 x 350� 4 color� 1
EGA-MONO� EGAMONOHI � 3 � 640 x 350� 2 color� 1*
� EGAMONOHI � 3 � 640 x 350� 2 color� 2**
HERC � HERCMONOHI � 0 � 720 x 348� 2 color� 2
ATT400 � ATT400C0 � 0 � 320 x 200� C0 � 1
� ATT400C1 � 1 � 320 x 200� C1 � 1
� ATT400C2 � 2 � 320 x 200� C2 � 1
� ATT400C3 � 3 � 320 x 200� C3 � 1
� ATT400MED � 4 � 640 x 200� 2 color� 1
� ATT400HI � 5 � 640 x 400� 2 color� 1
VGA � VGALO � 0 � 640 x 200� 16 color� 2
� VGAMED � 1 � 640 x 350� 16 color� 2
� VGAHI � 2 � 640 x 480� 16 color� 1
PC3270 � PC3270HI � 0 � 720 x 350� 2 color� 1
IBM8514 � IBM8514HI � 1 � 1024 x 760� 256 color�
� IBM8514LO � 0 � 640 x 480� 256 color�* 64K on EGAMONO card
** 256K on EGAMONO cardReturn Value:
initgraph always sets the internal error code.On success, it sets the code to 0. If an error occurred, *graphdriver is set
to -2, -3, -4, or -5, and graphresult returns the same value as listed in
the following table:grNotDetected � -2 � Cannot detect a graphics card
grFileNotFound � -3 � Cannot find driver file
grInvalidDriver � -4 � Invalid driver
grNoLoadMem � -5 � Insufficient memory to load driverPortability:
This function is unique to Turbo C++.It works only with IBM PCs and compatibles equipped with supported graphics
display adapters.See Also:
closegraph graphresult
detectgraph installuserdriver
getdefaultpalette registerbgidriver
getdrivername registerbgifont
getgraphmode restorecrtmode
getmoderange setgraphbufsize
graphdefaults setgraphmode
_graphgetmemExample:
Code:
#include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; /* initialize graphics mode */ initgraph(&gdriver, &gmode, ""); /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ { printf("Graphics error: %sn", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* return with error code */ } /* draw a line */ line(0, 0, getmaxx(), getmaxy()); /* clean up */ getch(); closegraph(); return 0; }This runs on two of my graphics cards, in Windows XP. The aspect ratio may distort things, depending on your monitor’ and graphics cards settings.
15 Years Ago
Hi all,
I have already used InitGraph and have given the path(C:\TCBGI) in Initgraph and checked the Graphics option in Linker Options. Still Iam getting this error. I want a solution. Can somebody pls help me. Its urgent.
Recommended Answers
A wild stab in the dark suggests that you need to double up the second in your pathname, so
C:\TCBGI
But since you’ve only paraphrased the problem, who knows whether that typo exists in your actual code, or whether there is some other problem you haven’t bothered …
Jump to Post
of course the BGI is 20+ year old technology first developed for DOS 3 and never meant for use under Windows so it’s quite possible even if you called the method that it failed and you didn’t properly handle that failure.
Jump to Post
Go to c:tc and make sure there is a folder named «BGI» and that the drivers are in it.
Jump to Post
All 35 Replies
Salem
5,138
Posting Sage
15 Years Ago
jwenting
1,855
duckman
Team Colleague
15 Years Ago
of course the BGI is 20+ year old technology first developed for DOS 3 and never meant for use under Windows so it’s quite possible even if you called the method that it failed and you didn’t properly handle that failure.
15 Years Ago
Hi all,
The option is working in my office while it is not working in my home system. Pls help me fix this problem.
Thanks
15 Years Ago
Go to c:tc and make sure there is a folder named «BGI» and that the drivers are in it.
13 Years Ago
Well , Using the same ancient Turbo C++ 3.0 in school, i ran into the same problem. The two lines of graphics above should be :
Assuming that you installed Turbo C to C:TC
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:\TC\BGI");
Obviously include the graphics.h.
If it still doesnt work , Press CTRL-F , then D.
(Dos Shell from the Compiler File Menu).
Write :
C:TCBGI
exit
It should work now. If it still doesnt work , im pretty sure that its a corrupted installation or you are missing the *.BGI Files.
Also , I think you’d have done this , but dont forget to enable the Graphics Libraries in Options > Linker > Libraries.
Edited
13 Years Ago
by ashmew2 because:
n/a
13 Years Ago
You are required to check whether the compiler is installed in c drive or not
if it is installed in other drive u must specify the program as
for eg. it is installed in d drive
d:\tc\bgi
and also change the path in the compilers directory
13 Years Ago
thanks guys mah first day on this website and i got the answer for mah question…..the same of bgi error
12 Years Ago
just copy the file egavga.bgi from your /bgi folder and paste it in your /bin folder.
You should’nt be getting the error any more.
12 Years Ago
Thank u guys….me too got d same error nd resolved it
hinduengg
26
Junior Poster in Training
12 Years Ago
Dear Indrapriya,
Please mark the problem as solved.
Edited
12 Years Ago
by hinduengg because:
n/a
12 Years Ago
hi all i am using windows 7 ultimate and i got this same error when i run my pgm also i got linker error like you…bt i solved this prbl by using DOSBOX 0.74..now my pgm is running smoothly..i have followed these steps
1.download dosbox 0.74
2.create a folder say «Turbo» in c:
3.download turboc for window 7 ultimate 32 bit
4.extract zip file into «Turbo»
5.from START->Dosbox->options->dosbox options->(you can see a word documnet open it)->@ the end of document add the following steps
mount d c:Turbo
d:
cd tc
cd bin
tc
then save
6.then go to c window(c:turbotcbintc.exe)->directories->type D:TCINCLUDE
and D:TCLIB
7.also in Linker->Libraries->enable Graphics library
8.also put a line in main()
initgraph(&gd,&gm,»d;\tc\bgi»);
Best of luck……….:)
12 Years Ago
initgraph(&gd, &gm, «C:\TC\BGI»);
What does the «\» in the path specified in initgraph signify?
Adak
419
Nearly a Posting Virtuoso
12 Years Ago
The path to the BGI drivers.
12 Years Ago
I meant what does the usage of \ instead of mean? What is its significance?
Adak
419
Nearly a Posting Virtuoso
12 Years Ago
The backslash char is an escape char in C. It’s paired up with another char to represent something difficult to type: like n for a newline char, or t for a tab, etc.
Two backslashes is used when you want to delineate just one backslash itself.
12 Years Ago
Edited
12 Years Ago
by INDIAN_007 because:
n/a
12 Years Ago
hello frnds ……..on Window 7 error occur or not output show of graphics.h program……….for this i have simple one solution…..
go to end link and check …..and forward this for other .because i understand this that i have face…………so help others …….not forget to say thanx…..
email-toohaapy@rocketmail.com
link—> http://www.uniqueness-template.com/devcpp/
read carefully all steps…….
12 Years Ago
thanks i resolved my error
11 Years Ago
dear shahana….
ur post ws realy helpful………..thnkxxxxxx it solved ma probs………
Edited
11 Years Ago
by kulpreet lkaur because:
n/a
11 Years Ago
You can also use instead-
int gd=DETECT,gm;
initgraph(&gd,&gm,"C:/TC/BGI");
11 Years Ago
pleaser close this thread its too old(4 yrs) now…..
N1GHTS
102
Posting Whiz in Training
11 Years Ago
pleaser close this thread its too old(4 yrs) now…..
Normally I would say the same thing, except that most of the «bump» comments were praising the information on this thread. While that isn’t adding anything useful to this thread, it takes effort to browse Google, find this information, and feel so compelled by its influence that they go through the entire DaniWeb registration procedure just to thank the poster.
Also, just to play the devils advocate, you yourself submitted a comment to a 4 year old thread before your comment that no one else should. Ironic.
By the way, 2007 was a great year.
11 Years Ago
thank u guys the same problem for me. I solved it today. it is useful for my practicals exam
11 Years Ago
Go to c:tc and make sure there is a folder named «BGI» and that the drivers are in it.
my problem still is not gtn solved the program gets suck in the middle and on pressing alt+f5 it says bgi error
11 Years Ago
Thank u guys….me too got d same error nd resolved it
wat did u do??
11 Years Ago
YOW It REally helped !! thanks a lot !! Av4ash !!
9 Years Ago
BGI Error:- Graphics not Initialized(Use Initgraph)
I have already used InitGraph and have given the path(C:TCBGI) in Initgraph and checked the Graphics option also..Its my windows7 & turbo c 3.. I just want to draw a circle by using graphics in c.But its showing while running undefined symbol _circle in module noname.cpp
Can any one please help me..Its urgent
Thanks in advance
9 Years Ago
thanks a lot avi4ash man ur a life saver, i had my project submission tomm.thx.
Reply to this topic
Be a part of the DaniWeb community
We’re a friendly, industry-focused community of developers, IT pros, digital marketers,
and technology enthusiasts meeting, networking, learning, and sharing knowledge.
У меня есть программа на С++, которая использует graphic.h. Я хочу открыть ее с помощью dos-box, но когда я пытаюсь, я получаю эту ошибку от dos-box:
BGI Error: Graphics not initialized (use 'initgraph')
Я использовал initgraph в своей программе следующим образом:
gd=DETECT;
initgraph(&gd,&gm,"");
2 ответы
Проверьте initgraph(), должно быть что-то вроде
initgraph(&gd,&gm,"C:TCBGI");
Если это не работает, попробуйте добавить дополнительную косую черту, например:
initgraph(&gd,&gm,"C:\TC\BGI");
Если снова это не работает, проверьте также переменные среды.
Вы можете сослаться на существующий пост в Ошибка BGI, как ее исправить?
ответ дан 23 мая ’17, 12:05
Создан 03 фев.
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками
c++
dosbox
bgi
or задайте свой вопрос.
#1
Опубликовано 19 Апрель 2010 — 21:32
Дей-Лак
-
- Свои
- 596 Сообщений:
- Николай Яковлев
Очень надеюсь что кто-то сталкивался с подобной проблемой и смог ее решить.
Суть такая: У меня стоит OS Windows Vista. На ней стоит С++(Borland). Так как Vista не поддерживает полноэкранный режим консоли я установил эмулятор DOSBox. Все прекрасно работает кроме графической библиотеки, причем как в обычной консоли, так и в эмуляторе. Все графические функции просто пропускаются. Вместо этого пишет: «BGI Error: Graphics not initialized (use ‘initgraph’)»
Что нужно сделать чтоб заработало? Или просто надо установить другую OS?
P.S. Надеюсь ясно обрисовал проблему.
- Наверх
#2
Generator
Опубликовано 19 Апрель 2010 — 21:43
Generator
-
- Свои
- 1 708 Сообщений:
- Василий Яблоков
О, древняя проблема, и поднималась она неоднократно. Увы, в Виндах, начиная с Висты, не поддерживается полноэкранный режим ДОСовских приложений… А графика соответственно тоже не работает, так как требует этого самого полноэкранного режима. Прогать в Досбоксе — это вообще очень левая затея… Вывод — ставь XP либо просто так, либо на виртуальную машину поверх Висты
Изменено: Generator, 19 Апрель 2010 — 21:43
С уважением, самый большой в мире самолет по версии Google.
Надо быть осторожным со стремлением к минус бесконечности. (ЮА)
- Наверх
#3
Дей-Лак
Опубликовано 19 Апрель 2010 — 21:49
Дей-Лак
-
- Свои
- 596 Сообщений:
- Николай Яковлев
Спасибо, попробую. Но лучше бы чтоб как-то в висте. Хотя надо было сразу линукс ставить.
Изменено: Дей-Лак, 19 Апрель 2010 — 21:50
- Наверх
#4
Денис
Опубликовано 19 Апрель 2010 — 22:02
Денис
-
- Genius loci
- 6 869 Сообщений:
- Денис Сумин
Ставь линукс и разбирайся с ним потихоньку
- Наверх
#5
Generator
Опубликовано 19 Апрель 2010 — 22:07
Generator
-
- Свои
- 1 708 Сообщений:
- Василий Яблоков
Человек помочь просил, а ты так сразу…
С уважением, самый большой в мире самолет по версии Google.
Надо быть осторожным со стремлением к минус бесконечности. (ЮА)
- Наверх
#6
Дей-Лак
Опубликовано 19 Апрель 2010 — 22:22
Дей-Лак
-
- Свои
- 596 Сообщений:
- Николай Яковлев
Бред, я сейчас поставил хп и на нем то же самое
- Наверх
#7
koraalex
Опубликовано 19 Апрель 2010 — 23:39
koraalex
- Свои
- 1 891 Сообщений:
- Алексей Коробов
А что, М.К. требует Borland? Не пора ли его отправить в историю? И разве нет ему альтернативы для Виндов? Это такой возглас дилетанта, потому что сам я с этим не работаю. Кстати, Денис, не ответишь ли мне в другой теме насчёт линукс-среды для C++?
- Наверх
#8
hrulikus
Опубликовано 20 Апрель 2010 — 0:21
hrulikus
-
- Свои
- 1 348 Сообщений:
Главный выпендрежник
- Егор, Хрулёв
М.К. поступает как раз таки правильно.
Человеку надо для начала научиться работать с основами и современные среды разработки тут вообще ни к чему.Они лишь будут набивать голову восьмиклассника лишь всякой фигней.там же такая масса параметров, что начинающему вообще нереально разобраться.
А если по теме: точно не помню, но мне казалось в Сях надо графику инициализировать.
там как раз какая-то функция была initgraph с двумя-тремя параметрами. За вторую, кажется, мы ставили пустые кавычки.
Проблема решается добавлением этмх строчек в начале программы:
int gDriver=DETECT,gMode; initgraph(&gDriver,&gMode,getenv("BGI"));
«Каждая мечта тебе дается вместе с силами, необходимыми для ее осуществления.»
Р.Бах
- Наверх
#9
koraalex
Опубликовано 20 Апрель 2010 — 0:33
koraalex
- Свои
- 1 891 Сообщений:
- Алексей Коробов
Ну, я такого подхода не придерживаюсь, потому что есть несложные профессиональные среды, основанные на современных технологиях. Надо объяснить как пользоваться основными функциями и всё.
Изменено: koraalex, 20 Апрель 2010 — 12:52
- Наверх
#10
KiberGus
Опубликовано 20 Апрель 2010 — 16:52
KiberGus
-
- Genius loci
- 6 557 Сообщений:
- Алексей Гусейнов
Ну, я такого подхода не придерживаюсь, потому что есть несложные профессиональные среды, основанные на современных технологиях. Надо объяснить как пользоваться основными функциями и всё.
Им консоль нужна для начала, а в виндах это просто как-то не принято.
Зато, обладая единственной в мире подводной орбитальной группировкой спутников глонасс…
- Наверх
#11
Дей-Лак
Опубликовано 20 Апрель 2010 — 18:58
Дей-Лак
-
- Свои
- 596 Сообщений:
- Николай Яковлев
Егор, про эти строчки я знаю (только gentenv вроде не обязательно,можно просто «BGI», но я попробовал все равно не работает)
Все, у меня не М.К. у меня Татьяна Леонидовна. На уроках мы в Borland’е, значит и дома в нем.
Может, если у кого-то стоит С++, скиньте мне ту самую папку BGI, может с ней что-то не так. Кстати не у меня одного в классе эта проблема.
- Наверх
#12
Syrano
Опубликовано 20 Апрель 2010 — 19:02
Syrano
-
- Свои
- 9 591 Сообщений:
- Владимир Зайцев
Егор, про эти строчки я знаю (только gentenv вроде не обязательно,можно просто «BGI», но я попробовал все равно не работает)
Все, у меня не М.К. у меня Татьяна Леонидовна. На уроках мы в Borland’е, значит и дома в нем.
Может, если у кого-то стоит С++, скиньте мне ту самую папку BGI, может с ней что-то не так. Кстати не у меня одного в классе эта проблема.
Это проблема системная. Мне кажется, правильнее всего спросить решения именно у преподавателя.
С нами сила Алхазашвили!
- Наверх
#13
Дей-Лак
Опубликовано 20 Апрель 2010 — 19:11
Дей-Лак
-
- Свои
- 596 Сообщений:
- Николай Яковлев
Володя, я спрашивал у М.К., она сказала мне что то вроде: «Я не сисадмин, и я не знаю» Ну правда в 202’ю я не ходил.
- Наверх
#14
гык-sse2
Опубликовано 20 Апрель 2010 — 19:15
гык-sse2
-
- Свои
- 377 Сообщений:
- Михаил Беляев
Прогать в Досбоксе — это вообще очень левая затея…
Я прогаю под досбоксом (правда, уже в основном на асме). Под Mac OS X. А программу про маины (графическую) на VC++2K5(Windows Forms) перенес. (под VMWare)
Медведь громит каны!
- Наверх
#15
Syrano
Опубликовано 20 Апрель 2010 — 19:15
Syrano
-
- Свои
- 9 591 Сообщений:
- Владимир Зайцев
Володя, я спрашивал у М.К., она сказала мне что то вроде: «Я не сисадмин, и я не знаю» Ну правда в 202’ю я не ходил.
А Татьяна Леонидовна? В конце концов, если это массовая проблема, то надо сообща ее решать
С нами сила Алхазашвили!
- Наверх
#16
Дей-Лак
Опубликовано 20 Апрель 2010 — 19:42
Дей-Лак
-
- Свои
- 596 Сообщений:
- Николай Яковлев
А программу про маины (графическую) на VC++2K5(Windows Forms) перенес. (под VMWare)
Я из этого, честно говоря, ничего не понял
- Наверх
#17
гык-sse2
Опубликовано 15 Май 2010 — 13:02
гык-sse2
-
- Свои
- 377 Сообщений:
- Михаил Беляев
Не маины, а машины=)
VC++2005 — Visual C++ 2005 .NET, входит в состав Microsoft Visual Studio, установлена под Windows XP, а она — на виртуальной машине VMWAreVirtualBoxуже опять VMWare Fusion в Mac OS X
Изменено: гык-sse2, 20 Октябрь 2010 — 18:54
Медведь громит каны!
- Наверх
#18
Дей-Лак
Опубликовано 30 Август 2010 — 0:26
Дей-Лак
-
- Свои
- 596 Сообщений:
- Николай Яковлев
Если кому то интересно то проблема все же решилась. Причем и на XP и на Vista. Правда это все равно только для DosBox, но работает.
Вместо initgraph(&gd,&gm,»BGI») надо писать initgraph(&gd,&gm,»..//BGI»)
Зачем я не знаю. Так написано в папке examples Работает.
- Наверх
#19
гык-sse2
Опубликовано 30 Август 2010 — 7:51
гык-sse2
-
- Свои
- 377 Сообщений:
- Михаил Беляев
Если кому то интересно то проблема все же решилась. Причем и на 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…
Изменено: iMichael, 30 Август 2010 — 7:53
Медведь громит каны!
- Наверх
#20
KiberGus
Опубликовано 30 Август 2010 — 8:40
KiberGus
-
- Genius loci
- 6 557 Сообщений:
- Алексей Гусейнов
На glut нет аналога DoEvents т.к. ты пишешь колбеки, а не основной цикл. Попробуй вместо glut использовать SDL, мне он намного больше понравился. Абсолютно одинаково инициализируется подо всеми платформами и главный цикл пишешь ты. А SDL предоставлет функции для проверок событий.
Зато, обладая единственной в мире подводной орбитальной группировкой спутников глонасс…
- Наверх