- •Введение
- •Управление экраном в текстовом режиме
- •Установка текстового режима
- •Установка цвета и фона
- •Управление курсором.
- •Управление строками.
- •Управление звуком.
- •Текстовые окна.
- •Использование клавиатуры.
- •Организация меню пользователя. Элементы псевдографики.
- •Виды меню
- •Использование буфера экрана.
- •Управление экраном в графическом режиме.
- •Стандартные подпрограммы для работы в графическом режиме
- •Установка графического режима.
- •InitGraph (var Driver,Mode:integer; DriverPath:string) -
- •Координаты, графические окна.
- •Выбор цвета, стиля заполнения.
- •Геометрия
- •Точки и линии.
- •Многоугольники
- •Дуги, окружности, эллипсы
- •Вывод текста
- •Сохранение и выдача изображений
- •Дополнительные стандартные подпрограммы для работы в графическом режиме. Анализ графического режима
- •Установки графических окон, страницы
- •Выбор палитры, заполнения
- •Геометрия
- •Установки вывода текста.
- •Организация библиотек пользователя
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Приложение 1. Кодировочная таблица пэвм.
- •Приложение 2. Константы графического режима.
Установка графического режима.
Стандартное состояние ПЭВМ при запуске программы из среды Турбо-Паскаля соответствует работе экрана в текстовом режиме, поэтому использование графических средств компьютера требует активизации графического режима работы адаптера с помощью процедуры InitGraph. устанавливаемый графический режим характеризуется разрешимостью экрана и палитрой цветов.
InitGraph (var Driver,Mode:integer; DriverPath:string) -
процедура инициализации графического режима экрана.
Где:
Driver - тип графического драйвера ;
Mode - режим работы графического адаптера;
DriverPath - путь к драйверу .
Переменные Driver и Mode можно задавать целочисленным значением или соответствующей константой (см. приложение 2).
InitGraph производит очистку экрана, помещает текущий указатель в точку (0,0) и восстанавливает все графические установки по умолчанию :
окно
палитра
цвет фона и пикселя
стиль и образец линии
стиль, цвет и образец заполнения
шрифт, стиль и выравнивание текста, размер символов.
Часто причиной возникновения ошибки при инициализации графического режима служит неправильное указание местоположения файла Graph.tpu или файла с драйвером графического адаптера (например EGAVGA.bgi для адаптера VGA). Для исправления ошибки проверьте параметры настройки среды Турбо-Паскаль.
Для этого в команде OPTIONS-DIRECTORIES в пункте Unit_Directories необходимо указать каталог, где размещен файл Graph.tpu. Местоположение драйвера задается указанием пути к файлу в качестве фактического параметра DriverPath процедуры InitGraph. Если тип адаптера ПЭВМ неизвестен, можно использовать режим автоматического определения константой Detect. При этом устанавливается графический режим экрана, а переменные Driver и Mode будут содержать значения драйвера ПЭВМ и максимально возможный графический режим его работы.
Пример. Файл драйвера графического адаптера на диске С в каталоге TP.
Driver:=Detect;
InitGraph(Driver,Mode,'c:\tools\tp5\bgi')
Для анализа обращения к графической библиотеке можно использовать функцию GraphResult, которая возвращает значение 0, если ошибок нет, и отрицательное значение при обнаружении ошибок графики. Для дальнейшего использования этой функции необходимо сохранить ее результат в какой-либо переменной. Список ошибок графического режима дан в приложении 2.
Функция GraphErrorsMsg(Code):string преобразует код ошибки, обнаруженной с помощью GraphResult в ее соответствующее текстовое сообщение .
Завершение работы в графическом режиме и выход в текстовый выполняется процедурой CloseGraph. При этом все графические установки сбрасываются и экран переводится в текстовый режим работы.
Пример.
EGAVGA.BGI находится на диске А в каталоге ТР. Выбран режим
работы VGA.
USER Graph;
Var Driver,Mode,Error:integer;
Begin
Driver:= VGA;
Mode:= 0;
InitGraph (Driver, Mode,'A:\TP');
Error:= GraphResult;
If Errors <>0 then writeln('ошибка:',GraphErrorMsg(Error))
else {начало работы с графикой}
......
CloseGraph
End.
SetGraphMode(Mode:Integer) - процедура установки нового режима работы графического адаптера с заданием атрибутов по умолчанию и очисткой экрана. Текущий указатель помещается в точку (0,0).
RestoreCrtMode - процедура временной приостановки работы в графическом режиме и восстановление текстового режима работы экрана, установленного перед инициализацией графики. В отличие от процедуры CloseGraph установленные параметры графического режима не сбрасываются. Восстановить графический режим можно вызовом процедуры SetGraphMode(GetGraphMode).