GraphErrorMsg (ErrorCode: Integer ): String ;
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Константы кодов ошибок, определенные в модуле Graph,и соответствующие им сообщения приведены в следующей таблице.

 

Константа Код Сообщение об ошибке Перевод и пояснение
grOk  0 No error Ошибки нет
grNoInitGraph -1 (BGI) Graphics not installed (use InitGraph) Графика не инициализирована
grNotDetected -2 Graphics hardware not detcted Графический адаптер не найден
grFileNotFound -3 Device driver file not detected BGI -файла нет в указанном каталоге
grlnvalidDriver -4 Invali device driver file BGI-файл содержит ошибочный код
grNoLoadMem -5 Not enough memory to load driver Нет места в ОЗУ для загрузки драйвера
grNoScanMem -6 Out of memory in scan fill При работе процедуры FillPoly не хватает рабочей памяти
grNoFloodMem -7 Out of memory in flood fill При работе процедуры FloodFill не хватает рабочей памяти
grFontNotFound -8 Font file not found CHR -файла нет в указанном каталоге
grNoFontMem -9 Not enough memory to load font Нет места в ОЗУ для загрузки шрифта
grlnvalidMode -10 Invalid Graphics mode for selected driver Невозможный режим для выбранного драйвера
grError -11 Graphics error Ошибка графики
grIOError -12 Graphics I/O error Ошибка ввода-вывода графики
grInvalidFont -13 Invalid font fite В файле шрифта неправильный код
grInvalidFontNum -14 Invalid font number Несуществующий номер шрифта
grInvalidDeviceNum -15 Invalid device number Несуществующий номер адаптера

 

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

Uses Graph;

Procedure GrInit;

Var

GraphDriver: Integer;

GraphMode: Integer;

ErrorCode: Integer;

Begin

GraphDriver: =Detect;

InitGraph (GraphDriver, GraphMode, '');

ErrorCode: =GraphResult;

if ErrorCode <> grOK then

Begin

Writeln (‘ Ошибка графики : ‘, GraphErrorMsg (ErrorCode));

Writeln(‘Программа остановлена...');

Halt(1);

end;

Begin {Пример инициализации}

GrInit ;

Line (0, 0, GetMaxX, GetMaxY);

Readln;

CloseGraph;

E nd.

В дальнейшем процедуру Grlnit лучше записать в отдельный файл (например, INITGRAF.PAS) и использовать директиву включения этого файла при компиляции. Такой блок всегда включает стандартный графический режим максимального разрешения.

Классификация и анализ графических режимов

 

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

 

Драйвер Имя константы режима и ее значение Разрешение экрана (в точках) Палитра Число видеостраниц

CGA

CGAC0 = 0 320x200 4 цвета 1
CGAC1 = 1 320x200 4 цвета 1
CGAC2 = 2 320x200 4 цвета 1
CGAC3 = 3 320x200 4 цвета 1
CGAHi = 4 640x200 2 цвета 1

MCGA

MCGAC0 = 0 320x200 4 цвета 1
MCGAC1 = 1 320x200 4 цвета 1
MCGAC2 = 2 320x200 4 цвета 1
MCGAC3 = 3 320x200 4 цвета 1
MCGAMed= 4 640x200 2 цвета 1
MCGAHi = 5 640x480 2 цвета 1

EGA

EGALo = 0 640x200 16 цветов 4
EGAHi = 1 640x350 16 цветов 2

EGA64

EGA64Lo = 0 640x200 16 цветов 1
EGA64Hi = 1 640x350 4 цвета 1
EGAMono EGAMonoHi = 3 640x350 2 цвета 1(2)
Herc HercMonoHi = 0 720x348 2 цвета 2

АТТ

АТТ400С0 = 0 320x200 4 цвета 1
АТТ400С1 = 1 320x200 4 цвета 1
АТТ400С2 = 2 320x200 4 цвета 1
АТТ400СЗ = 3 320x200 4 цвета 1
ATT400Med = 4 640x200 2 цвета 1
АТТ400Нi= 5 640x400 2 цвета 1

VGA

VGALo = 0 640x200 16 цветов 4
VGAMed = 1 640x350 16 цветов 2
VGAHi = 2 640x480 16 цветов 1
PC3270 PC3270Hi = 0 720x350 2 цвета 1

IBM8514

 

IBM8514Lo = 0 640x480 256 цветов 1
IBM8514= 1 1024x768 256 цветов 1

 

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

Процедура DetectGraph . Для тестирования графического адаптера в модуле Graph объявлена процедура:

Дата: 2019-05-29, просмотров: 189.