Процедура инициализации InitGraph
Любая программа, предназначенная для работы с графикой, обязательно должна содержать блок вызовов процедур инициализации графического режима и обращение к процедуре его завершения. В таком блоке инициализируется графический режим, проверяется правильность инициализации и, если все операции прошли успешно, разрешается дальнейшая работа программы. Процедура инициализации объявлена следующим образом: InitGraph (VAR GraphDriver : INTEGER; {тип адаптера} VAR GraphMode : INTEGER; {режим графики} VAR DriverPath : STRING); {путь к драйверу} Переменные GraphDriver и GraphMode задают драйвер и режим в соответствии со значениями, приведенными в предыдущем пункте. Например: GraphDriver:=EGA; GraphMode:=EGAHi; В качестве значений каждого из этих параметров можно задавать как имя соответствующей зарезервированной константы, так и ее значение; оба параметра можно устанавливать до вызова процедуры InitGraph. Если параметр GraphDriver содержит номер конкретного адаптера, то и второй параметр, GraphMode, должен иметь значение режима, допустимого для этого адаптера. Когда GraphDriver присваивается значение константы Detect, система переходит в режим автоопределения. Если возможно переключение системы в графический режим, то инициализируется соответствующий BGI-драйвер и включается режим с максимальным разрешением для данного типа видеоадаптера. В GraphDriver и GraphMode при этом процедура возвратит автоматически определенные значения этих параметров или код ошибки. Такая установка параметра GraphDriver рекомендуется в тех случаях, когда программа должна работать на разных компьютерах с различными видеоадаптерами. Но этот метод имеет один существенный недостаток: поскольку во время выполнения программы все драйверы одновременно должны находиться в памяти или на диске, для больших программ это может привести к уменьшению скорости работы программы. Все остальные графические установки (положение текущего указателя, палитра, цвет, параметры графического окна и т.д.) при инициализации принимаются по умолчанию. В параметре DriverPath указывается путь к каталогу, который содержит необходимые файлы драйверов. Если драйверы находятся в текущем каталоге, этот параметр должен иметь значение ‘ ‘ (пустая строка).
Продемонстрируем применение процедуры InitGraph на следующем примере: USES Graph; VAR GrDriver,GrMode:INTEGER; {определяют драйвер и режим} BEGIN GrDriver:=Detect; {режим автоопределения} InitGraph(GrDriver,GrMode,''); {предполагается, что драйвер в текущем каталоге} IF GraphResult < > 0 THEN {ошибка инициализации} BEGIN WriteLn('Ошибка инициализации графики!') ; HALT(l); END; SetBkColor(LightBlue); {установлен цвет фона} ReadLn; CloseGraph; {завершение графического режима} END.
В примере, кромеInitGraph, использован ряд других процедур и функций модуля Graph, которые будут рассмотрены ниже. ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|