Студопедия

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

Разделы сайта

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






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Создание нескольких форм и средства управления ими






    О Т Ч Е Т

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

     

    по курсу:

    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

     

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






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.