Помогите исправить ошибки.
Код:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics,
Dialogs, Grids, ExtCtrls, TAGraph, StdCtrls, TASeries, ComCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Chart1: TChart;
Edit1: TEdit;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
TrackBar1: TTrackBar;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
S:TSerie;
a,k:real;
implementation
{$R *.lfm}
{ TForm1 }
procedure func(var x,y:real);
begin
y:=(exp(x)+exp(-x))/(exp(x)-exp(-x));
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
var i:integer;
begin
i:=TrackBar1.Position;
StringGrid2.Cells[0,0]:=StringGrid1.Cells[0,i+1];
StringGrid2.Cells[1,0]:=StringGrid1.Cells[1,i+1];
StringGrid2.Cells[2,0]:=StringGrid1.Cells[2,i+1];
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
with StringGrid1 do
begin
RowCount:=362;ColCount:=2;
Cells[1,0]:='X';Cells[2,0]:='Y'
end;
S:=TSerie.Create(Chart1);
S.ShowLines:=True;
S.ShowPoints:=True;
S.SeriesColor:=clBlack;
Chart1.Title.Text.Text:='Гиперболический тангенс';
Chart1.Title.Visible:=true;
Chart1.Series.Clear;
Chart1.AddSerie(S);
with TrackBar1 do
begin
Width:=Chart1.Width;
Min:=0;Max:=360;
Position:=0
end
end;
procedure TForm1.Button1Click(Sender: TObject);
var x,y:real;
m:integer;
begin
val(Edit1.Text,x);
if (x=0) then
begin
x:=1;
Edit1.Text:='1'
end;
x:=0;y:=0;
with StringGrid1 do
for m:=1 to Rowcount-2 do
begin
func(x,y);
Cells[1,m+1]:=FloatToStr(x);
Cells[2,m+1]:=FloatToStr(y)
end;
StringGrid1.SetFocus
end;
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
S.Clear;
with StringGrid1 do for i:=1 to Rowcount-1 do
S.AddXY(StrToFloat(Cells[1,i]),
StrToFloat(Cells[2,i]),IntToStr(i),clBlack);
TrackBar1.Width:=Chart1.Width;
StringGrid1.SetFocus
end;
end.
{$mode objfpc}{$H+}
interface
uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics,
Dialogs, Grids, ExtCtrls, TAGraph, StdCtrls, TASeries, ComCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Chart1: TChart;
Edit1: TEdit;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
TrackBar1: TTrackBar;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
S:TSerie;
a,k:real;
implementation
{$R *.lfm}
{ TForm1 }
procedure func(var x,y:real);
begin
y:=(exp(x)+exp(-x))/(exp(x)-exp(-x));
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
var i:integer;
begin
i:=TrackBar1.Position;
StringGrid2.Cells[0,0]:=StringGrid1.Cells[0,i+1];
StringGrid2.Cells[1,0]:=StringGrid1.Cells[1,i+1];
StringGrid2.Cells[2,0]:=StringGrid1.Cells[2,i+1];
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
with StringGrid1 do
begin
RowCount:=362;ColCount:=2;
Cells[1,0]:='X';Cells[2,0]:='Y'
end;
S:=TSerie.Create(Chart1);
S.ShowLines:=True;
S.ShowPoints:=True;
S.SeriesColor:=clBlack;
Chart1.Title.Text.Text:='Гиперболический тангенс';
Chart1.Title.Visible:=true;
Chart1.Series.Clear;
Chart1.AddSerie(S);
with TrackBar1 do
begin
Width:=Chart1.Width;
Min:=0;Max:=360;
Position:=0
end
end;
procedure TForm1.Button1Click(Sender: TObject);
var x,y:real;
m:integer;
begin
val(Edit1.Text,x);
if (x=0) then
begin
x:=1;
Edit1.Text:='1'
end;
x:=0;y:=0;
with StringGrid1 do
for m:=1 to Rowcount-2 do
begin
func(x,y);
Cells[1,m+1]:=FloatToStr(x);
Cells[2,m+1]:=FloatToStr(y)
end;
StringGrid1.SetFocus
end;
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
S.Clear;
with StringGrid1 do for i:=1 to Rowcount-1 do
S.AddXY(StrToFloat(Cells[1,i]),
StrToFloat(Cells[2,i]),IntToStr(i),clBlack);
TrackBar1.Width:=Chart1.Width;
StringGrid1.SetFocus
end;
end.
Все срочно включаем телепатию, и начинаем думать что за ошибки, где происходят, et cetera...
Код:
var
Form1: TForm1;
S:TSerie;-----------> Warning: Symbol "TSerie" is deprecated
a,k:real;
Form1: TForm1;
S:TSerie;-----------> Warning: Symbol "TSerie" is deprecated
a,k:real;
Код:
procedure TForm1.FormCreate(Sender: TObject);
.....
S:=TSerie.Create(Chart1);-----------> Warning: Symbol "TSerie" is deprecated
.....
.....
S:=TSerie.Create(Chart1);-----------> Warning: Symbol "TSerie" is deprecated
.....
Код:
procedure TForm1.FormCreate(Sender: TObject);
.....
Chart1.AddSerie(S);------------------>Error: identifier idents no member "AddSerie"
.....
.....
Chart1.AddSerie(S);------------------>Error: identifier idents no member "AddSerie"
.....
Тут довольно очевидно: устарело всё, нужно другими средствами воспользоваться.
В новых версиях Lazarus вместо TSerie надо TLineSeries (например) использовать. Создавать ее проще не динамически, а через дизайнер в настройках свойств графика.