Мегаобучалка Главная | О нас | Обратная связь


Управление экраном и звуком компьютера



2019-11-21 153 Обсуждений (0)
Управление экраном и звуком компьютера 0.00 из 5.00 0 оценок




Автор:

Доцент кафедры ОРД

к.т.н. К.Т. Тынчеров

 

 

ЛЕКЦИЯ

 

управление экраном компьютера в текстовом и графических режимах. управление звуком

 

Специальность 130000.65 – Разработка и эксплуатация нефтегазовых месторождений, очная форма обучения

 

 

Время – 2 часа

 

 


Тема:   Управление экраном компьютера в текстовом и графических режимах. Управление звуком

 

Цель: Сформировать представление об используемых в среде программирования Turbo Pascal  модулях CRT и GRAPH Pascal. Изучить порядок подключения модулей к программе, координаты экрана, графические функции и процедуры модуля GRAPH, особенности управления экраном, звуком и клавиатурой с помощью функций и процедур модуля CRT.

Задачи:

Образовательные:

1. Дать понятие среды программирования Turbo Pascal, особенности ее реализации.

2. Объяснить теоретические основы языка Turbo Pascal.

3. Сформировать представление о практической реализации основных процедур при создании программных продуктов на языке Turbo Pascal. Развивающие:

1. Развивать у обучаемых память, умение анализировать предложенный на лекции материал, синтезировать его и выделять главное, делать выводы.

2. Формировать умение конспектировать излагаемый преподавателем материал.

Воспитательные:

1. Формировать у обучаемых чувство гордости и ответственности при работе в сфере нефтегазовой промышденности.

2. Формировать у обучаемых осознание необходимости избранной ими специальности.

Методы проведения занятия:

1. Объяснительно – иллюстративный, где преподаватель излагает, передаёт информацию, а обучаемые слушают и запоминают.

2. Проблемное изложение, где в процессе занятия преподаватель ставит проблему и самостоятельно её решает, а обучаемые следят за логикой изложения, анализируют информацию, конспектируют.

Приемы обучения: изложение, рассказ, показ, эвристическая беседа.

Место проведения: - аудитория в соответствии с расписанием.

Время проведения занятия: - одно занятие (2 часа).

Материально-техническое обеспечение занятия:

1. Учебная литература;

2. Комплект слайдов выполненных в программе Power Point;

3. Оборудование лекционной аудитории;

4. Доска, мел.

5. Наличие конспектов и шариковых ручек у слушателей.

 

Распределение учебного времени:

Вводная часть:
-проверка наличия обучаемых и их готовность к занятию 4 мин.
- вступительное слово преподавателя (постановка цели лекции, разъяснение порядка проведения занятия, показ связи с другими темами дисциплины, акцентирование внимания на важность изучения и получения знаний по данной теме) 6 мин.
Основная часть: - изучение основных вопросов темы   65 мин.
Заключительная часть
- рекомендации по дальнейшему изучению темы; 1 мин.
- подведение итогов учебного занятия; 2 мин.
- методические рекомендации на самостоятельную подготовку. 2 мин.
Итого 80 мин.

 

План лекции и расчет времени:

 

Введение 10 мин.
Основная часть 1. Управление экраном и звуком компьютера   30 мин.
2. Графика в Turbo Pascal 35 мин.
Заключение 5 мин.

 


Литература

 

1. Закон Российской Федерации «О правовой охране программ для электронно-вычислительных машин и баз данных» //Ведомости Верховного Совета Российской Федерации, 1992, № 42, ст. 2335.

2. Закон Российской Федерации «Об информации, информатизации и защите информации» от 20 февраля 1995 г. № 24-ФЗ // Собрание законодательства Российской Федерации, 1995, № 8, ст. 609.

3. Леонтьев В.П. Новейшая энциклопедия персонального компьютера - М: ОЛМА - ПРЕСС, 2002.

4. Информатика. Базовый курс. Учебник для ВУЗов / Под ред. С. В. Симоновича - СПб: Питер, 2000.

5. Андриашин Х.А., Казанцев С.Я. Информатика и математика для юристов. Учебное пособие для вузов.- М.: ЮНИТИ-ДАНА, 2003.-463 с.

6. Попов В.Б. Turbo Pascal для школьников: Уч. Пособие. – 3-е доп. Изд. –М.: Финансы и статистика, 2003. – 528 с.

7. Тынчеров К.Т. Информатика и математика. Раздел «Информатика». Учебно-методическое пособие по дисциплине. – Ставрополь: Изд-во СФКрУ, 2008. – 66 с.

 


ВВЕДЕНИЕ

Напоминаю, что на предыдущей лекции мы с вами изучали простые и сложные операторы, принципы реализации подпрограмм и процедур ввода Read, Readln и вывода Write, Writeln.

 

Управление экраном и звуком компьютера

1.1. Управление экраном в текстовом режиме

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

В Турбо Паскале предусмотрено несколько процедур и функций, значительно увеличивающих возможности текстового ввода-вывода. Эти подпрограммы coсредоточены в библиотечном модуле CRT, название которого происходит от Cathode Ray Tube display — дисплей на электронно-лучевой трубке.

1.1.1. Назначение модуля CRT

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

Подключение модуля CRT к пользовательской программе осуществляется следующим образом:

uses  CRT;

С момента старта модуля CRT пользователю доступны все содержащиеся в нем стандартные средства.

 

1.1.2. Установка текстовых режимов

Текстовые режимы служат для отображения символов кодовой таблицы персонального компьютера и характеризуются количеством символов в строке и строк на экране. Минимальной единицей управления является символ. Он строится из нескольких точек (пикселей), преобразование которых в символ происходит на аппаратном уровне. Текстовые режимы поддерживаются всеми существующими типами адаптеров.

Установка текстовых режимов осуществляется стандартной процедурой ТехtMode(Mode: integer);

Возможные значения режима Mode указаны в табл. 1. Значение может быть задано именем константы (BW40,CO40,...) или номером режима (0,1,...).

Пример:

TextMode(CO80); TextMode(2);

Таблица .1 Стандартные текстовые режимы персонального компьютера

Монитор Экран Цвет Адаптер Сегмент Константа Номер режима
Ч/Б 40x25 16/8 CGA,EGA В800 BW40 0
Цветной 40x25 16/8 CGA,EGA В800 СО40 1
Ч/Б 80x25 16/8 CGA.EGA В800 BW80 2
Цветной 80x25 16/8 CGA,EGA В800 СО80 3
Ч/Б 80x25 3 MA.EGA В800 Mono 7

 

В модуле CRT существует переменная LastMode размерности word, имеющая прямое отношение к текстовым режимам работы адаптера дисплея. Она содержит номер последнего установленного текстового режима и может быть использована как для проверки номера текстового режима.

Write ('Текстовый режим', LastMode);,          ,

так и для возвращения из графического режима в текстовый:

TextMode (LastMode) ;

В модуле CRT имеется специализированная константа Font8x8=256, которая служит для инициализации расширенных текстовых режимов работы адаптеров дисплея. Это, как правило, относится к адаптерам дисплея EGA (Enchanced Graphics Adapter) и VGA (Virtual Graphics Array).

Эти адаптеры позволяют работать в 43- и 50-строчных текстовых режимах. Различные их модификации дают возможность манипулировать строками экрана до 120 символов длиной. Для таких адаптеров при установке видеорежимов из памяти машины загружаются текстовые шрифты с различными матрицами для символов. Известны матрицы 8x8, 8x14, 8x16 для представления каждого символа на экране дисплея.

Матрицу 8x14 поддерживают адаптеры MDA (Monochrom Display Adapter) EGA, VGA, а матрицу 8x8 поддерживают — CGA, EGA и VGA. Поэтому использование константы Font8x8 во время инициализации текстовых режимов работы может относиться только к трем последним адаптерам. Поскольку разрешающая способность адаптеров EGA и VGA выше, чем у CGA, то при стандартном текстовом режиме работы 80x25 у них в знакогенератор загружена таблица  с матрицей 8x14. При загрузке текстового шрифта с матрицей размерности 8x8 может произойти установка расширенных текстовых режимов 80x43 и 80x50. Шрифты первоначально загружаются из памяти ПЗУ, где они располагаются на заранее известных фиксированных адресах.

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

Пример:

TextMode (Font8x8+CO80) —

дополнительно к установке текстового режима в знакогенератор дисплея загружается шрифт из ПЗУ с матрицей размерности 8x8.

 

1.1.3. Очистка экрана

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

ClrScr — полностью очищает экран или текущее окно и помещает курсор в левый верхний угол экрана (координаты 1,1). Выполняется только в текстовом режиме работы экрана.

ClrEol — стирает все символы в строке, начиная с текущей позиции курсора до конца строки.

DelLine — полностью стирает содержимое строки, в которой расположен курсор; все нижестоящие строки перемещаются на одну позицию вверх.

InsLine — вставить пустую строку в позицию экрана, где расположен курсор; все нижестоящие строки перемещаются на одну позицию вниз.

 

1.1.4. Управление курсором

Работа процедуры Write вызывает перемещение курсора по экрану дисплея. Естественно, результаты хаотического вывода только с помощью операторов Write практически не воспринимается человеком.

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

GoToXY (X,Y:byte)

Процедура перемещает курсор в позицию, заданную координатами X (столбец) и Y (строка), относительно текущего окна (оконную систему модуля CRT рассмотрим ниже). Если рассматривать экран как максимально возможное по размеру окно, то диапазон значений для Х= 1..80, для Y= 1..25, что соответствует текстовому режиму работы адаптера дисплея 80x25. Верхний левый угол экрана имеет координаты (1,1), правый нижний — (80,25).

Пример:

ClrScr;       {Очистить экран}

GoToXY(33,4); {Переслать курсор в центр строки 4}

Write('Управляющая программа');

Функции WhereX: byte и WhereY: byte позволяют получить значение Х- или Y-координаты курсора относительно текущего окна. Диапазон возвращаемых значений определяется полным экраном (1..80 для X и 1..25 для Y) или размерами текущего окна.

Пример:

Write('Курсор находится в столбце ',WhereX);

Write('Курсор находится в строке ',WhereY);

 

1.2. УПРАВЛЕНИЕ ЗВУКОМ

Для создания звуковых эффектов в Турбо Паскале используются стандартные процедуры Sound, NoSound и Delay модуля CRT.

Sound(I: word) — активизирует звуковые средства персонального компьютера. Целочисленное значение I указывает частоту звучания звука в герцах. Звук указанной частоты будет генерироваться до тех пор, пока не будет отменен процедурой NoSound.

NoSound — отмена звука. Отменяет звуковой режим, заданный процедурой Sound.

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

Пример:

begin

Sound(555);

Delay(2000);

NoSound

end;

В данном примере звуковой сигнал частотой 555 Гц будет звучать в течение 2 с (2000 мс).

 

2. Графика в ТУРБО ПАСКАЛЕ

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

Чтобы сделать процесс графического программирования более эффективным, фирма Borland International разработала специализированную библиотеку GRAPH, набор драйверов, позволяющих работать практически со всеми существующими типами видеомониторов, и набор шрифтов для вывода на графический экран текстов разной величины и формы.

 

2.1. АППАРАТНАЯ И ПРОГРАММНАЯ ПОДДЕРЖКА ГРАФИКИ

2.1.1. Адаптер и монитор

Аппаратная поддержка графики персонального компьютера обеспечивается двумя основными модулями: видеоадаптером и видеомонитором. Видеомонитор (или дисплей) — это устройство, на котором появляется выводимый текст или графические изображения. Он работает так же, как и обычный телевизор. Экран 25 раз в секунду формируется заново. Так как человеческий глаз не способен уловить такое быстрое мелькание кадров, создается иллюзия неподвижного изображения на экране монитора. Изображение на экране строится из небольших точек (пикселей),объединяющихся в телевизионные строки. Соответственно минимальной единицей управления является пиксель.

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

Видеоадаптеры — это весьма сложные электронные устройства, управляемые собственным микропроцессором, сравнимым порой по мощности с основным центральным процессором вычислительной системы. Будет или не будет способен компьютер выводить графические изображения — целиком зависит от типа адаптера. Конструктивно он представляет собой самостоятельную электронную плату, вставляемую в один из свободных разъемов внутри системного блока компьютера. Как правило, видеоадаптеры производятся самостоятельными фирмами-изготовителями. В новых продуктах фирмы IBM — Personal System/2 (PS/2) видеоадаптер встроен в системную плату, на которой располагается центральный процессор и обслуживающие его узлы.

Для персональных компьютеров типа IBM PC доступны три основных типа мо ниторов: монохроматический, цветной, усовершенствованный цветной (Enchane Color Display — ECD). Существует несколько вариантов ECD: с низким и высоким разрешением, с фиксированной частотой синхронизации и мультичастотный. Если компьютер оснащен адаптером, генерирующим цветной сигнал, и монохроматическим экраном, цвета передаются на экране различными оттенками серого (как цветная телепередача по черно-белому телевизору).

 

2.1.2. Видеобуфер

В графических режимах каждая телевизионная точка, или пиксель имеет закрепленную за ней группу битов (1 или больше), задающих цвет пикселя. В совокупности эти биты образуют видеобуфер. Для CGA-адаптеров, поддерживающих графические режимы 200 строк по 320 пикселей в каждой строке (режим среднего разрешения 200 х 320) и 200 х 640 (режим высокого разрешения), видеопамять открыта для непосредственного доступа, начиная с физического адреса B8OOOh. CGA-адаптеры имеют буфер объемом только 16 Кбайт, поэтому в режиме 200 х 320 на каждый пиксель приходится только 2 бита:

(1б| * 1024 байт) / (200 * 320) = 16384 * 8 бит/ 64 000 = 2.

Оставшиеся биты в графических CGA-режимах не используются. Два бита позволяют  закодировать четыре различных цвета для пикселя в режиме среднего разрешения. Аналогичный расчет для режима высокого разрешения показывает, что на каждый пиксель приходится только один бит, и он кодирует два возможных цвета (светится, не светится).

Более современные EGA-адаптеры имеют большую внутреннюю память, что позволяет увеличить число битов, отводимых для кодирования цвета пикселя. При этом EGA-адаптеры полностью имитируют работу CGA-адаптера, если устанавливается графический CGA-режим; в этом случае имеется возможность непосредственного доступа к видеобуферу, начиная с адреса BSOOOh. Но при выборе одного из графических EGA-режимов проявляются все дополнительные возможности адаптера: увеличивается число возможных цветов для пикселя, либо число строк и столбцов пикселей, либо и то, и другое.

 

2.1.3. Видеостраницы

Память видеобуфера разделяется на несколько частей — так называемых видеостраниц. Их количество зависит от текущего режима и типа адаптера. Более одной страницы имеют адаптеры EGA, VGA и Hercules. Нумерация страниц начинается с 0.

"Разметка" видеобуфера на страницы начинается с некоторого начального процесса, называемого смещением до видеостраницы. Страница 0 имеет нулевое смещение. Страница 1 в режиме 80 х 25 начинается со смещения 4096 (1000h) относительно начального адреса видеопамяти, страница 2 — со смещения 8192 (2000h) и т. д.

Большая внутренняя память позволяет "держать" несколько полных «картинок» (страниц видеопамяти). В EGA-режимах видеопамять адаптеров не может быть прочитана или в нее не может быть записана информация обычными инструкции пересылки данных, а требуется доступ к внутренним портам видеоадаптера

Еще более широкие аппаратные возможности имеют самые современные на сегодня SVGA-адаптеры, поддерживающие не только CGA-, EGA-режимы, но и новые режимы, имеющие еще большее число битов на каждый пиксель (следовательно, пиксели могут иметь более широкую гамму цветов), либо большее по сравнению EGA- режимами число строк и столбцов пикселей. Видеопамять адаптеров разделена на несколько областей фиксированной длины, которые принято называть видеостраницами. В адаптерах EGA, VGA, Hercules от 2 до 4 страниц в CGA-адаптерах только 1. Та видеостраница, которая постоянно "освежается данный момент, называется текущей. Видеоадаптер способен выполнять переключение текущей видеостраницы.

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

Для работы с видеостраницами предназначены две процедуры: SetActivePage и SetVisualPage. Они часто используются при разработке анимационных программ.

Процедура SetActivePage(Page: word) устанавливает активную страницу для построения изображения, например: SetActivePage(l);

 

2.1.4. Драйверы

Какой бы адаптер не был установлен на компьютере, мы можем использовать один и тот же набор графических процедур и функций ТР, благодаря тому, что их конечная настройка на конкретный адаптер осуществляется автоматически. Эту настройку выполняют специальные программы, называемые графическими драйверами. Графические драйверы разработаны практически для всех существующих видеоадаптеров. Они находятся в файлах, имеющих расширение .BGI (Borland Graphics Interface) и активизируются при инициации графического режима. Эти драйверы используются вместе с компиляторами Турбо Паскаль фирмы Borland.

Система графики Турбо Паскаля позволяет подключать не только стандартные, но и разработанные программистом драйверы. Последние должны удовлетворять стандарту Borland International.

 

2.1.5. Состав графических средств

Для получения любого изображения в графическом режиме необходимо заставить светиться заданным цветом строго определенную группу пикселей. Сказанное относится и к выводу контура буквы, формируемого из телевизионных точек ни экране. Такая работа может быть выполнена самой программой, но при этом объем программирования становится слишком большим. Например, если обычно буква изображается матрицей из 8 строк по 8 точек в каждой строке, требуется "закрасить" одновременно 64 пикселя, расположенных в разных телевизионных строках. При этом потребуется учесть ряд особенностей видеоадаптера, текущий режим и т. д.

 

2.2. МОДУЛЬ GRAPH

Для формирования графических изображений в языке Турбо Паскаль предназначен стандартный библиотечный модуль GRAF. В нем содержится 79 графических процедур, функций, десятки стандартных констант и типов данных. Все они составляют единый комплекс средств, позволяющих разрабатывать профессиональные программные продукты.

Запуск графической системы. Для запуска графической системы необходимо сделать следующее:

1. Подключить модуль GRAPH — библиотеку графических процедур:
uses graph;

2. Установить графический режим с помощью двух переменных:
var DriverVar, ModeVar: integer;

begin

DriverVar:=Detect;

InitGraph(DriverVar,ModeVar,'\TP\GRAPH');

С этого момента все графические средства доступны пользователю.

 

Процедуры и функции модуля Graph.

Процедуры модуля Graph.

Процедура Действие
Arc Рисует дугу от начального угла к конечному, используя (X,Y) как центр
Ваг Рисует полосу, используя текущий стиль и цвет
BarSD Рисует трехмерную полосу, используя текущие стиль и цвет
Circle Рисует окружность, используя (X,Y) как центр
ClearDevice Очищает экран и устанавливает текущий указатель (СР) в начало
ClearViewPort Очищает окно
CloseGraph Закрывает графическую систему
DetectGraph Проверяет аппаратуру и определяет, какой графический драйвер и в каком режиме используется
DrawPoly Рисует многоугольник текущими цветом и типом линии
Ellipse Рисует эллиптическую дугу от начального угла к конечному, используя (X.Y) как центр
FillEllipse Рисует заполненный эллипс, используя (X,Y) как центр и XRadius и YRiutlul как горизонтальные и вертикальные оси
FillPoly Заполняет многоугольник, используя сканирование
FloodFill Заполняет ограниченную область, используя текущий шаблон и цвет заполнения
GetArcCoords Позволяет запросить координаты команды Arc
GetAspectRatio Возвращает разрешение экрана, из которого может быть вычислен относительный аспект (Xasp/Yasp)
GetFillPattern Возвращает шаблон заполнения, установленный последним вызовом SetFillPattern
GetFillSettines Позволяет запросить текущие шаблон и цвет, установленные SetFillStylе или SetFillPattern
  и т.д.

 

2.3. ИНИЦИАЛИЗАЦИЯ

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

С момента подключения модуля GRAPH программисту доступны все находящиеся в ней подпрограммы. В первую очередь вызывается процедура InitGraph, которая устанавливает один из возможных графических режимов. Формат процедуры:

InitGraph(var DriverVar, MоdeVar: integer; PathToDriver: string);

Целочисленные переменные DriverVar и ModeVar задают драйвер и режим

Например:

DriverVar := VGA; ModeVar := VGALo;

Первый параметр может задаваться как по имени, так и цифрой (она указана в скобках рядом с именем драйвера). Например, следующие инструкции эквивалентны:

DriverVar:= VGA; DriverVar := 9;

Для новичков, которые могут не знать типа дисплея своего компьютера, имеется стандартная константа Detect. Если это значение присвоено параметру

DriverVar: DriverVar := Detect; то InitGraph автоматически инициирует и нужный драйвер и установит наиболее подходящий для дисплея режим.

Третий параметр PathToDriver задает маршрут к модулю GRAPH; если он расположен в активном директории, то вместо маршрута ставятся два апострофа. Подытожив сказанное, запишем начальную группу инструкций, которая позволит избежать любых неприятностей на начальном этапе paботы с графикой:

Uses Crt, Graph;

var

DriverVar, ModeVar: integer;

begin

DirectVar:= Detect;

InitGraph (DriverVar, ModeVar, ``);

 

2.2. РАБОТА С ТЕКСТОМ

2.2.1. Вывод текста

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

OutText(Textstring : string)

Процедура OutText(Textstring : string) выводит строку текста, начиная с текущего положения СР.

Например: OutText ('Вводите данные:');

Явный недостаток этой процедуры — нельзя указать произвольную точку начала вывода. Его можно устранить с помощью MoveTo, но лучше воспользоваться процедурой OutTextXY(X, Y: integer; TextString: string), где X, Y - - координаты точки начала вывода текста, TextString — константа или переменная типа string. Например, чтобы вывести сообщение "Для продолжения нажмите любую клавишу", начиная с точки 60, 100, надо записать:

OutTextXY(60,100,'Для продолжения нажмите любую клавишу...');

 

2.2.2. Вывод численных значений

В модуле GRAPH нет процедур, предназначенных для вывода численных

данных. Поэтому для вывода численных данных нужно сначала преобразовать число в строку с помощью процедуры Str, а затем посредством '+' подключить ее к выводимой OutTextXY строке.

Например:

Мах:=34.56;

Str(Мах:6:2,Smax) ; {Результат преобразования находится в Smax)

OutTextXY(400,40, 'Максимум = ' + Smax); {+ -- конкатенация}

 

Преобразование целочисленных и вещественных типов данных в строки удобно осуществлять специализированными пользовательскими функциями IntSt и RealSt:

function IntSt(Int: integer): string; {Преобразование целочисленного значения в строку. .Int — целочисленное значение}

var Buf: string[10];

begin

Str(Int,Buf);

IntSt := Buf

end;

function RealSt(R: real; Dig,Dec: integer): string; {Преобразование вещественного значения в строку. R — значение, Dig -количество символов, Dec — количество символов после запятой}

var Buf: string[20];

begin

Str(R:Dig:Dec,Buf);

RealSt := Buf

end;

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

Х:= 5.295643871;

OutText (`X = ' + RealSt(X,11,9));

В результате на экране появится: X = 5.295643871

 

2.2.3. Шрифты

Вывод текста в графических режимах может осуществляться самыми различными стандартными (табл.) и пользовательскими шрифтами. Различают два типа шрифтов: растровые и векторные. Растровый шрифт задается матрицей точек, а векторный — рядом векторов, составляющих символ. Поэтому при увеличении растрового символа мы начинаем различать составляющие его точки, и качество изображения символа снижается, а при увеличении векторного символа качество изображения не меняется.

По умолчанию после инициализации графического режима устанавливается растровый шрифт DefauhFont, который, как правило, является шрифтом, используемым установленным драйвером клавиатуры. Каждый его символ формируется в матрице 8x8 бит. Шрифты размещены в отдельных файлах, имеющих расширение CHR. Активизация нужного шрифта осуществляется специальной процедурой

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

Таблица

Стандартные шрифты

 

Шрифт Файл Шрифт Файл
TriplexFont SmallFont TRIP.CHR LITT.CHR SansSerifFont GothicFont SANS.CHR GOTH.CHR

 

Шрифты SmallFont, SansSerifFont, GothicFont являются векторными и не содержат русских символов, однако можно разработать собственные шрифты или менять отдельные символы в уже имеющихся. Разработка шрифтов — довольно сложный и трудоемкий процесс Он может быть ускорен и упрощен, если воспользоваться специализированными пакетами TurboFont, BgiToolKit. С их помощью можно формировать любое количество собственных CHR-файлов и загружать их по тому принципу, что и стандартные.

 

2.5. ПОСТРОЕНИЕ ГРАФИЧЕСКИХ ФИГУР

2.5.1. Построение прямоугольников

Без построения различных графических фигур не обходится ни одна серьезная графическая система. Например, в основе построения меню лежит вывод ряда прямоугольников с помещенными в них названиями режимов; круговые диаграммы строятся из окружностей и секторов и т.д. Библиотека GRAPH содержит ряд про цедур, которые формируют самые различные фигуры на основе задаваемых пара метров. Цвет, стиль и толщина линии для вычерчивания берутся по умолчанию или устанавливаются соответственно процедурами SetColor и SetFillPattern,  SetFillStyle.

Для построения прямоугольных фигур имеется несколько процедур. Первая • них — процедура вычерчивания одномерного прямоугольника: Rectangle(Xl, Y1, Х2, Y2 : integer), где X1, Y1 — координаты левого верхнего угла, Х2, Y2 — координаты правого нижнего угла прямоугольника. Это очень полезная процедура, с ее помощью, в частности, можно легко построить любую диаграмму для визуального анализа данных. Область внутри прямоугольника не закрашена и совпадает по цвету с фоном.

В качестве примера приведем фрагмент, который выводит на экран 100 вычерченных разным цветом динамически изменяющихся по высоте прямоугольников:

for I := I to 100 do begin

SetColor(Green);                               {установка цвета}

Rectangle(200,Random(300),250,300) {1-ый прямоугольник}

Delay(50);                                         {задержка}

ClearDevice                                       {очистка экрана}

 end;

В этом примере высота прямоугольника изменяется случайным образом. Если в качестве второго параметра процедуры Rectangle будут целочисленные элементы массива (например, суммы ежемесячных платежей учреждения), то получим динамическую визуализацию исходных данных. По этому принципу работают программы графической интерпретации данных — деловая графика.

2.5.2. Построение многоугольников

Прямоугольники можно рисовать самыми различными способами, например с помощью Line или LineTo. Однако в Турбо Паскале имеется процедура DrawPoly, которая позволяет строить любые многоугольники линией текущего цвета, стиля и толщины. Она имеет формат:

DrawPoly(NumPoints: word; var PolyPoints)

Параметр PolyPoints является нетипизированным параметром, который содержит координаты каждого пересечения в многоугольнике. Параметр NumPoints задает число координат в PolyPoints. Необходимо помнить, что для вычерчивания замкнутой фигуры с N вершинами нужно передать при обращении к процедур DrawPoly N+1 координату, где координата вершины с номером n будет равна координате вершины с номером 1.

 

2.5.3. Построение дуг и окружностей

Алгоритмы построения кривых весьма сложны для самостоятельной реализации, поэтому во всех случаях рациональнее пользоваться готовыми процедурами модуля GRAPH.

Для задания углов используется полярная система координат.

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

Circle (X, Y, Radius: word),

где X и Y — координаты центра окружности, a Radius — ее радиус. Например, следующий фрагмент обеспечит вывод ярко-зеленой окружности с радиусом 50 пикселей и центром в точке 450,100:

SetColor(LightGreen);

Circle(450,100,50);

 

Следующая лекция будет посвящена назначению и классификации прикладного программного обеспечения. Мы изучим текстовый процессор MICROSOFT WORD, назначение, интерфейс, функциональные возможности; создание, редактирование, форматирование, подготовку к печати документов и пользовательских шаблонов в MS WORD; создание, редактирование и форматирование формул с помощью редактора формул MS EQUATION. Обработка табличной и графической информации                

 

 

Подпись автора _______ К.Т. Тынчеров

«_____» ____________________ 2009 г.

 

Лекция рассмотрена на заседании

кафедры ИТМЕН

 «_____» _________________ 2009 г.

протокол № ______

 



2019-11-21 153 Обсуждений (0)
Управление экраном и звуком компьютера 0.00 из 5.00 0 оценок









Обсуждение в статье: Управление экраном и звуком компьютера

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (153)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.011 сек.)