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