Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обчислювальна практика1.docx
Скачиваний:
2
Добавлен:
31.08.2019
Размер:
466.07 Кб
Скачать

3. Створити проект для демонстрації викорстання контейнерів та компонентів для відображення інформації.

  • На головній формі розмістити компонент PageControl в якому створити три сторінки;

  • Задати заголовки сторінок: «Зміна розташування», «Світлофор», «Графік»;

  • Розмістити на першій сторінці дві панелі. На одній розмістити групу залежних перемикачів для задання розміщення(верх, низ, зліва , зправа), на іншій розмістити мітку яка буде змінювати своє положення в залежності від вибраного перемикача;

  • На другій сторінці розмістити світлофор створений за допомогою компонентів Shape та групу перемикачів для задання активного кольору світлофора. Розділити компоненти за допомогою компонента Bevel. При виборі певного кольору світлофора повинен засвічуватись відповідний ліхтар, а інші повинні гаснути;

  • На третій сторінці розмістити компонент Chart та групу перемикачів для вибору функції. При виборі функції повинен виводитись відповідний графік на певному проміжку. Проміжок вибирається довільний.

  • Передбачити обмеження на розміри, щоб унеможливити вихід компонентів за межі форми.

Розв’язання:

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, ComCtrls, TeEngine, Series, TeeProcs, Chart;

type

TForm1 = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

Panel1: TPanel;

RadioGroup1: TRadioGroup;

Panel2: TPanel;

Label1: TLabel;

Panel3: TPanel;

Panel4: TPanel;

RadioGroup2: TRadioGroup;

Shape1: TShape;

Shape2: TShape;

Shape3: TShape;

Bevel1: TBevel;

RadioGroup3: TRadioGroup;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

Chart1: TChart;

Series1: TLineSeries;

procedure RadioGroup1Click(Sender: TObject);

procedure RadioGroup2Click(Sender: TObject);

procedure RadioButton1Click(Sender: TObject);

procedure RadioButton2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin

case RadioGroup1.ItemIndex of

0:label1.Align:=altop;

1:label1.Align:=alBottom;

2:label1.Align:=alright;

3:label1.Align:=alleft;

end;

end;

procedure TForm1.RadioGroup2Click(Sender: TObject);

begin

case RadioGroup2.ItemIndex of

0: begin Shape1.Brush.Color:=clred;

shape2.Brush.Color:=clwhite;

shape3.Brush.Color:=clwhite;

end;

1: begin shape2.Brush.Color:=clyellow;

shape1.Brush.Color:=clwhite;

shape3.Brush.Color:=clwhite;

end;

2: begin shape3.Brush.Color:=cllime;

shape1.Brush.Color:=clwhite;

shape2.Brush.Color:=clwhite;

end;

end;

end;

procedure TForm1.RadioButton1Click(Sender: TObject);

var

x,y:real;

s:string;

begin

Chart1.Series[0].Clear;

x:=-3;

while x<=3 do

begin

y:=sin(x);

str(x:5:2,s) ;

Chart1.Series[0].AddXY(x,y,s,clgreen);

x:=x+0.1;

end;

end;

procedure TForm1.RadioButton2Click(Sender: TObject);

var

x,y:real;

begin

Chart1.Series[0].Clear;

x:=-6;

while x<=6 do

begin

y:=cos(x);

Chart1.Series[0].AddXY(x,y,'',cllime);

x:=x+0.2;

end;

end;

end.

Результат:

в середовищі Mathcad