В данном месте программы устанавливаются начальные пределы и шаг разметки координатных осей. Когда свойство Chart1.BottomAxis Automatic имеет значение False, автоматическая установка параметров осей не работает.
Написание процедур обработки событий нажатия на кнопки
Процедура TForm1.Button1Click обрабатывает нажатие кнопки "Установить оси". Процедура TForm1.Button2Click обрабатывает нажатие кнопки "Построить график". Для добавления координат точек (X, Y) из таблицы значений в двумерный массив объекта Seriesk используется процедура Series1.AddXY(Const AXValue, AYValue: Double; Const AXLabel: String; AColor: TColor): Longint, где AXValue, AYValue - координаты точки по осям X и Y; AXLabel может принимать значение ‘’; AColor задает цвет линий (если равен clTeeColor, то принимается цвет, определенный при проектировании формы).
Текст программы:
Unit LabRab_8;
Interface
Uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series;
type
TForm1 = class(TForm)
Chart1: TChart;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Label1: TLabel;
|
|
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Series1: TLineSeries;
Series2: TLineSeries;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Xmin, Xmax, Ymin, Ymax, Hx, Hy, h: extended;
Implementation
{$R *.dfm}
Procedure TForm1.FormCreate(Sender: TObject);
begin
Xmin:= 0;
Xmax:= 2 * Pi;
Ymin:= -1;
Ymax:= 1;
Hx:= pi/2;
Hy:= 0.5;
h:= 0.01;
Edit1.Text:= FloatToStr(Xmin);
Edit2.Text:= FloatToStr(Xmax);
Edit3.Text:= FloatToStr(Ymin);
Edit4.Text:= FloatToStr(Ymin);
Edit5.Text:= FloatToStr(Hx);
Edit6.Text:= FloatToStr(Hy);
Edit7.Text:= FloatToStr(h);
Chart1.BottomAxis.Automatic:= False;
Chart1.BottomAxis.Minimum:= Xmin;
Chart1.BottomAxis.Maximum:= Xmax;
Chart1.LeftAxis.Automatic:= False;
Chart1.LeftAxis.Minimum:= Ymin;
Chart1.LeftAxis.Maximum:= Ymax;
Chart1.BottomAxis.Increment:= Hx;
Chart1.LeftAxis.Increment:= Hy;
end;
Procedure TForm1.Button1Click(Sender: TObject);
var
x, y1, y2: extended;
begin
Series1.Clear;
Series2.Clear;
Xmin:= StrToFloat(Edit1.Text);
Xmax:= StrToFloat(Edit2.Text);
h:= StrToFloat(Edit7.Text);
x:= Xmin;
Repeat
y1:= sin(x);
Series1.AddXY(x, y1, '', clTeeColor);
y2:= cos(x);
Series2.AddXY(x, y2, '', clTeeColor);
x:= x + h;
Until (x > Xmax);
end;
Procedure TForm1.Button2Click(Sender: TObject);
begin
Halt //Exit
end;
end.