КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Переход в графический режим и обратно
После включения ПК к моменту запуска программы из среды Паскаля состояние ПК соответствует работе экрана в текстовом режиме. Программа, которая использует графические средства ПК, должна инициировать графический режим работы адаптера с помощью INITGRAPH - процедуры модуля GRAPH. По завершении выполнения программы в графическом режиме ПК надо возвратить в текстовый режим с помощью процедуры CLOSEGRAPH. Процедура INITGRAPH инициирует графическую систему и графический режим аппаратуры. Формат обращения к процедуре INITGRAPH: INITGRAPH (драйвер, режим, путь); где драйвер - параметр-переменная типа INTEGER, определяющая тип графического драйвера и адаптера; режим — параметр-переменная типа INTEGER, определяющая режим работы графического адаптера; путь - выражение типа STRING, содержащее путь (маршрут) к каталогу, в котором находятся графические драйверы; по умолчанию (если параметр -пустая строка) подразумевается, что драйверы находятся в текущем каталоге. Если параметр драйвер равен нулю (Detect), то при выполнении процедуры INITGRAPH вызывается процедура DetectGraph, загружается соответствующий драйвер и выбирается графический режим, т. е. параметр режим получит соответствующее значение. Если первый параметр не равен нулю, то значение этого параметра рассматривается как номер драйвера, который и загружается. Для указания типа драйвера в модуле GRAPH предопределен ряд констант. Например: CONST Detect =0; { Режим автоопределения типа драйвера } CGA = 1; MCGA = 2; EGA = 3;... VGA = 9; Автоматическое определение типа драйвера и адаптера используется, если тип адаптера неизвестен или если программа рассчитана на работу с любым адаптером. Например: VAR Ga, Gm: INTEGER; ... Ga:= Detect; INITGRAPH (Ga, Gm, "); INITGRAPH (Ga, Gm, 'D:\BP\BGI1); где Ga - тип драйвера; Gm - тип режима, результат, возвращаемый INITGRAPH. Большинство адаптеров могут работать в различных режимах. Чтобы указать адаптеру требуемый режим работы, используется переменная режим, значением которой может быть одна из предопределенных констант, определяющих количество пикселей на странице (экране) и палитру. Примеры констант режима работы адаптера: CONST CGACO = 0; { 320 х 200, 1 страница, 4 цвета, палитра 0: черный, ярко-зеленый, ярко-красный, желтый } CGAC1 = 1; { 320 х 200, 1 страница, 4 цвета, палитра 1: черный, ярко-голубой, малиновый, белый } EGALo = 0; { 640 х 200, 4 страницы, 16 цветов } EGAHi =1; { 640 х 350, 2 страницы, 16 цветов } VGALo = 0; { 640 х 200, 4 страницы, 16 цветов } VGAMed =1; { 640 х 350, 2 страницы, 16 цветов } VGAHi = 2; { 640 х 480, 1 страница, 16 цветов } РС3270Н1 =5; { 720 х 350, 1 страница, 1 цвет } IBM8514LO = 0; { 640 х 480, 256 цветов) IBM8514H1 = 1; { 1024х 768, 256 цветов } Функция GraphResult возвращает значение типа INTEGER, в котором содержится код ошибки (успешности) выполнения инициализации графического режима с помощью процедуры INITGRAPH. Значение GraphResult = 0 (или GrOk) определяет успешную инициализацию графического режима. После обращения к функции GraphResult значение кода ошибки сбрасывается. Для многократного использования его надо переслать в переменную целого типа. После обращения к процедуре INITGRAPH необходим анализ успеха инициализации. Процедуры и функции графического режима надо выполнять только в случае значения GraphResult = 0. Функция GraphErrorMsg возвращает значение типа String, в котором по указанному коду ошибки выдается соответствующее текстовое сообщение об ошибке. Формат обращения: GraphErrorMsg (код); где код - переменная типа Integer, содержащая значение кода ошибки, определенное с помощью функции GraphResult. Например, с помощью операторов: Error:= GraphResult; Writeln (GraphErrorMsg (Error)); - можно отпечатать: 'Device driver not found' (не найден драйвер устройства) вместо: 'error code -3' (код ошибки-3),-без этих операторов. Чаще всего причиной ошибки при обращении к процедуре INITGRAPH является неправильное указание места файла graph.tpu, содержащего библиотеку графических подпрограмм, или файла с драйвером графического адаптера, например файла egavga.bgi для адаптера VGA. Настройку на местоположение драйвера можно выполнить, указав путь в качестве фактического параметра процедуры INITGRAPH или разместив драйвер в текущей директории. Чтобы компилятор Паскаля нашел эти файлы, надо соответствующим образом настроить среду Паскаля. Для этого в режиме Options\Directories\Unit directories надо указать каталог, в котором размещены эти файлы. Например: D:\BP\UNITS;D:\BP\BGI Процедура CLOSEGRAPH прекращает работу адаптера в графическом режиме и восстанавливает текстовый режим работы экрана.
Дата добавления: 2014-01-06; Просмотров: 507; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |