Процедуры и функции
Процедура DetectGraph
Возвращает тип драйвера и режим его работы. Заголовок:
Procedure DetectGraph(var Driver,Mode: Integer);
Здесь:
- Driver – тип драйвера;
- Mode – режим работы.
В отличие от функции GetGraphMode описываемая процедура возвращает в переменной Mode максимально возможный для данного адаптера номер графического режима.
Функция GetDriverName
Возвращает значение типа String, содержащее имя загруженного графического драйвера. Заголовок:
Function GetDriverName: String;
Функция GetMaxMode
Возвращает значение типа Integer, содержащее количество возможных режимов работы адаптера. Заголовок:
Function GetMaxMode: Integer;
Функция GetModeName
Возвращает значение типа String, содержащее разрешение экрана и имя режима работы адаптера по его номеру. Заголовок:
Function GetModName(ModNumber: Integer): String;
Здесь ModNumber – номер режима.
Следующая программа после инициации графического режима выводит на экран строку, содержащую имя загруженного драйвера, а также все возможные режимы его работы.
Uses Graph; var a,b: Integer; begin a: = Detect; InitGraph(a, b, ''); WriteLn(GetDriverName); for a: = 0 to GetMaxMode do WriteLn(GetModeName(a):10); ReadLn; CloseGraph end.
Процедура GetModeRange
Возвращает диапазон возможных режимов работы заданного графического адаптера. Заголовок:
Procedure GetModeRange(Drv: Integer; var Min, Max: Integer);
Здесь:
- Drv – тип адаптера;
- Min – переменная типа Integer, в которой возвращается нижнее возможное значение номера режима;
- Мах – переменная того же типа, верхнее значение номера.
Если задано неправильное значение параметра Drv, процедура вернет в обеих переменных значение – 1. Перед обращением к процедуре можно не устанавливать графический режим работы экрана. Следующая программа выводит на экран названия всех адаптеров и диапазоны возможных номеров режимов их работы.
Uses Graph; var D,L,H: Integer; const N: array [1..11] of String [8] = ('CGA ', 'MCGA ', 'EGA ', 'EGA64 ', 'EGAMono ', ЧВМ8514 ', 'HercMono', 'ATT400 ', 'VGA ', 'PC3270 ', 'Ошибка '); begin WriteLn('Адаптер Мин. Макс.'); for D: = 1 to 11 do begin GetModeRange(D, L, H); WriteLn(N[D], L:7, H:10) end end.