Программная реализация разложения временного процесса в тригонометрический ряд
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?тью закрытыми, а доступ к ним организуется с помощью методов и свойств.
2.3 Описание реализации технологии COM
В соответствии с требованиями на разработку данной курсовой работы была также реализована возможность экспорта методов созданного класса с помощью технологии COM. Для этого был создан сервер в виде DLL программный модуль MyServer.
library MyServer;
{ Important note about DLL memory management: ShareMem must be the first unit in your librarys USES clause AND your projects (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. }
uses
SysUtils,
ComServ,
UComRiad in UComRiad.pas,
UCom_Tlb in UCom_Tlb.pas,
Classes,
MyServer_TLB in MyServer_TLB.pas;
exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer;
{$R *.TLB}
{$R *.res}
begin
end.
Этот сервер позволяет создать COM-объект, описание класса которого находится в модуле UСomRiad. Следует заметить, что данный класс полностью соответствует, приведенному в п.2.2 классу TRiad и имеет и такое же название, т.е. он является его копией, за исключение конструктора Create, который заменен обычной процедурой. Непосредственный доступ к открытым элементам COM-класса осуществляется с помощью интерфейса IcomRiad, описанного в модуде UCom_Tlb.
2.4 Описание динамических библиотек
При разработке приложения были реализованы 2 динамические библиотеки.
Динамическая библиотека Prompt.dll содержит заставку, появляющуюся после запуска программы, но до появления главного окна.
Библиотека содержит 1 экспортируемую процедуру ShowPrompt, служащую для отображения формы.
library Prompt;
{ Important note about DLL memory management: ShareMem must be the first unit in your librarys USES clause AND your projects (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. }
uses
SysUtils,
Classes,
Windows,
UnitPrompt in UnitPrompt.pas {FormPrompt};
{$R *.res}
//Показать заставку
procedure ShowPrompt(AOwner:TComponent);
var
Time:extended;
Form:TFormPrompt;
begin
Form:=TFormPrompt.Create(AOwner); //Создать форму
Time:=GetTickCount/1000; //Запомнить время
Form.Show; //Показать форму
Form.Repaint; //Перерисовать форму
//Пока не вышел лимит времени - ничего не делать
while GetTickCount/1000<Time+4 do;
Form.Close; //Закрыть форму
Form.Free; //Уничтожить форму
end;
exports ShowPrompt;
begin
end.
Библиотека About.dll содержит форму с информацией о программе.
library About;
uses
SysUtils,
Classes,
Forms,
UnitAbout in UnitAbout.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 Основные возможности программы
Программа начинается с отображения оригинальной заставки (содержится в Prompt.dll), а затем на экране появляется главное окно программы (модуль UnitMain). Главный модуль управляет работой всех других модулей в соответствии с запросами пользователя.
Он содержит:
- Вызов окна О программе;
- Вызов презентации;
- Передачу данных в Word и Excel;
- Вызов формы График;
- Вызов окна помощи;
- Сохранение данных в Ini-файлах;
- Использование возможностей разработанного COM-сервера;
Диалог с пользователем поддерживается с помощью главного и выпадающего меню, панели инструментов, кнопок и других интерфейсных элементов.
Окно О программе содержит краткую информацию о приложении.
Окно График служит для отображения информации в графической форме в виде графиков.
В рамках данного проекта также реализуется поддержка клиент-серверной технологии обмена данными между приложениями.
Процесс логического взаимодействия пользователя c программой, назначение элементов главного окна описаны в Руководстве пользователя.
Вопросы непосредственной программной реализации конкретных модулей приведены в приложении. По тексту программ даются достаточно полные комментарии, необходимые для описания переменных, процедур и функций, а также основных шагов реализации используемых алгоритмов.
2.6 Средства использования сервисов, предоставляемых Microsoft Office
Кроме процедур и функций, описанных в классах, программа обеспечивает взаимодействие с серверами автоматизации приложений Microsoft Office. Так, следующие процедуры головного модуля программы позволяют автоматически производить запуск MS Word, MS Excel, Power Point и передавать им текстовую, табличную и графическую информацию с целью создания отчетов или использование ее для дальнейшей обработки.
1. Procedure TFormMain.ReportExcel(AStringGrid : TStringGrid). Данная процедура обеспечивает передачу данных в Excel. Для формирования таблицы необходимо передать ссылку на компонент типа TStringGrid, на основе данных которого будут заполнены ячейки в Excel. Рисунок, помещаемый в отчет, совпадает с текущим видом графика.
2. Procedure TFormMain.ReportWord(AStringGrid:TStringGrid). Процедура позволяет создать отчет, принятый в Word.
3. Procedure TFormMain.PresentationClick(Sender: TObject). Активизация данной процедуры позволяет запу?/p>