home *** CD-ROM | disk | FTP | other *** search
- unit umainfrm;
-
- {===========================================================
- 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/
- ===========================================================}
-
-
- interface
-
- uses
- WinTypes, WinProcs, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, Buttons, RChart, fourier;
-
- type
- TForm1 = class(TForm)
- ScrollBar1: TScrollBar;
- ScrollBar2: TScrollBar;
- ScrollBar3: TScrollBar;
- ScrollBar4: TScrollBar;
- ScrollBar5: TScrollBar;
- ScrollBar6: TScrollBar;
- ScrollBar7: TScrollBar;
- ScrollBar8: TScrollBar;
- ScrollBar9: TScrollBar;
- ScrollBar10: TScrollBar;
- ScrollBar11: TScrollBar;
- ScrollBar12: TScrollBar;
- ScrollBar13: TScrollBar;
- ScrollBar14: TScrollBar;
- ScrollBar15: TScrollBar;
- ScrollBar16: TScrollBar;
- RChart1: TRChart;
- BButReset: TBitBtn;
- BButSquare: TBitBtn;
- BButSaw: TBitBtn;
- BButExit: TBitBtn;
- BButHalfSine: TBitBtn;
- Label1: TLabel;
- BButTriangle: TBitBtn;
- FastFourier1: TFastFourier;
- procedure BButResetClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure ScrollBar8Change(Sender: TObject);
- procedure BButSquareClick(Sender: TObject);
- procedure BButSawClick(Sender: TObject);
- procedure BButExitClick(Sender: TObject);
- procedure BButHalfSineClick(Sender: TObject);
- procedure BButTriangleClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
-
- {$R *.DFM}
-
- var
- UpDateSignal : boolean;
-
-
- (**********************************************************)
- procedure TForm1.BButResetClick(Sender: TObject);
- (**********************************************************)
-
- begin
- 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;
- Scrollbar8Change (Sender);
- end;
-
-
- (**********************************************************)
- procedure TForm1.FormCreate(Sender: TObject);
- (**********************************************************)
-
- begin
- UpDateSignal := True;
- end;
-
-
- (**********************************************************)
- procedure TForm1.ScrollBar8Change(Sender: TObject);
- (**********************************************************)
-
- var
- i : integer;
-
- begin
- FastFourier1.Clear;
- FastFourier1.RealSpec[1] := ScrollBar1.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.RealSpec[2] := ScrollBar2.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.RealSpec[3] := ScrollBar3.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.RealSpec[4] := ScrollBar4.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.RealSpec[5] := ScrollBar5.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.RealSpec[6] := ScrollBar6.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.RealSpec[7] := ScrollBar7.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.RealSpec[8] := ScrollBar8.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.ImagSpec[1] := ScrollBar9.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.ImagSpec[2] := ScrollBar10.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.ImagSpec[3] := ScrollBar11.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.ImagSpec[4] := ScrollBar12.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.ImagSpec[5] := ScrollBar13.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.ImagSpec[6] := ScrollBar14.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.ImagSpec[7] := ScrollBar15.Position/100*FastFourier1.SpectrumSize;
- FastFourier1.ImagSpec[8] := ScrollBar16.Position/100*FastFourier1.SpectrumSize;
- if UpdateSignal then
- begin
- FastFourier1.InverseTransform;
- RChart1.ClearGraf;
- RChart1.DataCOlor :=clNavy;
- RChart1.MoveTo (1,FastFourier1.RealSpec[1]);
- for i:=1 to 512 do
- RChart1.DrawTo (i,FastFourier1.RealSpec[1 + (i-1) mod 256]);
- RChart1.ShowGraf;
- end;
- end;
-
-
- (**********************************************************)
- procedure TForm1.BButSquareClick(Sender: TObject);
- (**********************************************************)
-
- begin
- 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;
- Scrollbar8Change (Sender);
- end;
-
- (**********************************************************)
- procedure TForm1.BButSawClick(Sender: TObject);
- (**********************************************************)
-
- begin
- 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;
- Scrollbar8Change (Sender);
- end;
-
-
- (**********************************************************)
- procedure TForm1.BButExitClick(Sender: TObject);
- (**********************************************************)
-
- begin
- close;
- end;
-
- (**********************************************************)
- procedure TForm1.BButHalfSineClick(Sender: TObject);
- (**********************************************************)
-
- begin
- 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;
- Scrollbar8Change (Sender);
- end;
-
-
- (**********************************************************)
- procedure TForm1.BButTriangleClick(Sender: TObject);
- (**********************************************************)
-
- begin
- 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;
- Scrollbar8Change (Sender);
- end;
-
-
- end.
-