Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Установка и закрытие




Графический режим

Графический режим характеризуется установленным драйвером экрана и видеорежимом( mode ). Поскольку ОС MS DOS достаточно "древняя", то наиболее высокая по разрешению экрана и числу используемых цветов установка соответствует драйверу VGA с разрешением 640*480 пикселей и 16 цветами. Драйверы представляют собой файлы с расширением bgi (Borland Graphics Interface). Для описанного выше видеорежима подходит драйвер egavga.bgi. Возможно существуют для работы в MS DOS и драйверы SVGA с лучшим качеством, однако для решения наших задач указанного видеорежима достаточно. Чтобы работать в данном режиме, необходимо в пункте Options\Linker\Libraries среды разработки установить флажок Graphics Library. Перечень функций, входящих в эту библиотеку, и пояснения к ним можно найти в пункте Help\ContentsàFunctionsàGraphics routines.

Поскольку по умолчанию при запуске приложения устанавливается текстовый режим, переход к графическому режиму выполняется следующей функцией:

void initgraph ( int * driver, int * mode, char * path);

Она инициализирует графический режим. Символические константы для параметров driver и mode заданы в файле graphics.h. Если в качестве первого параметра задана символическая константа DETECT, то функция находит установленный драйвер и задает режим с максимальным разрешением для него(настоятельно рекомендуется). Третий параметр функции указывает путь к директории, в которой располагаются драйверы.

Пример.

int gd= DETECT, mode;

initgraph (&gd, &mode, "c:\\bc\\bgi");

Если третий параметр – пустая строка, то драйвер экрана должен находиться в директории, из которой производится запуск приложения(текущей).

Пример. initgraph (&gd, &mode, "");

int graphresult ( void );

Функция возвращает информацию об исходе последней графической операции. Если инициализация режима прошла упешно, то возвращается 0. Перечень возможных ошибок при выполнении графических операций можно найти в описании функции graphresult в системе Help по ссылке graphics_errors. Для каждой ошибки определены символические константы. Так для успешного исхода используется константа grOk, равная 0. Эту функцию рекомендуется использовать сразу после вызова функции initgraph для проверки установки графического режима.

Пример.

int gd= DETECT, mode;

……………………………

initgraph (&gd, &mode, "");

gerror= graphresult ();

if (gerror!= grOk ){ // Ошибка инициализации

printf ("Ошибка! %s\n", grapherrormsg (gerror));

getch ();

exit (1);

}

char* grapherrormsg ( int errorcode);

Функция возвращает указатель на текст сообщения об ошибке, соответствующей коду ошибки, возвращаемому функцией graphresult.

Пример. Возможный текст сообщения из предыдущего примера.

Error! Device driver file not found (EGAVGA.BGI) àФайл драйвера EGAVGA.BGI не найден.

То есть данный файл в текущей директории не обнаружен.

void exit ( int status);

Функция завершает задачу. При этом:

- закрывает все файлы;

- выводит незаполненные буферы вывода.

Используется обычно при аварийном завершении задачи. Значение параметра status, равную 0, обычно сигнализирует о нормальном завершении, другое – нет. Прототип функции находится в файлах process.h и stdlib.h.

Она не имеет отношения к графическому режиму и описана здесь в связи с тем, что раньше не упоминалась.

void closegraph ( void );

Функция закрывает графический режим. Она освобождает всю память, используемую для обеспечения графического режима и восстанавливает тот режим, который был до вызова функции initgraph. Использовать обязательно!




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 342; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.