Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание нескольких форм и средства управления ими






О Т Ч Е Т

ПО ЛАБОРАТОРНЫМ РАБОТАМ

 

по курсу:

Quot; КОНСТРУИРОВАНИЕ ПРОГРАММ И

ЯЗЫКИ ПРОГРАММИРОВАНИЯ"

 

Выполнили: Студенты: Мазаник А. А. Шитов С. А. Гр. 107226, бригада №6  
Проверил, профессор: Гурский Н. Н.

 

 

Минск - 2007


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

СОЗДАНИЕ НЕСКОЛЬКИХ ФОРМ И СРЕДСТВА УПРАВЛЕНИЯ ИМИ

 

Цель лабораторной работы: Изучить основные свойства и методы, связанные с созданием и активизацией форм.

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

 

  0.1    

 

 

Выбранный цвет необходимо применить к одной из компонент главной формы.

 

 

Листинг программы:

 

Текст модуля:

unit Matfu;

 

interface

function sx(x: extended): extended;

function yx(x: extended): extended;

 

implementation

function factorial(n: integer): integer;

begin

if n=0 then factorial: =1

else factorial: =n*factorial(n-1);

end;

 

function sx;

var

s: extended;

i: integer;

begin

s: =x;

for i: =1 to 8 do

begin

s: = s + exp((2*i+1)*ln(x)) / factorial(2*i+1);

end;

result: = s;

end;

 

function yx;

begin

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

end;

end.

Текст модуля:

unit Color;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, ComCtrls;

type

TForm2 = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

Panel3: TPanel;

Panel4: TPanel;

RadioGroup1: TRadioGroup;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

TrackBar1: TTrackBar;

TrackBar2: TTrackBar;

TrackBar3: TTrackBar;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

procedure RadioGroup1Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

procedure CheckBox3Click(Sender: TObject);

procedure CheckBox2Click(Sender: TObject);

procedure TrackBar1Change(Sender: TObject);

procedure TrackBar2Change(Sender: TObject);

procedure TrackBar3Change(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form2: TForm2;

 

implementation

 

uses Unit1;

 

{$R *.dfm}

 

procedure ChangeColor(frm: TForm1);

begin

//Функция RGB (красный, зелёный, голубой)

Form2.Panel4.Color: =RGB(Form2.TrackBar1.Position, Form2.TrackBar2.Position, Form2.TrackBar3.Position);

//Изменяем цвет Panel4

frm.Color: = Form2.Panel4.Color;

end;

 

//************************************************************//

 

procedure TForm2.RadioGroup1Click(Sender: TObject);

begin

case RadioGroup1.ItemIndex of

0: Panel2.Visible: =true; //Панель отдельных цветов видима

1: Panel2.Visible: =false; //Панель отдельных цветов не видима

end;

end;

 

//************************************************************//

 

procedure TForm2.CheckBox1Click(Sender: TObject);

begin

if CheckBox1.Checked then

TrackBar1.Enabled: =true //Управление красным (TrackBar1 видим)

else

TrackBar1.Enabled: =false //Управление красным (TrackBar1 не видим)

end;

 

procedure TForm2.CheckBox2Click(Sender: TObject);

begin

if CheckBox2.Checked then

TrackBar2.Enabled: =true //Управление зелёным (TrackBar2 видим)

else

TrackBar2.Enabled: =false //Управление зелёным (TrackBar2 не видим)

 

end;

procedure TForm2.CheckBox3Click(Sender: TObject);

begin

if CheckBox3.Checked then

TrackBar3.Enabled: =true //Управление голубым (TrackBar3 видим)

else

TrackBar3.Enabled: =false //Управление голубым (TrackBar3 не видим)

end;

 

//************************************************************//

 

procedure TForm2.TrackBar1Change(Sender: TObject);

begin

Label4.Caption: =IntToStr(TrackBar1.Position); //Св-ву Caption: = позиция TrackBar1

Label1.Font.Color: =RGB(TrackBar1.Position, 0, 0); //Изменяем цвет в зависимости

ChangeColor(Form1); // только от красного

end;

 

//************************************************************//

 

procedure TForm2.TrackBar2Change(Sender: TObject);

begin

Label5.Caption: =IntToStr(TrackBar2.Position);

Label2.Font.Color: =RGB(0, TrackBar2.Position, 0);

ChangeColor(Form1);

end;

 

//************************************************************//

 

procedure TForm2.TrackBar3Change(Sender: TObject);

begin

Label6.Caption: =IntToStr(TrackBar3.position);

Label3.Font.Color: =RGB(0, 0, TrackBar3.Position);

ChangeColor(Form1);

end;

procedure TForm2.FormCreate(Sender: TObject);

begin

Form2.TrackBar1.Position: =130;

Form2.TrackBar2.Position: =220;

Form2.TrackBar3.Position: =240;

end;

 

end.

 

Текст вызывающей программы:

unit Unit1;

 

interface

 

uses

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

Dialogs, StdCtrls, ExtCtrls;

 

type

TForm1 = class(TForm)

EditXn: TEdit;

EditXk: TEdit;

Memo1: TMemo;

Button1: TButton;

Xn: TLabel;

Xk: TLabel;

H: TLabel;

FunChoice: TRadioGroup;

EditH: TEdit;

VH: TLabel;

Button2: TButton;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

type

func = function(x: extended): extended;

 

var

Form1: TForm1;

 

implementation

uses Matfu, Color;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

EditXn.Text: = '0, 1';

EditXk.Text: = '3';

EditH.Text: = ' ';

FunChoice.ItemIndex: = 0;

Memo1.Clear;

Button1Click(Sender);

end;

 

procedure Tab1(f: func; xn, xk, h: extended);

var

x, y: extended;

begin

Form1.Memo1.Lines.Add(' РЕЗУЛЬТАТЫ: ');

Form1.Memo1.Lines.Add('');

 

x: = xn;

 

Repeat

y: = f(x);

 

Form1.Memo1.Lines.Add(' x=' + FloatToStrF(x, fffixed, 8, 2)+

' y=' + FloatToStrF(y, fffixed, 8, 2));

x: = x + h;

Until (x > xk);

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var

xn, xk, h: extended;

begin

xn: = StrToFloat(EditXn.Text);

xk: = StrToFloat(EditXk.Text);

h: = (xk - xn) / 10;

EditH.Text: = FloatToStr(h);

Memo1.Clear();

 

case FunChoice.ItemIndex of

0: Tab1(sx, xn, xk, h);

1: Tab1(yx, xn, xk, h);

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Form2.Visible: =True;

end;

 

end.

 

Результат выполнения программы:

Рисунок 1

 

Рисунок 2

 

Выводы: изучили основные свойства и методы, связанные с созданием и активизацией форм.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.024 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал