Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Создание нескольких форм и средства управления имиСтр 1 из 28Следующая ⇒
О Т Ч Е Т ПО ЛАБОРАТОРНЫМ РАБОТАМ
по курсу: Quot; КОНСТРУИРОВАНИЕ ПРОГРАММ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ"
Минск - 2007 Лабораторная работа №9 СОЗДАНИЕ НЕСКОЛЬКИХ ФОРМ И СРЕДСТВА УПРАВЛЕНИЯ ИМИ
Цель лабораторной работы: Изучить основные свойства и методы, связанные с созданием и активизацией форм. Задание: Взять за основу задание к лаб. раб. №7. Добавить к проекту дополнительную форму, на которой реализовать смешивание цветов. При этом должен быть организован диалог, как показано ниже.
Выбранный цвет необходимо применить к одной из компонент главной формы.
Листинг программы:
Текст модуля: 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
Выводы: изучили основные свойства и методы, связанные с созданием и активизацией форм.
|