Программная реализация разложения временного процесса в тригонометрический ряд
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?инамических библиотек;
При разработке программы использовался модульный принцип программирования. Такая структура программы позволяет в дальнейшем модифицировать отдельные её части без нарушения работоспособности и потери функциональности приложения.
Программа имеет достаточно ясный и понятый дружелюбный пользовательский интерфейс, обеспечивающий удобство в работе и обеспечивающий получение необходимой пользователю информации с наименьшими затратами времени.
Таким образом, разработанное в ходе выполнения курсовой работы приложение является законченным программным продуктом.
Программа может быть использована для физического разложения временного процесса в тригонометрический ряд.
Литература
- Фаронов В.В. Delphi 6. Учебный курс.-М.: Издатель Молгачева С.В., 2001.-672с.
- Елмакова Н., Трепалин С., Тенцер А. Delphi 6 и технология COM.-СПб.: Питер, 2002. 640 с.
- Федоров А.. Delphi 5.0 для всех. -М.: Тоо фирма “КомпьютерПресс”, 1998. - 464 с.
- Марко Кэнту. Delphi 5 для профессионалов.-СПб.: Питер. 2001. 944 с.
- Бобровский С. Delphi 5: учебный курс- СПб: Издательство Питер, 2000.- 640с.
- А.М.Епанешников, В.А.Епанешников Программирование в среде Delphi.-М.:Диалог МИФИ, 1998.
Приложение
Файл проекта VremRiad.dpr
program VremRiad;
uses
Forms,Windows,Classes,Dialogs,SysUtils,
UnitMain in UnitMain.pas {Form1},
UnitRiad in UnitRiad.pas,
UComRiad in UComRiad.pas,
UCom_Tlb in UCom_Tlb.pas,
UnitGraphic in UnitGraphic.pas {FormGraphic},
VremRiad_TLB in VremRiad_TLB.pas;
{$R *.TLB}
//******************************************
Type
//Процедурный тип для функции, вызываемой из DLL
TProc=procedure(AOwner:TComponent);
Var
Handle : LongWord; //Дескриптор DLL
ShowPrompt : tproc; //Переменная для функции
//*******************************************
{$R *.res}
begin
Application.Initialize;
//Загрузка иконки
Application.Icon.LoadFromFile(Prompt.ico);
//*****Загрузка библиотеки и показ заставки******//
Handle:= LoadLibrary(Prompt.dll);
if Handle <> 0 then
begin
//Получить адрес функции из библиотеки
@ShowPrompt:= GetProcAddress(Handle, PChar(ShowPrompt));
ShowPrompt(Application); //Показать заставку
FreeLibrary(Handle); //Удалить библиотеку
end
else ShowMessage(Не найдена библиотека Prompt.dll);
//***********************************************//
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TFormGraphic, FormGraphic);
Application.Run;
end.
Файл головного модуля UnitMain.pas
unit UnitMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus, ToolWin, ComCtrls, XPMan, ImgList, Grids,
IniFiles, Clipbrd, WordXP, Math, ShellAPI, ExtCtrls, msppt8,
UCom_Tlb, ComObj, MSPpt2000, PowerPointXP, Activex, OleServer,
Buttons;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
RadioGroup1: TRadioGroup;
BitBtn1: TBitBtn;
Panel3: TPanel;
BitBtn2: TBitBtn;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N6: TMenuItem;
BitBtn3: TBitBtn;
N7: TMenuItem;
StringGrid1: TStringGrid;
Label9: TLabel;
Label10: TLabel;
BitBtn4: TBitBtn;
PowerPointApplication1: TPowerPointApplication;
Presentation: TSpeedButton;
N8: TMenuItem;
Word1: TSpeedButton;
Excel1: TSpeedButton;
N9: TMenuItem;
EXcel2: TMenuItem;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
procedure BitBtn3Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure PresentationClick(Sender: TObject);
procedure Word1Click(Sender: TObject);
procedure Excel1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
// Procedure TFormMain.PresentationClick(Sender: TObject);
private
{ Private declarations }
public
IniFileName : string; //Имя файла инициализации
procedure ReportExcel(AStringGrid : TStringGrid); //Передать отчет в Excel
procedure ReportWord (AStringGrid : TStringGrid); //Передать отчет в Word
{ Public declarations }
end;
var
Form1: TForm1;
Flag : bool; //Флаг определения вида используемого объекта
const x=1;
const P=500;
implementation
uses UnitRiad, UnitGraphic;
{$R *.dfm}
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormActivate(Sender: TObject);
var i:integer;
begin
//По умолчанию установить работу с обычным (классическим) объектом
Flag:= false;
//Имя Ini-файла сохранения параметров
IniFileName:= GetCurrentDir+\Riad.ini;
//Создать обычный объект
Riad:= TRiad.Create(IniFileName);
//Считать данные из Ini-файла
Riad.ReadFromIniFile;
//Вычисление и вывод данных в таблицу
Riad.Table(StringGrid1);
StringGrid1.Cells[0,0]:=Номер ;
StringGrid1.Cells[1,0]:=Время(с);
StringGrid1.Cells[2,0]:=F{t} при w=1;
StringGrid1.Cells[3,0]:=F{t} при w=3;
StringGrid1.Cells[4,0]:=F{t} при w=5;
for i:=1 to 201 do
StringGrid1.Cells[0,i]:=IntToStr(i) ;
for i:=0 to 201 do
begin
StringGrid1.Cells[1,i+1]:=FloatToStr(0.5*i)
end;
label10.Caption:=;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var i:integer;
begin
Riad.SetW();
//Вычисление и вывод данных в таблицу
Riad.Table(StringGrid1);
end;
procedure TForm1.BitBtn4Click(Sender: TObject);
var i:integer;
begin
for i:=0 to 201 do
begin
StringGrid1.Cells[2,i+1]:=;
StringGrid1.Cells[3,i+1]:=;
StringGrid1.Cells[4,i+1]:=;
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
FormGraphic.Show;
end;
procedure TForm1.N4Click(Sender: TObject);
Type
//Процедурный тип для вызова процедуры из DLL
TProc = procedure(AOwner:TComponent);
var
Handle