Читайте также:
|
|
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series, Math, XPman;
type
TfrmMain = class(TForm)
chrtMy: TChart;
EdXmin: TEdit;
EdXmax: TEdit;
EdH: TEdit;
BtnMarkingAxis: TButton;
BtnCreateChart: TButton;
BtnClose: TButton;
EdYmin: TEdit;
EdYmax: TEdit;
EdHx: TEdit;
EdHy: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Series2: TLineSeries;
Series1: TLineSeries;
XPManifest1: TXPManifest;
procedure FormCreate(Sender: TObject);
procedure BtnMarkingAxisClick(Sender: TObject);
procedure BtnCreateChartClick(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
private
{ Private declarations }
procedure MarkingAxis;
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
Xmin, Xmax,Ymin,Ymax,Hx,Hy,h: extended;
implementation
{$R *.dfm}
procedure TfrmMain.MarkingAxis;
begin
chrtMy.BottomAxis.Automatic:=false;
chrtMy.BottomAxis.Minimum:= Xmin;
chrtMy.BottomAxis.Maximum:= Xmax;
chrtMy.LeftAxis.Automatic:=false;
chrtMy.LeftAxis.Minimum:= Ymin;
chrtMy.LeftAxis.Maximum:= Ymax;
chrtMy.BottomAxis.Increment:=Hx;
chrtMy.LeftAxis.Increment:= Hy;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
{установка начальных параметров осей}
Xmin:=-2;
Xmax:=2;
Ymin:=-5;
Ymax:=5;
Hx:=1;
Hy:=0.5;
h:=0.01;
{вывод данных в окна однострочных редакторов}
EdXmin.Text:= FloatToStr(Xmin);
EdXmax.Text:= FloatToStr(Xmax);
EdYmin.Text:= FloatToStr(Ymin);
EdYmax.Text:= FloatToStr(Ymax);
EdHx.Text:= FloatToStr(Hx);
EdHy.Text:= FloatToStr(Hy);
EdH.Text:= FloatToStr(h);
MarkingAxis;
end;
procedure TfrmMain.btnMarkingAxisClick(Sender: TObject);
begin
Xmin:=strtofloat(edXmin.Text);
Xmax:=strtofloat(edXmax.Text);
Ymin:=strtofloat(edYmin.Text);
Ymax:=strtofloat(edYmax.Text);
Hx:=strtofloat(edHx.Text);
Hy:=strtofloat(edHy.Text);
h:=strtofloat(edh.Text);
MarkingAxis;
end;
procedure TfrmMain.btnCreateChartClick(Sender: TObject);
var x,y1,y2:extended;
begin
Series1.Clear;
Series2.Clear;
btnMarkingAxis.Click;
x:=Xmin;
repeat
if (x=0)or(x=pi) then
x:=x+h
else
if x>0 then
begin
y1:=2*(sin(x*x)/cos(x*x));
Series1.AddXY(x,y1,'',clTeeColor);
x:=x+h
end
else
begin
y2:=2*(sin(x)/cos(x));
Series2.AddXY(x,y2,'',clTeeColor);
x:=x+h
end;
until x>Xmax;
end;
procedure TfrmMain.btnCloseClick(Sender: TObject);
begin
close;
end;
end.
Вывод: Изучил возможности построения графиков с помощью компонента отображения графической информации класса TChart.
Дата добавления: 2014-12-19; просмотров: 21 | Поможем написать вашу работу | Нарушение авторских прав |