Основы программирования в паскале

Автор работы: Пользователь скрыл имя, 16 Сентября 2009 в 13:41, Не определен

Описание работы

Учебник по программированию

Файлы: 16 файлов

Pascal процедуры и функции.doc

— 181.00 Кб (Просмотреть файл, Скачать файл)

Pascal динамические структуры данных.doc

— 147.00 Кб (Просмотреть файл, Скачать файл)

Pascal и графика.DOC

— 116.50 Кб (Скачать файл)
 

     Программирование  графики в среде  Thrbo Pascal 7.0. 

    Базовые процедуры и функции.

     В библиотеке Graph вывод точки осуществляется процедурой

     PutPixel(X, Y: integer; Color:word), где X, Y - экранные координаты расположения точки, Color - ее цвет (от 0 до 15).

     Для определения цвета точки в  конкретной позиции экрана служит функция  GetPixel(X, Y: integer): word.

     Из  точек возможно построение линий. Это выполняет процедура

     Line(X1, Y1, X2, Y2), где X1, Y1 - координаты начала, X2, Y2 - координаты конца линии.  

Например:

     Line(1, 1, 200, 1).

     Для черчения линий применяются также  еще две процедуры:

     LineTo(X, Y) - строит линию из точки текущего положения указателя в точку с координатами X, Y;

     LineRel(dX, dY) - проводит линию от точки текущего расположения указателя в точку СРx+dX, CPy+dY, где CPx и CPy - текущие координаты СР.  

     Установка стиля (тонкие, широкие, штриховые пунктирные линии и т.д.) производится процедурой:

     SetLineStyle (LineStyle: word; Pattern: word; Thickness: word). Параметр

     LineStyle устанавливает тип строки, который может быть задан поименованной константой или соответствующим  ей цифровым значением из Pattern - образец, Thickness - толщину линии, определяемую константами из Табл.2. 

     Таблица 1

     Типы  линий

     КОНСТАНТА      ЗНАЧЕНИЕ      ОПИСАНИЕ
     SolidLn      0      Непрерывная линия
     DottedLn      1      Линия из точек
     CentedLn      2      Линия из точек и тире
     DashedLn      3      Штриховая линия
     UserLn      4      Тип пользователя
 
 
 
 
 
 

     Таблица 2

     Толщина линии

     КОНСТАНТА      ЗНАЧЕНИЕ      ОПИСАНИЕ
     NormWidth      1      Нормальная толщина
     ThickWidth      3      Жирная  линия
 

     Процедура GetLineSettings (Var lineInfo: LineSettingsType) возвращает текущий стиль, образ и толщину линии, установленные SetLineStyle.

Работа  с цветом

 

     В видеобуфере (видеопамяти) для хранения информации о цвете пиксела отводится фиксированное количество битов памяти. Размер палитры и ее организация зависят от типа используемого видеоадаптера.

     При использовании видеокарты EGA/VGA для  установки цвета пиксела используется 6 битов.

     Для формирования цвета используется система RrGgBb, где RGB - красный, зеленный и голубой цвета нормальной яркости, а rgb - те же цвета, но яркость их в два раза меньше.

     Для EGA/VGA-карт драйвер EGAVGA..BGI устанавливает 54 цвета.

     В Таблице 4 приведены 16 основных цветов. 

     Таблица 3

     Цвета видеокарты EGA/VGA

     КОНСТАНТА ЗНАЧЕНИЕ      КОД      ЦВЕТ
     EGABlack       0      000000      Черный
     EGABlue      1      000001      Синий
     EGAGreen      2      000010      Зеленый
     EGACyan      3      000011      Сине-зеленый
     EGARed      4      000100      Красный
     EGAMagenta      5      000101      Красно-синий
     EGABrown      6      000110      Коричневый
     EGALightGray      7      000111      Светло-серый
     EGADarkGray      56      111000      Темно-серый
     EGALightBlue      57      111001      Ярко-синий
     EGALightGreen      58      111010      Ярко-зеленый
     EGALightCyan      59      111011 Яркий сине-зеленый
     EGALightRed      60      111100      Ярко-красный
      EGALightMagenta      61      111101 Яркий красно-синий
     EGAYellow      62      111110      Желтый
     EGAWhite      63      111111      Белый
 

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

       Для EGA и VGA адаптеров в качестве фона может быть задано любое целое число в диапазоне 0-63. 

     Любой цвет для создания фигур и вывода текста может быть установлен с помощью процедуры SetColor(Color: word).  

     Фон задается процедурой SetBkColor(Color: word). 

     Для проверки максимально допустимого количества используемых программой цветов служит процедура GetMaxColor: word, возвращающая максимальное значение кода цвета в палитре минус 1.

     Процедуры

     GetColor: word - возвращают номера текущего цвета для выводимых элементов

     GetBKColor: word возвращают номера текущего цвета для фона.

Работа  с текстом

     Для вывода в графическом режиме на экран  текста используются процедуры: OutText(TextString: string), выводящая строку текста с текущего положения СР, и OutText(X, Y, Text), где X, Y - координаты точки начала вывода текста, Text - константа или переменная типа string.

       Определенные проблемы создает  вывод численных данных, так как  в модуле Graph нет специально предназначенных для этого процедур. 

     Установить  нужный шрифт вывода можно процедурой

     SetTextStyle(Font: word; Direction: word; CharSize: word),

где Font - выбранный шрифт, задаваемый константами из Табл. 5,

Direction - направление вывода (горизонтальное или вертикальное), задаваемое константами из Табл.6,

CharSize - размер выводимых символов. 

     Таблица 4

     Типы  шрифтов

     КОНСТАНТА      ЗНАЧЕНИЕ      ОПИСАНИЕ
     DefaultFont      0 8x8-битовый шрифт
     TriplexFont      1 Штриховой шрифт
     SmallFont      2 Малый шрифт
     SansSerifFont      3 Шрифт SansSerif
     GothicFont      4 Готический  шрифт
 
 
 

     Таблица 5

     Ориентация  текста

     КОНСТАНТА      ЗНАЧЕНИЕ      ОПИСАНИЕ
     HorizDir      0      Слева направо
     VertDir      1      Снизу вверх
 

     Для выравнивания текста необходимо использовать процедуру SetTextJastify (Horiz, Vert: word). Выравнивание относительно СР выполняется по вертикали и по горизонтали с помощью параметров Horiz и Vert (Табл.7). 

     Таблица 6

     Типы  линий

     КОНСТАНТА      ЗНАЧЕНИЕ      ОПИСАНИЕ
     LeftText      0      Выровнять влево
     CenterText      1 Центрировать  по горизонтали
     RightText      2      Выровнять вправо
     BottomText      0      Выровнять вниз
     CenterText      1 Центрировать  по вертикали
     TopText      2      Выровнять вверх
 

     Пример:

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

Program Zast;

     Uses Graph, Crt;

     Var DriverVar, ModeVar :integer;

     xm,ym                       :integer;

     c                                :char;

Begin

{Инициализация  графического режима }

     DriverVar:=Detect;  

     InitGraph(DriverVar, Modevar, ‘ ’);

     xm:=GetMaxX; ym:=GetMaxY;

{ Вывод прямоугольника, нарисованного зеленой сплошной  жирной линией }

    SetColor(2); SetLineStyle(0,0,2);

     Rectangle(0,0,xm,ym);

{ Вывод прямоугольника, нарисованного голубой сплошной  тонкой линией }

     SetColor(3); SetLineStyle(0,0,1);

     Rectangle(20,20,xm-20,ym-20);

{ Вывод прямоугольника, нарисованного красной пунктирной  тонкой линией }

     SetColor(4); SetLineStyle(3,0,1);

     Rectangle(40,40,xm-40,ym-40);

{ Вывод синего  текста с увеличенным размером  букв }

     SetColor(1); SetTextStyle(0,0,2);

     OutTextXY(100,60,'Демонстрация заставки');

{ Вывод коричневого  текста с обычным размером  букв }

     SetColor(6); SetTextStyle(0,0,1);

     OutTextXY(150,100,'Демонстрация заставки');

{ Ожидание нажатия  клавиши }

     c:=readkey;

{ Закрытие графического  режима }

     CloseGraph;

     End.

  Построение геометрических  фигур

     Библиотека  Graph содержит ряд процедур, которые на основе задаваемых параметров формируют различные геометрические фигуры.

     Рассмотрим  некоторые из них:

     Для построения прямоугольных фигур  существуют несколько процедур.

     Rectangle (X1, Y1, X2, Y2: integer) - процедура вычерчивания одномерного прямоугольника,

     где X1, Y1 - координаты левого верхнего угла, X2, Y2 - координаты правого нижнего угла прямоугольника. 

     Более удобные для восприятия закрашенные прямоугольники можно строить с использованием процедуры:

     Bar(x1, y1, x2, y2: integer) - процедура рисует закрашенный столбец.

Цвет закраски устанавливается с помощью SetFillStyle.  

Процедура Bar3D(x1, y1, x2, y2: integer; Depth: word; Top: boolean)

Program Graph.doc

— 19.00 Кб (Просмотреть файл, Скачать файл)

Unit GraphApp.doc

— 21.50 Кб (Просмотреть файл, Скачать файл)

Unit GraphObj.doc

— 21.50 Кб (Просмотреть файл, Скачать файл)

Краткие основы Паскаля.doc

— 217.00 Кб (Просмотреть файл, Скачать файл)

Общие понятия программирования.doc

— 80.00 Кб (Просмотреть файл, Скачать файл)

Основные принципы ООП.doc

— 151.00 Кб (Просмотреть файл, Скачать файл)

Основы разработки программ.doc

— 148.00 Кб (Просмотреть файл, Скачать файл)

Паскаль на 5-КУ 85 листов.doc

— 651.50 Кб (Скачать файл)

Модуль CRT.doc

— 30.00 Кб (Просмотреть файл, Скачать файл)

Модуль Graph.doc

— 77.50 Кб (Просмотреть файл, Скачать файл)

Структура модуля.doc

— 38.00 Кб (Просмотреть файл, Скачать файл)

Практичесое занятие по работе с модулем граф.doc

— 52.00 Кб (Просмотреть файл, Скачать файл)

Целочисленная арифметика TURBO PASCAL.doc

— 92.00 Кб (Просмотреть файл, Скачать файл)

Информация о работе Основы программирования в паскале