Графические возможности TurboPascal 7.0 — страница 6

  • Просмотров 9475
  • Скачиваний 582
  • Размер файла 3666
    Кб

InitGraph(Driver, Mode, ''); {Инициируемграфику} Error := GraphResult; {Получаем результат} if Error <> grOk then {Проверяем ошибку} begin {Ошибка в процедуре инициации} WriteLn(GraphErrorMsg(Error)); {Выводим сообщение} end else {Нет ошибки} Чаще всего причиной возникновения ошибки при обращении к процедуре InitGraph является неправильное указание местоположения файла с драйвером графи­ческого адаптера (например, файла CGA.BGI для адаптера CGA). Настройка на место­положение

драйвера осуществляется заданием маршрута поиска нужного файла в имени драйвера при вызове процедуры InitGraph. Если, например, драйвер зарегист­рирован в подкаталоге DRIVERS каталога PASCAL на диске D, то нужно использовать вызов: InitGraph(Driver, Mode, 'd:\Pascal\Drivers'); Замечание. Во всех следующих примерах процедура InitGraph вызывается с пара­метром Driver в виде пустой строки. Такая форма обращения будет корректна только в том случае, когда нужный файл

графического драйвера находится в текущем каталоге. Для упрощения повторения примеров скопируйте файл, соответствующий адаптеру Вашего ПК, в текущий каталог. Процедура CloseGraph. Завершает работу адаптера в графическом режиме и восстанавливает текстовый режим работы экрана. Заголовок: Procedure CloseGraph; Процедура RestoreCRTMode. Служит для кратковременного возврата в тексто­вый режим. В отличие от процедуры CloseGraph не сбрасываются

установленные параметры графического режима и не освобождается память, выделенная для разме­щения графического драйвера. Заголовок: Procedure RestoreCRTMode; Функция GetGraphMode. Возвращает значение типа Integer, в котором содер­жится код установленного режима работы графического адаптера. Заголовок: Function GetGraphMode: Integer; Процедура SetGraphMode. Устанавливает новый графический режим работы адаптера. Заголовок: Procedure SetGraphMode(Mode: Integer); Здесь Mode - код

устанавливаемого режима. Следующая программа иллюстрирует переход из графического режима в тексто­вый и обратно: Uses Graph; Var Driver, Mode, Error : Integer; begin {Инициируем графический режим} Driver := Detect; InitGraph(Driver, Mode, ''); Error := GraphResult; {Запоминаем результат} if Error <> grOk then {Проверяем ошибку} WriteLn(GraphErrorMsg(Error)) {Есть ошибка} else begin {Нет ошибки} WriteLn ('Это графический режим'); WriteLn ('Нажмите "Enter"...':20); ReadLn; {Переходим в текстовый режим} RestoreCRTMode; WriteLn (' А это

текстовый...'); ReadLn; {Возвращаемся в графический режим} SetGraphMode (GetGraphMode); WriteLn ('Опять графический режим...'); ReadLn; CloseGraph; end end. В этом примере для вывода сообщений как в графическом, так и в текстовом ре­жиме используется стандартная процедура WriteLn. Если Ваш ПК оснащен нерусифицированным адаптером CGA, вывод кириллицы в графическом режиме таким спосо­бом невозможен, в этом случае замените соответствующие сообщения так, чтобы