Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TCLR-3Ar.doc
Скачиваний:
16
Добавлен:
12.07.2019
Размер:
664.58 Кб
Скачать

Void far _graphgetmem(unsigned size);

Файл, содержащий graphics.h

прототип

Описание Графическая библиотека вызывает _graphgetmem

(но не пользовательская программа) для выделения

памяти для внутренних буферов, графических драй-

веров и шрифтов. Вы можете управлять распределе-

нием памяти графической библиотекой посредством

простого определения вашей собственной версии

_graphgetmem (вы должны определить ее так, как

показано в описании). Начальная версия этой прг-

раммы просто вызывает malloc.

Возвращаемое Нет.

значение

Переносимость Функция уникальна для Turbo C++. Она работает

только на компьютерах IBM PC и совместимых с ни-

ми, оснащенных дисплейными адаптерами, поддержи-

вающими графический режим.

Смотрите также _graphfreemem, initgraph, setgraphbufsize.

Пример:

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

#include<alloc.h>

#define NONSENSE -50

int main(void)

{

/* Инициация ошибки */

int graphdriver = NONSENSE, gmode, errorcode;

int midx,midy;

/* обнуление текстового экрана */

clrscr();

printf("Для инициализации графики нажмите любую клавишу...");

getch();

-226-

clrscr();

/* инициализация графики и локальных переменных */

initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */

errorcode = graphresult();

/* выдать соответствующее ошибке сообщение */

if(errorcode != grOk) /* если ошибка */

{

printf("Ошибка :%s\n",grapherrormessage(errorcode));

printf("Для останова нажмите любую клавишу\n");

getch();

exit(1); /* завершение с кодом ошибки */

}

midx = getmaxx()/2;

midy = getmaxy()/2;

/* вывести сообщение */

settextjustify(CENTER_TEXT,CENTER_TEXT);

outtextxy(midx,midy,"Для выхода из графического режима

нажмите любую клавишу ");

/* очистка */

getch();

closegraph();

return 0;

}

/* вызывается ядром графической системы для выделения памяти */

void far *far _graphgetmem(unsigned size)

{

printf("Вызвана _graphgetmem для выделения %d байт\n",size);

printf("Нажмите любую клавишу:");

getch();

printf("\n");

/* выделить память */

return farmalloc(size);

}

/* вызывается ядром графической системы для освобождения памяти */

void far _graphfreemem(void far *ptr, unsigned size)

{

printf("Вызвана _graphfreemem для освобождения %d байт\n",size);

printf("Нажмите любую клавишу:");

getch();

printf("\n");

/* освободить память */

return farfree(ptr);

}

graphresult

Функция Возвращает код ошибки последней неудачно выпол-

ненной графической операции.

Синтаксис #include <graphics.h>

int far graphresult(void);

Файл, содержащий graphics.h

прототип

Описание graphresult возвращает код ошибки последней гра-

-227-

фической операции, которая сообщила об ошибке, и

устанавливает уровень ошибки в grOk.

В следующей таблице приведены коды ошибок, возв-

ращаемые graphresult. Перечисляемый тип

graph_errors определяет ошибки в данной таблице.

graph_errors объявлен в graphics.h.

-----------------------------------------------------------

код константа соответствующая строка

ошибки graphics_errors сообщения об ошибке

-----------------------------------------------------------

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]