Программная реализация разложения временного процесса в тригонометрический ряд

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?инамических библиотек;

  • изучены и реализованы способы создания клиент-серверных приложений на базе COM-технологий;
  • освоены методы передачи данных между приложениями;
  • изучены возможности создания справочной системой высокой степени сложности и различных форматов.
  • При разработке программы использовался модульный принцип программирования. Такая структура программы позволяет в дальнейшем модифицировать отдельные её части без нарушения работоспособности и потери функциональности приложения.

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

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

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

    Литература

     

    1. Фаронов В.В. Delphi 6. Учебный курс.-М.: Издатель Молгачева С.В., 2001.-672с.
    2. Елмакова Н., Трепалин С., Тенцер А. Delphi 6 и технология COM.-СПб.: Питер, 2002. 640 с.
    3. Федоров А.. Delphi 5.0 для всех. -М.: Тоо фирма “КомпьютерПресс”, 1998. - 464 с.
    4. Марко Кэнту. Delphi 5 для профессионалов.-СПб.: Питер. 2001. 944 с.
    5. Бобровский С. Delphi 5: учебный курс- СПб: Издательство Питер, 2000.- 640с.
    6. А.М.Епанешников, В.А.Епанешников Программирование в среде 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