home *** CD-ROM | disk | FTP | other *** search
- unit Function_CurveFitting;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- Base, ComCtrls, StdCtrls, TeEngine, CurvFitt, Series, ExtCtrls, TeeProcs,
- Chart;
-
- type
- TCurveFittingForm = class(TBaseForm)
- Data: TFastLineSeries;
- Curve1: TFastLineSeries;
- Curve2: TFastLineSeries;
- TeeFunction1: TCurveFittingFunction;
- TeeFunction2: TCurveFittingFunction;
- CheckBox1: TCheckBox;
- Label1: TLabel;
- Edit1: TEdit;
- UpDown1: TUpDown;
- Edit2: TEdit;
- UpDown2: TUpDown;
- Label2: TLabel;
- Timer1: TTimer;
- procedure FormCreate(Sender: TObject);
- procedure Edit1Change(Sender: TObject);
- procedure Edit2Change(Sender: TObject);
- procedure CheckBox1Click(Sender: TObject);
- procedure Timer1Timer(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- implementation
-
- {$R *.DFM}
-
- procedure TCurveFittingForm.FormCreate(Sender: TObject);
- begin
- inherited;
- Curve1.RecalcOptions:=[rOnInsert,rOnClear];
- Data.FillSampleValues(200); { <-- Some random points }
- end;
-
- procedure TCurveFittingForm.Edit1Change(Sender: TObject);
- begin
- TeeFunction1.PolyDegree:=UpDown1.Position;
- end;
-
- procedure TCurveFittingForm.Edit2Change(Sender: TObject);
- begin
- TeeFunction2.PolyDegree:=UpDown2.Position;
- end;
-
- procedure TCurveFittingForm.CheckBox1Click(Sender: TObject);
- begin
- Timer1.Enabled:=CheckBox1.Checked;
- end;
-
- procedure TCurveFittingForm.Timer1Timer(Sender: TObject);
- begin
- Timer1.Enabled:=False; { <-- stop timer }
- With Data do
- Begin
- Delete(0); { <-- remove the first point }
-
- { Add a new random point }
- AddXY( XValues.Last+1,
- YValues.Last+(Random(ChartSamplesMax)-(ChartSamplesMax/2)),
- '',clTeeColor);
-
- Curve1.CheckDataSource; { <-- fill again the points }
- Curve2.CheckDataSource; { <-- fill again the points }
- end;
- Timer1.Enabled:=True; { <-- restart timer }
- end;
-
- initialization
- RegisterClass(TCurveFittingForm);
- end.
-