|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[25]
until ch= #27;{ выход при нажатии клавиши Esc } Практическое задание N 1. 45 1.Перемещать курсор по экрану с запоминанием выводимых символов и их координат. После окончания "рисования" на экране символов запрограммировать "бесконечный процесс домино" - последовательное исчезновение символов с первого до последнего и восстановление в обратном порядке. 2.Перемещать курсор по экрану с запоминанием выводимых символов и их координат. После окончания "рисования " на экране символов в виде замкнутой фигуры запрограммировать "бесконечный процесс бегущих" символов - последовательное исчезновение символа, задержка и его восстановление и т. д. с первого символа до последнего. 3/4. "Озвучить" клавиши: цифровые, либо буквы латинского алфавита. 1. 15. Модуль Graph 1. 15. 1. Инициализация графического режима Графический режим ПК существенно отличается от текстового как по принципам функционирования, так и по возможностям. Графика применяется практически во всех серьезных программных разработках, так как позволяет увидеть результаты расчетов в виде чертежей, графиков, иллюстраций в движении. Фирмой Borland разработана библиотека графических функций (Модуль Graph. tpu) как приложение к Turbo-пакетам фирмы Borland и графические драйверы - файлы *. bgi (Borland Graphics Interface ), обеспечивающие взаимодействие программ с графическими устройствами. Подключение графической библиотеки при программировании в среде Turbo-Pascal производится оператором: Uses Graph; Переход из текстового режима к графическому (инициализация графики) осуществляется оператором: InitGraph(Gd, Gm, way); где Gd - имя графического драйвера (параметр- переменная), Gm - номер графического режима монитора (параметр- переменная), way - дорожка DOS к файлам с графическими драйверами (*. bgi), например, C:\TP7\BGI . Файлы графических драйверов принято хранить в поддиректории BGI. Если эти файлы располагаются в текущей директории, то дорожку DOS можно не указывать. В графическом режиме изображение формируется из точек (пикселов) разных цветов. Количество точек на экране и число допустимых цветов можно задавать выбором подключаемого драйвера и номером графического режима. Вариации графических режимов весьма разнообразны, особенно для качественных мониторов. Например, адаптер IBM 8514 / A может обеспечить разрешение 1024 х768 точек и 256 цветов. Однако не все программные продукты рассчитаны на такие режимы. Приведем таблицу графических возможностей для мониторов EGA, VGA.
Обычно драйверы подключаются в режиме автоопределения используемого монитора ПК. Для этого перед инициализацией графики задается Gd:= Detect; или Gd:= 0;. В этом случае по умолчанию устанавливается режим с наибольшим числом точек на экране, а значение параметра "Gm" игнорируется. Номер наибольшего режима для текущего драйвера возвращает функция GetMaxMode; . Изменить режим можно процедурой SetGraphMode(Gm); где 0 =<Gm<= GetMaxMode. Экран при этом очищается. GetMaxX; GetMaxV; Разрешающую способность для текущего графического режима можно определить функциями, возвращающими максимальные значения координат экрана: GetMaxX; - по оси "Х", GetMaxY; - по оси "V". Начало координат (X= 0, Y= 0) расположено в левом верхнем углу экрана. Ось Х направлена слева направо, ось Y - сверху вниз. Для возврата из графического режима в текстовый можно использовать операторы: CloseGraph; RestoreCrtMode; - полное прекращение работы графической системы, переключение в текстовый режим с возможностью возврата к текущим установкам графического режима (без восстановле- ния графического изображения) оператором SetGraphMode; 1. 15. 2. Простейшие графические процедуры и функции После инициализации графического режима экран очищается и можно использовать процедуры рисования. SetBkColor(N); SetColor(N); - установить цвет "N" для пикселов фона. По умолчанию установлен черный цвет фона. установить цвет "N" для выводимых линий. По умолчанию установлен белый цвет линий. PutPixel(X, Y, N); высветить цветом "N" пиксел с координатами X, Y. Наибольшее значение параметра "N" возвращает функция GetMaxColor;. Цвет задается аналогично цветам текста в модуле Crt - мож-но использовать целое число или соответствующую константу, например, при N<16: 0 - Black, 1 - Blue, . . 15 - White. Режим мерцания в графике не предусмотрен. Circle(X, Y, R); Line(x1, y1, x2, y2); построить окружность с центром X, Y и радиусом R. - построить отрезок прямой линии от точки с координатами x1, y1 к точке с координатами x2, y2. - построить прямоугольник с левым верхним углом в точке с координатами x1, y1 и правым нижним углом в точке с координатами x2, y2 ( стороны параллельны краям экрана ). GetPixel(X, Y); - функция возвращает цвет пиксела с координатами X, Y. Rectangle(x1, y1, x2, y2); Координаты точек имеют тип Integer, остальные параметры - тип Word. Значения координат задаются в пределах 0 <X< GetmaxX; 0 <Y< GetmaxY; Перемещение курсора за пределы экрана игнорируется. Очистить графический экран можно процедурами: ClearDevice; (без изменения установленных параметров), либо GraphDefaults; (устанавливаются параметры, принятые по умолчанию). Рассмотрим пример фрагмента программы: Uses Crt, Graph;{ раздел описаний для фрагментов программ N1 - N8 } const N= 500; var X, Y, Vx, Vy, P: array[1..N] of integer;ch: char; Gd, Gm, Gx, Gy, x1, y1, x2, y2, xc, yc, dx, dy, r: integer; i1, i2, zx, zy, ax, ay, i, k: integer; begin{ инициализация графики для фрагментов программ N1 - N8 } Gd:=Detect; InitGraph(Gd,Gm,C:\tp7\bgi);Randomize; Gx:=GetMaxX; Gy:=GetMaxY; {-----------------------------------------------------------------Фрагмент N 1 программы " небо в алмазах" ( рисование пикселов ). ----------------------------------------------------------------- } SetColor(0);Repeat i:= 9 + random(7); xc:= random(Gx); yc:= random(Gy); PutPixel(xc, yc, i); Circle(xc, yc, 3)Until KeyPressed; { ---------------------------------------------------------------- } While KeyPressed do ch:= ReadKey;{ очистка буфера клавиатуры } CloseGraph;end.{ закончить работу в графическом режиме } После инициализации графики определяются переменные Gx, Gy - максимальные значения координат по осям X, Y. Назначается черный цвет для линий, которые будут выводиться. Затем в цикле повторяется до нажатия любой клавиши высвечивание точек (пикселов) с номерами цвета "i" от 9 до 15 и координатами xc, yc. Значения координат точек и номеров цвета определяются из заданного диапазона функцией Random. Чтобы точки не "за- |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||