русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Відомості з програмування.


Дата добавления: 2015-06-12; просмотров: 520; Нарушение авторских прав


Графічне та текстове виведення інформації на екран IBM-сумістимих ЕОМ передбачає різні режими роботи апаратури, що має бути в явному вигляді вказано програмістом. Для реалізації графічного виводу при програмуванні на мовою PASCAL застосовують процедури і функції що містяться в модулі GRAPH (файл GRAPH.TPU). Перед використанням цих процедур і функцій необхідно завантажити і проініціалізувати графічний драйвер. Підтримку моніторів IBM EGA та VGA забезпечує драйвер EGAVGA.BGI.

Наступний фрагмент програми забезпечує ініціалізацію графічного режиму з автодетектуванням – автоматичним вибором графічного драйвера та його режиму такими, що забезпечуватиме графічний вивід з найбільшою якістю.

Program LabGraph;

Uses Graph; { Використовує модуль GRAPH }

Var GraphDriver,GraphMode,ErrorCode:Integer;

{ Змінні, необхідні для реалізації графічного режиму }

Begin { Виконувана частина програми }

GraphDriver:=Detect;{Визначаємо тип драйвера}

InitGraph(GraphDriver,GraphMode,'D:\TP7\BGI');{Шлях до драйвера}

ErrorCode:=GraphResult;

if ErrorCode<> grOK then begin

Writeln('Графічна помилка:',GraphErrorMsg(ErrorCode));

Writeln('Виконання програми припиняється ...'); Halt(1)

end;

{ Текст програми з використанням графічного виводу }

CloseGraph;

end.

Замість використаного в наведеному фрагменті режиму автодетектування (змінній GraphDriver присвоєно константу Detect) можна при виклику процедури ініціалізації графічного драйверу InitGraph явно задати код графічного драйвера і режиму (змінна GraphMode).

В наведеному фрагменті використані також функція повернення коду завершення графічної операції GraphResult:Integer i процедура CloseGraph, яка розвантажує графічний драйвер. Для тимчасового переходу в режим текстового виводу треба застосовувати виклик процедури RestoreCrtMode. Повернення в режим графічного виводу забезпечує виклик процедури SetGraphMode(GraphMode:Integer). При зміні режиму втрачаються зображення (текстові і графічні) і, при необхідності, програміст повинен передбачити їх збереження.



Вибраний графічний драйвер і режим визначають координатну систему графічного екрану. В режимі EGAHi (640x350 точок, 16 кольорів, 2 сторінки) екранні координати матимуть поданий на рис. 12.a вигляд. Точки графічного зображення часто називають пікселами ( від англійського Picture Element).

Рис. 12.A. Координатна система графічного екрану для режиму EGAHI.

Максімальну кількість пікселів по X та Y для встановленого режиму можна визначити за допомогою функцій GetMaxX,GetMaxY.

Процедура PutPixel(X, Y: Integer; Pixel: Word) виводить на екран точку заданного значенням змінної Pixel кольору.

Функція GetPixel(X,Y: Integer): Word повертає значення кольру заданої координатами X,Y точки екрану.

Ряд процедур і функцій працюють із наперед визначеними кольором переднього плану і фону, які встановлюються за допомогою процедур SetColor(Color: Word) i SetBkColor(ColorNum: Word) відповідно. Функції GetColor:Word і GetBkColor:Word дозволяють прочитати поточні значення кольору переднього плану і фону. Процедура ClearDevice очищає екран (заливає його кольором фону).

Відрізок прямої лінії будує процедура Line(x1, y1, x2, y2: Integer). Процедура Rectangle(x1, y1, x2, y2: Integer) будує незамальваний прямокутник. Замальований кольором переднього плану прямокутник будує процедура Bar(x1, y1, x2, y2: Integer). Коло із заданими центром і радіусом будує процедура Circle(X,Y: Integer; Radius: Word), дугу кола – процедура Arc(X,Y: Integer; StAngle, EndAngle, Radius: Word). Побудову дуги еліпса здійснює процедура Ellipse(X,Y:Integer; StAngle, EndAngle:Word; Xradius, YRadius:Word).

Залитий кольором переднього плану еліпс будує процедура FillEllipse(X,Y: Integer; XRadius, YRadius: Word).

Ряд процедур і функцій використовують поточний вказівник СР(Current Pointer), який функціонально подібний до курсора текстового режиму, але, на відміну від останнього, – невидимий. Функції GetX: Integer, GetY: Integer повертають значення координат СР. Встановити координати СР дозволяє процедура MoveTo(X, Y: Integer). Процедура MoveRel(Dx, Dy: Integer) змінює координати СР на Dx,Dy. Процедура LineTo(X, Y: Integer) з’єднує лінією СР з точкою (X,Y), при цьому значення X i Y заміщують попередні значення координат СР. Процедура LineRel(Dx, Dy: Integer) з’єднує лінією точку на яку вказує СР з точкою, координати якої на Dx і Dy відрізняються від СР.

Вивід текстової інформації в графічному режимі здійснюється за допомогою процедур OutText і OutTextXY. В процедурі OutTextXY(X,Y:Integer; TextString: string) положення тексту, що виводиться задається явно. Процедура OutText(TextString: string) виводить текст починаючи з позиції на яку вказує СР. Номер шрифта, орієнтація тексту і розмір символів задаються при виклику процедури SetTextStyle(Font, Direction: Word; CharSize: Word).



<== предыдущая лекция | следующая лекция ==>
Приклад алгоритму обчислення детермінанту. | Завдання до лабораторної роботи.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.753 сек.