Консультация № 182527
16.03.2011, 16:01
62.78 руб.
0 3 1
Здравствуйте уважаемые эксперты! Прошу помощи в следующем вопросе:
Написать программу в Delphi 7 (вид приложения - окно) для вывода графиков (sin(x); sqrt(i)*1/i; exp(-1/x))в компонент TChart (Chart1, Chart2, Chart3) при помощи TMainMenu(График{N1}, График 2{N2}, График 3{N3}). Я написал для графика sin(x). Ссылка незаконченную программу: https://rfpro.ru/upload/4919.

Обсуждение

давно
Профессионал
153662
1070
16.03.2011, 17:17
общий
Вот доработал Ваш проект
Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, Menus, Series, StdCtrls;

type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Chart1: TChart;
Chart2: TChart;
Chart3: TChart;
N1: TMenuItem;
N21: TMenuItem;
N31: TMenuItem;
N2: TMenuItem;
Series1: TFastLineSeries;
Label1: TLabel;
Series2: TFastLineSeries;
Series3: TFastLineSeries;
Label2: TLabel;
Label3: TLabel;
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N31Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.N2Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.N1Click(Sender: TObject);
var
i:integer;
begin
Chart1.Title.Visible:=False;
Chart1.BottomAxis.LabelsSeparation:=20;
Chart1.MarginTop:=10;
Label1.Caption:='sin(x)';
Series1.Clear;
for i:=-22 to 22 do
Series1.AddXY(i*0.29,sin(i*0.29));
end;

procedure TForm1.N21Click(Sender: TObject);
var
i: integer;
begin
Chart2.Title.Visible:= False;
Chart2.BottomAxis.LabelsSeparation:= 20;
Chart2.MarginTop:= 10;
Label2.Caption:= 'sqrt(i)*1/i';
Series2.Clear;
for i:= 1 to 22 do
Series2.AddXY(i, sqrt(i)*1/i);
end;

procedure TForm1.N31Click(Sender: TObject);
var
i: integer;
begin
Chart3.Title.Visible:= False;
Chart3.BottomAxis.LabelsSeparation:= 20;
Chart3.MarginTop:= 10;
Label3.Caption:= 'exp(-1/x)';
Series3.Clear;
for i:= 1 to 22 do
Series3.AddXY(i, exp(-1/i));
end;

end.
Прикрепленные файлы:
092f07a923c2addd01667b1da4ada856.rar
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Неизвестный
17.03.2011, 11:00
общий
Адресаты:
Спасибо за ответ.
давно
Профессионал
153662
1070
17.03.2011, 11:36
общий
это ответ
Здравствуйте, Спиридонов Данил Сергеевич!
Вот доработал Ваш проект
Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, Menus, Series, StdCtrls;

type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Chart1: TChart;
Chart2: TChart;
Chart3: TChart;
N1: TMenuItem;
N21: TMenuItem;
N31: TMenuItem;
N2: TMenuItem;
Series1: TFastLineSeries;
Label1: TLabel;
Series2: TFastLineSeries;
Series3: TFastLineSeries;
Label2: TLabel;
Label3: TLabel;
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N31Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.N2Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.N1Click(Sender: TObject);
var
i:integer;
begin
Chart1.Title.Visible:=False;
Chart1.BottomAxis.LabelsSeparation:=20;
Chart1.MarginTop:=10;
Label1.Caption:='sin(x)';
Series1.Clear;
for i:=-22 to 22 do
Series1.AddXY(i*0.29,sin(i*0.29));
end;

procedure TForm1.N21Click(Sender: TObject);
var
i: integer;
begin
Chart2.Title.Visible:= False;
Chart2.BottomAxis.LabelsSeparation:= 20;
Chart2.MarginTop:= 10;
Label2.Caption:= 'sqrt(i)*1/i';
Series2.Clear;
for i:= 1 to 22 do
Series2.AddXY(i, sqrt(i)*1/i);
end;

procedure TForm1.N31Click(Sender: TObject);
var
i: integer;
begin
Chart3.Title.Visible:= False;
Chart3.BottomAxis.LabelsSeparation:= 20;
Chart3.MarginTop:= 10;
Label3.Caption:= 'exp(-1/x)';
Series3.Clear;
for i:= 1 to 22 do
Series3.AddXY(i, exp(-1/i));
end;

end.
В прикреплённом файле весь проект.
Прикрепленные файлы:
5
Спасибо за ответ.
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Форма ответа