Написание программ обработки событий нажатия на кнопки

Процедура TForm1.Button1Click обрабатывает нажатие кнопки “Установить оси”. Процедура TForm1.Button2Click обрабатывает нажатие кнопки “Построить график”. Для добавления координат точек (X,Y) из таблицы значений в двумерный массив объекта Seriesk используется процедура Series1.AddXY(Const AXValue, AYValue: Double; Const AXLabel: String; AColor: TColor) : Longint;, где AXValue, AYValue – координаты точки по осям X и Y; AXLabel может принимать значение ‘’; AСolor задает цвет линий (если равен clTeeColor, то принимается цвет, определенный при проектировании формы).

Текст программы имеет вид:

unit tem8;

 

interface

 

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtCtrls, TeeProcs, TeEngine, Chart, Buttons, StdCtrls, Series;

 

type

TForm1 = class(TForm)

Edit1: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Button1: TButton;

Button2: TButton;

BitBtn1: TBitBtn;

Chart1: TChart;

Series2: TLineSeries;

Label6: TLabel;

Edit6: TEdit;

Label7: TLabel;

Edit7: TEdit;

Series1: 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(Ymax);

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);

begin

{Чтение даннных из окон однострочных редакторов}

Xmin:=StrToFloat(Edit1.Text);

Xmax:=StrToFloat(Edit2.Text);

Ymin:=StrToFloat(Edit3.Text);

Ymax:=StrToFloat(Edit4.Text);

Hx:=StrToFloat(Edit5.Text);

Hy:=StrToFloat(Edit6.Text);

Chart1.BottomAxis.Minimum:=Xmin; // Установка левой границы нижней оси

Chart1.BottomAxis.Maximum:=Xmax; // Установка правой границы нижней оси

Chart1.LeftAxis.Minimum:=Ymin; // Установка нижней границы левой оси

Chart1.LeftAxis.Maximum:=Ymax; // Установка верхней границы левой оси

Chart1.BottomAxis.Increment:=Hx; // Установка шага разметки по нижней оси

Chart1.LeftAxis.Increment:=Hy; // Установка шага разметки по левой оси

end;

 

procedure TForm1.Button2Click(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; // Начальное значение по оси X

repeat

y1:=sin(x); // Расчет функции

Series1.AddXY(x,y1,',clTeeColor); // Вывод точки на график

y2:=cos(x); // Расчет функции

Series2.AddXY(x,y2,',clTeeColor); // Вывод точки на график

x:=x+h; // Увеличение значения X на величину шага

Until (x>Xmax);

end;

 

end.