lazarus/components/tachart/demo/func/main.pas
2009-05-24 13:12:43 +00:00

60 lines
1.3 KiB
ObjectPascal

unit main;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
TAGraph, TASeries, TASources;
type
{ TForm1 }
TForm1 = class(TForm)
Chart1: TChart;
Chart1BarSeries1: TBarSeries;
Chart1FuncSeries1: TFuncSeries;
Chart1YAxis: TLine;
Chart1XAxis: TLine;
UserDefinedChartSource1: TUserDefinedChartSource;
procedure Chart1FuncSeries1Calculate(const AX: Double; out AY: Double);
procedure FormCreate(Sender: TObject);
procedure UserDefinedChartSource1GetChartDataItem(
ASource: TUserDefinedChartSource; AIndex: Integer;
var AItem: TChartDataItem);
end;
var
Form1: TForm1;
implementation
{ TForm1 }
procedure TForm1.Chart1FuncSeries1Calculate(const AX: Double; out AY: Double);
begin
AY := Sin(AX);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Chart1FuncSeries1.OnCalculate := @Chart1FuncSeries1Calculate;
UserDefinedChartSource1.OnGetChartDataItem :=
@UserDefinedChartSource1GetChartDataItem;
end;
procedure TForm1.UserDefinedChartSource1GetChartDataItem(
ASource: TUserDefinedChartSource; AIndex: Integer; var AItem: TChartDataItem);
begin
AItem.X := AIndex - ASource.PointsNumber / 2;
AItem.Y := Cos(AItem.X);
end;
initialization
{$I main.lrs}
end.