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

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

Лабораторная работа № 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. Нарушение авторских прав; Мы поможем в написании вашей работы!




Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Механизм действия гормонов а) Цитозольный механизм действия гормонов. По цитозольному механизму действуют гормоны 1 группы...

Алгоритм выполнения манипуляции Приемы наружного акушерского исследования. Приемы Леопольда – Левицкого. Цель...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

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