- •1. Библиотечный модуль Graf
- •1.1. Характеристика графических режимов работы адаптера
- •1.2. Основные процедуры и функции графического модуля
- •Процедура CloseGraph
- •1.3. Изображение линий и точек
- •1.4. Изображение многоугольников
- •1.5. Изображение дуг, окружностей, эллипсов
- •1.6. Краски, Палитры, Заполнения
- •Процедура GetDefaultPalette
- •Процедура SetFillStyle
- •1.7. Вывод текста
- •Задает выравнивание выводимого по отношению к текущему положению указателя или к заданным координатам. Заголовок:
- •Процедура SetUserCharSize
- •Функция TextWidth
- •Функция TextHeight
- •1.8. Координаты. Окна. Страницы
- •Функции GetX и GetY
- •Процедура SetViewPort
- •Процедура SetActivePage
- •1.9. Сохранение и выдача изображений
- •2. Объектно-ориентированное программирование
- •2.1. Основные принципы ооп
- •2.2. Создание объектов
- •2.3. Наследование. Правила наследования
- •2.4. Виртуальные и динамические методы
- •2.5. Отличие виртуальных и динамических методов
- •2.6. Деструкторы
- •Список заданий выпускной квалификационной работы
- •Литература
Приложение 6.
СОВРЕМЕННАЯ ГУМАНИТАРНАЯ АКАДЕМИЯ
Языки и методы
программирования
ЮНИТА 3
Модуль GRAPH.
Модульное и объектное программирование
МОСКВА 2003
Современная Гуманитарная Академия
Дистанционное образование
_______________________________________________________________
Рабочий учебник
Фамилия, имя, отчество ___________________________________________
Группа _________________________________________________________
Номер контракта _________________________________________________
Языки и методы
программирования
ЮНИТА 3
Модуль GRAPH.
Модульное и объектное программирование
МОСКВА 2003
Разработано Вострокнутовым И.Е.
КУРС: ЯЗЫКИ ИМЕТОДЫ ПРОГРАММИРОВАНИЯ
Юнита 1. Основы программирования в Турбо Паскаль. Ядро.
Юнита 2. Модуль CRT. Структурное программирование.
Юнита 3. Модуль GRAPH. Модульное и объектное программирование.
Юнита 2
Учебное пособие включает в себя теоретический материал, разобранные примеры и задания по одному из наиболее популярных в настоящее время языков программирования Турбо Паскаль. Данное пособие отличается от Юниты 1 и Юниты 2, тем, что она полностью реализует метод проектов. Именно на разработку сначала простых программных проектов, а затем все более и более сложных ориентирован весь теоретический материал. В конце юниты приведены темы выпускной квалификационной работы, которую должны выполнить учащиеся по окончании обучения в Школе программистов.
Для слушателей Школы программистов Современной Гуманитарной Академии, 8 – 11 классов общеобразовательной школы.
Пособие может быть также использовано для самостоятельного изучения языка программирования Турбо Паскаль.
СОВРЕМЕННАЯ ГУМАНИТАРНАЯ АКАДЕМИЯ, 2004
1. Библиотечный модуль Graf
Стандартное состояние ПК после его включения соответствует работе экрана в текстовом режиме, поэтому любая программа, использующая графические средства компьютера, должна определенным образом инициировать графический режим работы дисплейного адаптера. После завершения работы программы ПК автоматически возвращается в текстовый режим.
1.1. Характеристика графических режимов работы адаптера
Настройка графических процедур на работу с конкретным адаптером достигается за счет подключения нужного графического драйвера.
Драйвер –это специальная программа, осуществляющая управление теми или иными техническими средствами ПК. Графический драйвер управляет дисплейным адаптером в графическом режиме. Графические драйверы разработаны фирмой Borland практически для всех типов адаптеров. Обычно они располагаются на диске в определенном подкаталоге BGI в виде файлов с расширением BGI . Например, CGA. BGI – драйвер для CGA адаптера, EGAVGA. BGI – драйвер для адаптеров EGA и VGA и т.д.
Выпускаемые в настоящее время ПК оснащаются адаптерами, разработанными фирмой IBM или совместимыми с ним. Все они имеют возможность работы в графическом режиме. В этом режиме экран дисплея рассматривается как совокупность очень близко расположенных точек-пиксел, совместимостью которых можно управлять с помощью программы. Графические возможности конкретного адаптера определяются разрешением экрана (количеством пиксел и количеством цветов, которыми может светиться каждая пиксела) и количеством графических страниц.
У нас используются адаптеры (так называемые SVGA) с разрешением 800х600, использующие 256 цветовых оттенков. Но в библиотеке Graf для них нет драйвера. Поскольку SVGA совместимы с VGA, для управления современными графическими адаптерами приходится использовать драйвер EGAVGA.BGI и довольствоваться его скромными возможностями.
1.2. Основные процедуры и функции графического модуля
Процедура InitGraf.
Инициирует графический режим видеоадаптера.
Заголовок процедуры:
Procedure InitGraf (var GrDriver, GrMode Integer; Path: String);
Здесь, GrDriver – переменная типа Integer, определяет типизированная графического драйвера;
GrMode – переменная того же типа, задающая режим работы графического адаптера;
Path – выражение типа String, содержащее имя файла драйвера и, возможно, маршрут его поиска.
Тип драйвера должен соответствовать типу графического адаптера. Для указания типа драйвера в модуле предусмотрены следующие константы:
Const
Detect =0; {режим автоопределения типа}
CGA=1;
MCGA=2;
EGA=3;
EGA64=4;
EGAMono=5;
IBM8514=6;
HercMono=7;
ATT400=8;
VGA=9;
PC3270=10;
Большинство адаптеров могут работать в различных режимах. Для выбора режима работы используется переменная Mode, значением которой в момент обращения к процедуре могут быть так же константы.
Например,
{Адаптер EGA:}
EGA Lo=0; (640х200, 16 цветов)
EGA Hi=1; (640х350, 16 цветов)
EGAMonoHi=3; (640х350, 2 цвета)
{Адаптер VGA:}
VGA Lo=0; (640х200)
VGA Med=1; (640х350)
VGAHi=2; (640х480)
{Адаптер IBM8514:}
IBM8514Lo=0; (640x480, 256 цветов)
IBM8514Hi=1; (1024x768, 256 цветов)
На наших машинах обращение к процедуре имеет вид:
Program DemoGraph;
UsesGraph;
Var
GrDriver:= 9;
GrMode:= 1;
InitGraph (GrDriver, GrMode, ‘C: |Bp| BGI’);
. . . . . . . . . . . . . . . . . . .
Если тип адаптера неизвестен или если программа рассчитана на работу с любым адаптером, используется обращение к процедуре с требованием автоматического определения типа драйвера:
Driver: =Detect;
InitGraph (GrDriver, GrMode, ‘C: |Tp| BGI’ );
После такого обращения устанавливается графический режим работы экрана, а переменные GrDriver и GrMode содержат целочисленные значения, определяющие тип драйвера и режим его работы.
При этом для адаптеров, способных работать в нескольких режимах, выбирается старший режим, т.е. тот, что закодирован максимальной цифрой. Так, в нашем случае выберется режим с разрешением 640х480.
Чаще всего причиной возникновения ошибки при обращении к процедуре InitGraph является неправильное указание местоположения файла с драйвером графического адаптера. В цепочке вызова необходимо указать точное местоположение EGA VGA.B6I.
