
05.04.2016, 18:23
|
Прохожий
|
|
Регистрация: 22.12.2015
Сообщения: 13
Версия Delphi: Code Gear
Репутация: 10
|
|
Найти ошибку
Доброго времени суток, уважаемые форумчане. Столкнулся с проблемой написания программы для рисовки графика функции, указанного в заголовке.
Что я имею сейчас:
1.Код, который не хочет работать;
2.Желание разобраться
Вот код:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
TeEngine, Series, StdCtrls, ExtCtrls, TeeProcs, Chart, Math;
type
TForm1 = class(TForm)
Chart1: TChart;
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;
Button1: TButton;
Button2: TButton;
Series1: TLineSeries;
Edit8: TEdit;
Label8: TLabel;
Edit9: TEdit;
Edit10: TEdit;
Label9: TLabel;
Label10: TLabel;
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:real;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
{Установка начальных параметров.}
Xmin:=-2*pi;
Xmax:=2*pi;
Ymin:=-1.5;
Ymax:=1.5;
Hx:=1;
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,y,k,a,e:real;
begin
Series1.Clear;
Xmin:=StrToFloat(Edit1.Text);
Xmax:=StrToFloat(Edit2.Text);
k:=StrToFloat(Edit8.Text);
a:=StrToFloat(Edit9.Text);
e:=StrToFloat(Edit10.Text);
k:=StrToFloat(Edit8.Text);
a:=StrToFloat(Edit9.Text);
e:=StrToFloat(Edit10.Text);
h:=StrToFloat(Edit7.Text);
x:=Xmin;
Repeat
y:=a*e^(k*x);
Series1.AddXY(x,y,'',clTeeColor);
x:=x+h;
Until x>Xmax;
end;
end.
Но работать не хочет
|