Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Лабораторная работа № 10





 

Тема: Разработка программ с использованием графических построений.

Цель: Научиться работать с монитором в графическом режиме, изучить графические возможности среды Pascal.

1. Теоретические сведения.

Установка графического режима.

Для использования графических возможностей необходимо подключить к программе модуль Graph.

Прежде чем использовать графические возможности, необходимо перевести монитор из текстового режима в графический. Это осуществляется процедурой:

Procedure InitGraph (Var gd, gm:Integer; Path:String),

в которой переменная gd определяет тип графического драйвера, переменная gm – режим работы графического адаптера, константа Path – маршрут поиска файла драйвера. Для автоматического определения типа драйвера можно использовать процедуру Detect:

gd: = detect;

InitGraph (gd, gm, \C:\Bp\Bgi\);

После такого обращения устанавливается графический режим работы экрана, а при выходе из процедуры переменные gd и gm содержат целочисленные значения, определяющие тип драйвера и режим его работы.

Процедура

Procedure CloseGraph;

завершает работу адаптера в графическом режиме и восстанавливает текстовый режим работы экрана.

В ходе работы в графическом режиме можно использовать функцию:

Function GraphResult: Integer;

возвращающюю значение, в котором закодирован результат последнего обращения к графическим процедурам. Для каждого значения в модуле Graph определена константа:

Const

grOk = 0; {Нет ошибок}

grInitGraph = -1; {Не инициализировался графический режим}

grNotDetect = -2; {Не определен тип драйвера}

grFileNotFind = -3; {Не найден графический драйвер}

grInvalidDriver = -4; {Неправильный тип драйвера

grNoLoadMem = -5; {Нет памяти для размещения драйвера}

grNoScanMem = -6; {Нет памяти для просмотра областей}

grNoFloodMem = -7; {Нет памяти для закраски областей}

grFontNotFound = -8; {Не найден файл со шрифтом}

grNoFontMem = -9; {Нет памяти для размещения шрифта}

grInvalidMode = -10 {Неправильный графический режим}

grError = -11; {Общая ошибка}

grError = -12; {Ошибка ввода-вывода}

grInvalidFont = -13; {Неправильный формат шрифта}

grInvalidFontNum = -14; {Неправильный номер шрифта}

 

После обращения к функции GraphResult признак ошибки сбрасывается, поэтому повторное обращение к ней вернет ноль.

С помощью функции

Function GraphErrorMzg(Code:Integer):String;

можно по коду ошибки Code получить текстовое сообщение.

Ниже приведена типичная последовательность операторов для инициации графического режима с автоматическим определением типа драйвера:

Var gd, gm, Error: Integer;

begin

gd: = Detect; {Автоопределение драйвера}

InitGraph (gd,gm,'C:\Bp\Bgi'); {Инициируем графику}

Error: = GraphResult; {Получаем результат}

If Not (Error = grOk)

then {Проверяем ошибку}

Begin

{Выводим сообщение об ошибке}

Writeln (GraphErrorMsg(Error)); ……..

end

else {нет ошибки}

Begin

….{команда работы с графикой}

CloseGraph {Закрывается графический режим}

end

end.

 

Координаты.

Экран монитора в графическом режиме представляет собой множество точек, изменяя цвет которых можно получить графическое изображение. Каждая точка имеет свои координаты. Т.о., экран в графическом режиме можно рассматривать как координатную плоскость (см. рис.1). Стандартный размер экрана монитора SVGA составляет 640*480 пиксел (точек). Левый верхний угол экрана имеет координаты (0,0). Размерность экрана можно получить с помощью функции типа Integer GetMaxX и GetMaxY, которые возвращают максимальные координаты экрана в текущем режиме работы соответственно по горизонтали (по X) и вертикали (по Y).

В графическом режиме, аналогично курсору в текстовом режиме, имеется графический указатель. Его координаты можно получить с помощью функции типа Integer GetX и GetY.

Процедура

Procedure MoveRel (dX, dY: Integer).

Здесь dX, dY – приращение новых координат указателя (соответственно по горизонтали и вертикали) относительно того положения, которое занимал указатель к моменту обращения к процедуре.

 

Цвета.

Процедура

Procedure SetColor (Color: Word);

устанавливает текущий цвет Color для выводимых линий и символов. В модуле Graph определены точно также те константы для задания цвета, как и в модуле Сrt.







Дата добавления: 2015-09-15; просмотров: 550. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Словарная работа в детском саду Словарная работа в детском саду — это планомерное расширение активного словаря детей за счет незнакомых или трудных слов, которое идет одновременно с ознакомлением с окружающей действительностью, воспитанием правильного отношения к окружающему...

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

Эндоскопическая диагностика язвенной болезни желудка, гастрита, опухоли Хронический гастрит - понятие клинико-анатомическое, характеризующееся определенными патоморфологическими изменениями слизистой оболочки желудка - неспецифическим воспалительным процессом...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия