home *** CD-ROM | disk | FTP | other *** search
- {****************************************}
- { TeeChart. TChart Component }
- { Copyright (c) 1995-98 by David Berneda }
- { All Rights Reserved }
- {****************************************}
- unit Ucurve;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, StdCtrls, TeEngine, CurvFitt, Series, ExtCtrls, TeeProcs,
- Chart, TeeComma;
-
- type
- TFormCurveFitting = class(TForm)
- Chart1: TChart;
- Series1: TLineSeries;
- TeeFunction1: TCurveFittingFunction;
- Series2: TPointSeries;
- Memo1: TMemo;
- Panel1: TPanel;
- Button2: TButton;
- Button3: TButton;
- Button1: TButton;
- TeeCommander1: TTeeCommander;
- procedure FormCreate(Sender: TObject);
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure Button3Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- implementation
-
- {$R *.DFM}
-
- procedure TFormCurveFitting.FormCreate(Sender: TObject);
- begin
- Series1.FillSampleValues(5); { small number of sample values }
- end;
-
- procedure TFormCurveFitting.Button1Click(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TFormCurveFitting.Button2Click(Sender: TObject);
- var tmpX,tmpY:Double;
- t:Integer;
- begin
- t:=0;
- With Series2 do
- While t<Count-1 do
- begin
- { calculate the X position between points (in the middle) }
- tmpX:=( XValues[t] + XValues[t+1] ) / 2.0 ;
-
- { calculate the Curve Y position for the X }
- tmpY:=TeeFunction1.GetCurveYValue(Series1,tmpX);
-
- { insert the new point }
- AddXY( tmpX,tmpY, '', clTeeColor);
-
- { increment the counter }
- Inc(t,2);
- end;
- end;
-
- procedure TFormCurveFitting.Button3Click(Sender: TObject);
- begin
- Series2.CheckDataSource; { recalculate the default curve }
- end;
-
- end.
-