home *** CD-ROM | disk | FTP | other *** search
- /*===========================================================
- Please note, that the program FOURSYNT uses the unit RChart,
- which is not supplied with the FOURIER package. If you
- don't have it, you can download the shareware version from
- one of the following WWW sites:
- http://qspr03.tuwien.ac.at/lo/
- http://www.lohninger.com/
- ===========================================================*/
-
-
- //---------------------------------------------------------------------------
- #include <vcl\vcl.h>
- #pragma hdrstop
-
- #include "mainfrm.h"
- #include "math.h"
- //---------------------------------------------------------------------------
- #pragma link "RChart"
- #pragma link "Fourier"
- #pragma resource "*.dfm"
- TForm1 *Form1;
-
- bool UpdateSignal;
-
- //---------------------------------------------------------------------------
- __fastcall TForm1::TForm1(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::ScrollBar1Change(TObject *Sender)
- {
- int i, j;
-
- FastFourier1->Clear();
- FastFourier1->RealSpec[1] = 0.01*ScrollBar1->Position*FastFourier1->SpectrumSize;
- FastFourier1->RealSpec[2] = 0.01*ScrollBar2->Position*FastFourier1->SpectrumSize;
- FastFourier1->RealSpec[3] = 0.01*ScrollBar3->Position*FastFourier1->SpectrumSize;
- FastFourier1->RealSpec[4] = 0.01*ScrollBar4->Position*FastFourier1->SpectrumSize;
- FastFourier1->RealSpec[5] = 0.01*ScrollBar5->Position*FastFourier1->SpectrumSize;
- FastFourier1->RealSpec[6] = 0.01*ScrollBar6->Position*FastFourier1->SpectrumSize;
- FastFourier1->RealSpec[7] = 0.01*ScrollBar7->Position*FastFourier1->SpectrumSize;
- FastFourier1->RealSpec[8] = 0.01*ScrollBar8->Position*FastFourier1->SpectrumSize;
- FastFourier1->ImagSpec[1] = 0.01*ScrollBar9->Position*FastFourier1->SpectrumSize;
- FastFourier1->ImagSpec[2] = 0.01*ScrollBar10->Position*FastFourier1->SpectrumSize;
- FastFourier1->ImagSpec[3] = 0.01*ScrollBar11->Position*FastFourier1->SpectrumSize;
- FastFourier1->ImagSpec[4] = 0.01*ScrollBar12->Position*FastFourier1->SpectrumSize;
- FastFourier1->ImagSpec[5] = 0.01*ScrollBar13->Position*FastFourier1->SpectrumSize;
- FastFourier1->ImagSpec[6] = 0.01*ScrollBar14->Position*FastFourier1->SpectrumSize;
- FastFourier1->ImagSpec[7] = 0.01*ScrollBar15->Position*FastFourier1->SpectrumSize;
- FastFourier1->ImagSpec[8] = 0.01*ScrollBar16->Position*FastFourier1->SpectrumSize;
- if (UpdateSignal == true)
- {
- FastFourier1->InverseTransform();
- RChart1->ClearGraf();
- RChart1->DataColor =clNavy;
- RChart1->MoveTo (1,FastFourier1->RealSpec[1]);
- for (i=1; i<=512; i++)
- {
- j = 1 + fmod((i-1),256);
- RChart1->DrawTo (i,FastFourier1->RealSpec[j]);
- }
- RChart1->ShowGraf();
- };
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::BButResetClick(TObject *Sender)
- {
- UpdateSignal = false;
- ScrollBar1->Position = 0;
- ScrollBar2->Position = 0;
- ScrollBar3->Position = 0;
- ScrollBar4->Position = 0;
- ScrollBar5->Position = 0;
- ScrollBar6->Position = 0;
- ScrollBar7->Position = 0;
- ScrollBar8->Position = 0;
- ScrollBar9->Position = 0;
- ScrollBar10->Position = 0;
- ScrollBar11->Position = 0;
- ScrollBar12->Position = 0;
- ScrollBar13->Position = 0;
- ScrollBar14->Position = 0;
- ScrollBar15->Position = 0;
- ScrollBar16->Position = 0;
- UpdateSignal = true;
- ScrollBar1Change (Sender);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::FormCreate(TObject *Sender)
- {
- UpdateSignal = True;
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::BButSquareClick(TObject *Sender)
- {
- UpdateSignal = false;
- ScrollBar1->Position = 0;
- ScrollBar2->Position = 100;
- ScrollBar3->Position = 0;
- ScrollBar4->Position = -33;
- ScrollBar5->Position = 0;
- ScrollBar6->Position = 20;
- ScrollBar7->Position = 0;
- ScrollBar8->Position = -16;
- ScrollBar9->Position = 0;
- ScrollBar10->Position = 0;
- ScrollBar11->Position = 0;
- ScrollBar12->Position = 0;
- ScrollBar13->Position = 0;
- ScrollBar14->Position = 0;
- ScrollBar15->Position = 0;
- ScrollBar16->Position = 0;
- UpdateSignal = true;
- ScrollBar1Change (Sender);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::BButSawClick(TObject *Sender)
- {
- UpdateSignal = false;
- ScrollBar1->Position = 0;
- ScrollBar2->Position = 0;
- ScrollBar3->Position = 0;
- ScrollBar4->Position = 0;
- ScrollBar5->Position = 0;
- ScrollBar6->Position = 0;
- ScrollBar7->Position = 0;
- ScrollBar8->Position = 0;
- ScrollBar9->Position = 0;
- ScrollBar10->Position = 100;
- ScrollBar11->Position = 50;
- ScrollBar12->Position = 33;
- ScrollBar13->Position = 25;
- ScrollBar14->Position = 20;
- ScrollBar15->Position = 16;
- ScrollBar16->Position = 14;
- UpdateSignal = true;
- ScrollBar1Change (Sender);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::BButExitClick(TObject *Sender)
- {
- Close();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::BButHalfSineClick(TObject *Sender)
- {
- UpdateSignal = false;
- ScrollBar1->Position = 63;
- ScrollBar2->Position = 100;
- ScrollBar3->Position = 42;
- ScrollBar4->Position = 0;
- ScrollBar5->Position = -8;
- ScrollBar6->Position = 0;
- ScrollBar7->Position = 4;
- ScrollBar8->Position = 0;
- ScrollBar9->Position = 0;
- ScrollBar10->Position = 0;
- ScrollBar11->Position = 0;
- ScrollBar12->Position = 0;
- ScrollBar13->Position = 0;
- ScrollBar14->Position = 0;
- ScrollBar15->Position = 0;
- ScrollBar16->Position = 0;
- UpdateSignal = true;
- ScrollBar1Change (Sender);
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::BButTriangleClick(TObject *Sender)
- {
- UpdateSignal = false;
- ScrollBar1->Position = 0;
- ScrollBar2->Position = 0;
- ScrollBar3->Position = 0;
- ScrollBar4->Position = 0;
- ScrollBar5->Position = 0;
- ScrollBar6->Position = 0;
- ScrollBar7->Position = 0;
- ScrollBar8->Position = 0;
- ScrollBar9->Position = 0;
- ScrollBar10->Position = 100;
- ScrollBar11->Position = 0;
- ScrollBar12->Position = -11;
- ScrollBar13->Position = 0;
- ScrollBar14->Position = 4;
- ScrollBar15->Position = 0;
- ScrollBar16->Position = -2;
- UpdateSignal = true;
- ScrollBar1Change (Sender);
- }
- //---------------------------------------------------------------------------