Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
делфи.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
8.51 Mб
Скачать
  1. При запуске программы появляется следующее окно:

  1. После нажатия кнопки «Выполнить»:

Выводы: изучили возможности построения графиков с помощью компонента отображения графической информации TChart. Написали и отладили программу построения на экране графика заданной функции.

Лабораторная работа 9

Разработка приложения, состоящего из нескольких форм

Постановка задачи:

Разработать приложение, состоящее из нескольких форм и поддерживающее визуальное изменение данных.

Задание: Взять за основу задание к лабораторной работе №7. Добавить к проекту дополнительную форму, на которой реализовать смешивание цветов. Выбранный цвет необходимо применить к одной из компонент главной формы.

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

unit Unit1;

Interface

uses

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

Dialogs, Math, StdCtrls, mathfunc;

type

TForm1 = class(TForm)

Memo1: TMemo;

Button1: TButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

lbl1: TLabel;

lbl2: TLabel;

lbl3: TLabel;

lbl4: TLabel;

Button2: TButton;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

Edit1.Text:='0,1';

Edit2.Text:='1';

Edit3.Text:='8';

Edit4.Text:=FloatToStr((1-0.1)/8);

Memo1.Clear;

Memo1.Lines.Add('Лабораторная работа №9');

end;

procedure TForm1.Button1Click(Sender: TObject);

var

x,x1,x2,x2n,h,S,Y,deltas : extended;

n,nf,i : Integer;

Begin

x1:=StrToFloat(edit1.Text);

x2:=StrToFloat(edit2.Text);

If x2<x1 Then

Begin

x:=x1;

x1:=x2;

x2:=x;

End;

n:=StrToInt(edit3.Text);

h:=(x2-x1)/n;

edit4.Text:=FloatToStr(h);

x:=x1;

Repeat

//Вычисление S

S:=x;

nf:=1;

x2n:=x;

For i:=1 To n Do

Begin

nf:=nf*2*i*(2*i+1); // (2*n+1)!

x2n:=x2n*x*x; // x^(2*n+1)

deltas:=x2n/nf;

S:=S+deltas;

End;

//Подключение модуля mathfunc

y:=yx(x);

Memo1.Lines.Add('S = ' + FloatToStrF(S, ffFixed,12,10)+ ' Y = '+

FloatToStrF(Y, ffFixed,12,10));

x:=x+h;

Until x>x2;

End;

procedure TForm1.Button2Click(Sender: TObject);

begin

Form2.ShowModal();

end;

end.

unit mathfunc;

Interface

function Yx(x:Extended):extended;

Implementation

function Yx(x:Extended):extended;

begin

Result:=(exp(x)-exp(-x))/2;

end;

end.

unit Unit2;

Interface

uses

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

Dialogs, StdCtrls, ExtCtrls, Buttons;

type

TForm2 = class(TForm)

ScrollBar1: TScrollBar;

ScrollBar2: TScrollBar;

ScrollBar3: TScrollBar;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

RadioGroup1: TRadioGroup;

Button1: TButton;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Panel1: TPanel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Panel2: TPanel;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

BitBtn1: TBitBtn;

procedure ScrollBar1Change(Sender: TObject);

procedure ScrollBar2Change(Sender: TObject);

procedure ScrollBar3Change(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

procedure CheckBox2Click(Sender: TObject);

procedure CheckBox3Click(Sender: TObject);

procedure RadioGroup1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;