на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Формирование и отображение звёзд разных размеров

Формирование и отображение звёзд разных размеров

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет информационных технологий и робототехники (ФИТР)

Кафедра программного обеспечения вычислительной техники

и автоматизированных систем

КУРСОВАЯ РАБОТА

по дисциплине: ”Разработка приложений в визуальных средах”

на тему: ”Формирование и отображение звёзд разных размеров”

Выполнил: ст. гр. 107218 Бербаш Н.Р.

Принял: доц. Гурский Н.Н.

Минск 2010

Белорусский национальный технический университет

Кафедра программного обеспечения вычислительной техники

и автоматизированных систем

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту (работе)

по дисциплине_Разработка приложений___

__в визуальных средах__

Тема __Формирование и отображение звёзд разных размеров________

_____________________________________________________________

Исполнитель:______________________________(фамилия, инициалы)

(подпись)

Студент____2____курса__107218__группы

Руководитель : _____________________________(фамилия, инициалы)

(подпись)

Минск 2010

Содержание:

Введение

1.Математическая формулировка задачи

2.Описание программы

2.1 Структурная схема программы

2.2 Описание разработанного класса

2.3 Описание реализации технологии Com

2.4 Описание динамических библиотек

2.5 Основные возможности программы

2.6 Средства использования сервисов, предоставляемых Microsoft Office

3.Руководство пользователя

4.Методика испытаний

Заключение

Литература

ПРИЛОЖЕНИЕ

Файл проекта Stars.dpr

Файл головного модуля Unit1.pas

Файл вывода формы настройки таймера Unit2.pas

Файл реализации класса - UStar.pas

Файл описания динамической библиотеки About.dpr

Файл описания динамической библиотеки Screen.dpr

Файл проекта COM-сервера - StarServer.dpr

Файл описания COM- класса - UCom.pas

Файл библиотеки типов COM- класса - ULibType.pas

Введение

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

OpenGL -- это стандартная библиотека для всех 32-разрядных операционных систем, в том числе и для операционной системы Windows.

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

Для разработки программы была выбрана среда визуального проектирования Borland Delphi 7.0. Она позволяет за короткий промежуток времени и с наименьшими затратами физических и умственных сил создавать прикладные программы различной направленности, обеспечивая при этом наличие дружественного оконного интерфейса.

В состав стандартной поставки Delphi (начиная с третьей версии) входит заголовочный файл, позволяющий строить приложения с использованием OpenGL, а также справочный файл по командам этой библиотеки. Указанные (а также ряд других) преимущества среды Delphi 7.0. обуславливают широкое её использование при создании программного обеспечения разнообразного назначения.

1. Математическая формулировка задачи

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

Сначала рисуется пятиугольник, состоящий из 5-и треугольников, координаты вершин которых вычисляются по формулам:

Х1=0; Y1=0;

X2= r * cos (2 * Pi * i / 5); Y2= r * sin (2 * Pi * i / 5);

X3= r* cos (2 * Pi * (i + 1) / 5; Y3= r * sin (Pi-2 * Pi * (i + 1)/ 5);

где i изменяется от 0 до 4;

Затем к нему пририсовываются «лучи» - ещё 5 треугольников с координатами:

Х1= r * cos (2 * Pi * i / 5); Y1= r * sin (2 * Pi * i / 5);

X2= 2*r * cos (2 * Pi * i / 5 + Pi /5); Y2= 2*r * sin (2 * Pi * i / 5 + Pi / 5);

X3= r * cos (2 * Pi * (i + 1) / 5 ); Y3= r * sin (Pi-2 * Pi * (i + 1)/ 5);

где i изменяется от 0 до 4;

2. Описание программы

2.1 Структурная схема программы

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

Com-сервер Заставка Модуль

(MS Excel) (Screen.dpr) Com - класса

(Uscreen.pas) (UCom.pas)

DLL

Com - сервер

Com-сервер (StarServar.dpr)

(MS Word)

Главное окно Модуль

программы интерфейса

Модуль класса (Form1) (ULibType.pas)

TStar (Unit1.pas)

(UStar.pas)

Окно Форма для

«About» настройки таймера

(About.dpr) (Form2)

(UAbout.pas) (Unit2.pas)

DLL

Рисунок-2.1. Структурная схема связей модулей программы

2.2 Описание разработанного класса

В результате анализа предметной области для её описания и моделирования был
разработан класс TStar, инкапсулирующий поля, методы и свойства, применимые к рассматриваемому объекту.

type

TStar = class

private

Ac1,Ac2:TColor; //переменные для установки цвета

public

procedure PaintStar; //процедура рисования звёзд

procedure SetC1(cv1:TColor); //установить цвет фона

procedure SetC2(cv2:TColor); //установить цвет звёзд

function GetC1:TColor; //получить цвет фона

function GetC2:TColor; //получить цвет звёзд

property c1:TColor read GetC1 write SetC1;

property c2:TColor read GetC2 write SetC2;

end;

Описание и реализация класса структурно оформлено в отдельном Unit - UStar. Используемые секции public и private определяют области видимости элементов класса. Так, видно, что все поля класса являются полностью закрытыми, а доступ к ним организуется с помощью методов и свойств.

2.3 Описание реализации технологии COM

В соответствии с требованиями на разработку данной курсовой работы была также реализована возможность экспорта методов созданного класса с помощью технологии COM. Для этого был создан сервер в виде DLL - программный модуль

StarServer.

library StarServer;

uses

ComServ,

UCom in 'UCom.pas',

ULibType in 'ULibType.pas',

StarServer_TLB in 'StarServer_TLB.pas';

exports

DllGetClassObject,

DllCanUnloadNow,

DllRegisterServer,

DllUnregisterServer;

{$R *.TLB}

{$R *.RES}

begin

end.

Этот сервер позволяет создать COM-объект, описание класса которого находится в модуле UСom. Следует заметить, что данный класс полностью соответствует, приведенному в п.2.2 классу TStar. Непосредственный доступ к открытым элементам COM-класса осуществляется с помощью интерфейса IStar, описанного в модуде

ULibType.

2.4. Описание динамических библиотек

При разработке приложения были реализованы 2 динамические библиотеки. Динамическая библиотека Screen.dll содержит заставку, появляющуюся после запуска программы, но до появления главного окна.

library Screen;

uses

SysUtils,Classes,Windows,

UScreen in 'UScreen.pas' {FormScreen};

{$R *.res}

//показать заставку

procedure ShowScreen(AOwner:TComponent);

var

Time:extended;

FormSc:TFormScreen;

begin

FormSc:=TFormScreen.Create(AOwner); //создать форму

Time:=GetTickCount/1000; //запомнить время

FormSc.Show; //показать форму

FormSc.Repaint; //перерисовать форму

//пока не вышел лимит времени - ничего не делать

while GetTickCount/1000<Time+4 do;

FormSc.Close; //закрыть форму

FormSc.Free; //уничтожить форму

end;

exports ShowScreen;

begin

end.

Библиотека содержит 1 экспортируемую процедуру ShowScreen, служащую для отображения формы.

Библиотека About.dll содержит форму с информацией о программе.

library About;

uses

SysUtils,

Classes,

UAbout in 'UAbout.pas' {FormAbout};

{$R *.res}

//показать форму

procedure ShowAbout(AOwner:TComponent);

var

Form:TFormAbout;

begin

Form:=TFormAbout.Create(AOwner); //создать форму

Form.ShowModal; //показать форму

Form.Free; //уничтожить форму

end;

exports ShowAbout;

begin

end.

Библиотека содержит экспортируемую функцию ShowAbout для отображения формы.

2.5 Основные возможности программы

Программа начинается с отображения оригинальной заставки (содержится в Screen.dll), а затем на экране появляется главное окно программы (модуль Unit1). Главный модуль управляет работой всех других модулей в соответствии с запросами пользователя.

Он содержит:

· Вызов окна «About»;

· Передачу данных в Word и Excel;

· Вызов формы настройки таймера;

· Вызов окна помощи;

· Сохранение данных в Ini-файлах;

· Использование возможностей разработанного COM-сервера;

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

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

Процесс логического взаимодействия пользователя c программой, назначение элементов главного окна описаны в «Руководстве пользователя».Вопросы непосредственной программной реализации конкретных модулей приведены в приложении.

2.6 Средства использования сервисов, предоставляемых Microsoft Office

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

1. Procedure TForm1.ReportExcel.Данная процедура обеспечивает передачу данных в Excel.

2. Procedure TForm1.ReportWord. Процедура позволяет создать отчет, принятый в Word.

3. Руководство пользователя

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

Рисунок 3.1 - Заставка программы

После того как заставка через несколько секунд исчезнет, появится главное окно программы (см. рисунок 3.2).

Рисунок 3.2 - Главное окно программы

Как видно, данное окно состоит из следующих частей:

· Главного меню;

· Панели инструментов;

· Области вывода графического изображения;

Пункты главного меню показаны на рисунке 3.3.

Рисунок 3.3 - Главное меню программы

В свою очередь пункты главного меню содержит ряд подпунктов, приведенных на рисунке 3.4.

Рисунок 3.4 - Пункт меню «Настройки»

При выборе пункта «Выход» происходит завершение работы приложения.

Пункт меню «Отобразить звёзды» обеспечивает выполнение поцедуры формирования и отображения звёзд.

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

Рисунок 3.5 - Окно настройки таймера

Для подтверждения ввода необходимо нажать кнопку "OK", для закрытия формы "Close". Также тут можно выключить таймер, поставив галочку в поле «Выкл таймер».

После выбора пунктов «Цвет фона» или «Цвет звёзд» на экране появится стандартное диалоговое окно выбора цвета, где можно выбрать необходимый цвет.

Рис 3.6 - Окно выбора цвета

Выбор пункта меню «О программе» позволяет получить на экране краткие сведения о программе в виде, показанном на рисунке 3.7.

Рисунок 3.7 - Окно «About»

Кроме главного меню программа управляется также кнопками на панели инструментов, которые дублирует наиболее важные пункты главного меню и предназначены для оперативного выполнения основных команд:

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.