Константы кодов ошибок, определенные в модуле 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, просмотров: 278.