Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа ’ 1.html

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 2.11.2024

Задание на программирование:

Написать программу для решения следующих четырех задач:

  1.  Дано: A, B – катеты прямоугольного треугольника. Найти гипотенузу C. Задача должна решаться в режиме диалога (см. рис. 1).

Рис. 1. Первая модальная форма

Контрольный пример 1

Исходные данные

A=3, B=4.

Ожидаемый результат

С=5.

  1.  Дано: V0 – начальная скорость, a – ускорение. Найти V – скорость в момент времени t и пройденное за это время расстояние S. Задача должна решаться в интерактивном режиме (см. рис. 2).

Рис. 2. Вторая модальная форма

Контрольный пример 2

Исходные данные

V0=0, a=4, t=2.

Ожидаемый результат

V=8, t=8.

  1.  Дано: A, B – действительные числа. Вычислить Y по одной из следующих формул (по желанию пользователя):

Y=A+B

Y=A/B

Y=A*B 

Задача должна решаться в интерактивном режиме (см. рис. 3).

Рис. 3. Третья модальная форма

Контрольный пример 3

Исходные данные

A=2, B=4.

Ожидаемый результат

Или Y=7

Или Y=0,5

Или Y=8.

  1.  Дано: A, B – действительные числа. Вычислить X, Y и Z по следующим формулам:

X=A+B

Y=A/B

Z=A*B

Контрольный пример 4

Исходные данные

A=2, B=4.

Ожидаемый результат

X=7

Y=0,5

Z=8.

Задача должна решаться в интерактивном режиме. На экран выводятся только выбранные пользователем значения (см. рис. 4).

Рис. 4. Четвертая модальная форма

Задание на лабораторное исследование:

  1.  Изучить основные компоненты, предназначенные для разработки многооконных интерфейсов.
  2.  Ознакомиться с особенностями работы модальных форм
  3.  Ознакомиться с принципами событийно-ориентированного программирования.

Инструкция по выполнению

  1.  Средствами Windows создайте свою рабочую папку, в которой будете хранить результаты выполнения задания на программирования. Назовите ее, например, Lab_7.
  2.  Запустите среду программирования Delphi 7.
  3.  Создайте новое приложение, сохраните его в рабочей папке. Для этого однократно щелкните левой клавишей мыши по кнопке «Save (Ctrl+S)». Назовите файл, например, Lab_7.

Не забывайте по ходу выполнения лабораторной работы регулярно сохранять проект в этой папке. Иначе, в случае возникновения аварийной ситуации вам придется начинать выполнение работы с нуля.

  1.  В окне Object Inspector задайте следующие свойства основной формы Form1:

Свойство

Значение

Описание

Caption

Не модальные окна

DefaultMonitor

dmMainForm

Font\Size

9

Position

poScreenCenter

WindowState

wsMaximized

  1.  Расположите в произвольном месте на форме Form1 список пиктограмм ImageList1 класса TImageList (компонент  «ImageList (Controls)» на закладке Win32 панели инструментов Delphi).
  2.  Двойным щелчком левой клавиши мыши по объекту  ImageList на форме вызовите редактор списка пиктограмм.
  3.  Используя кнопки , , , а так же прием DragAndDroup сформируйте список из 5 пиктограмм, которые будут задействованы в проекте, например, так как показано на рисунке 5. Коллекцию пиктограмм можно найти в папке C:\Program Files\Common Files\ Borland Shared\Images\Buttons. По окончании редактирования списка пиктограмм нажмите кнопку .

Рис. 5. Редактирование списка пиктограмм

  1.  Расположите в произвольном месте на форме Form1 список процедур ActionList1 класса TActionList (компонент «ActionList (ActnList)» на закладке Standard панели инструментов Delphi).
  2.  Расположите в произвольном месте на форме Form1 меню MainMenu1 класса TMainMenu (компонент «MainMenu (Menus)» на закладке Standard панели инструментов Delphi).
  3.  Расположите в произвольном месте на форме Form1 меню PopUpMenu1 класса TPopUpMenu (компонент «PopUpMenu (Menus)» на закладке Standard панели инструментов Delphi).
  4.  Расположите на форме Form1 панель инструментов ToolBar1 класса TToolBar (компонент «ToolBar (ComCtrls)» на закладке Win32 панели инструментов Delphi). Установите для объекта ToolBar1 следующие значения свойств:

Свойство

Значение

Описание

Images

ImageList1

  1.  На панели инструментов ToolBar1 расположите последовательно следующие инструменты :
    1.  Кнопка SpeedButton1 класса TSpeedButton (компонент  Speed Button (Buttons) на закладке Additional панели инструментов Delphi
    2.  Кнопка SpeedButton2 класса TSpeedButton (компонент  Speed Button (Buttons) на закладке Additional панели инструментов Delphi
    3.  Кнопка SpeedButton3 класса TSpeedButton (компонент  Speed Button (Buttons) на закладке Additional панели инструментов Delphi
    4.  Кнопка SpeedButton4 класса TSpeedButton (компонент  Speed Button (Buttons) на закладке Additional панели инструментов Delphi
    5.  Кнопка SpeedButton5 класса TSpeedButton (компонент  Speed Button (Buttons) на закладке Additional панели инструментов Delphi

Выполнив п.п.  –  настоящей инструкции вы сформировали основное окно приложения, назначение которого – обеспечить различные способы доступа (основное меню, выпадающее меню, горячие клавиши, панель инструментов) ко всем задачам, решаемым приложением.

  1.  Обратившись к меню File\New\Form создайте форму Form2Задача № 1») со свойствами:

Свойство

Значение

Описание

BorderStyle

bsDialog

Caption

Задача № 1

Font\Size

9

Position

poMainFormCenter

  1.  Последовательно расположите на форме Form2 перечисленные ниже объекты (см. рис. 1) и установите для них указанные в таблице значения свойств:
  2.  Панель Panel1 класса TPanel со свойствами:

Свойство

Значение

Описание

Align

Bottom

Caption

  1.  Групповая панель GroupBox1 класса TGroupBox со свойствами:

Свойство

Значение

Описание

Align

alLeft

Caption

Исходные данные

  1.  Групповая панель GroupBox2 класса TGroupBox со свойствами:

Свойство

Значение

Описание

Align

alClient

Caption

Результаты расчета

  1.  На панели Panel1 кнопка Button1 класса TButton со свойствами:

Свойство

Значение

Описание

Anchors\alLeft

False

Anchors\alTop

False

Anchors\alRight

True

Anchors\alBottom

True

Caption

Выход

ModalResult

mrCancel

  1.  На панели GroupBox1 кнопка Button2 класса TButton со свойствами:

Свойство

Значение

Описание

Anchors\alLeft

True

Anchors\alTop

True

Anchors\alRight

False

Anchors\alBottom

False

Caption

Расчет

  1.  На панели GroupBox1 редактируемые строки Edit1 и Edit2 класса TEdit со свойствами:

Свойство

Значение

Описание

Text

  1.  На панели GroupBox1 метка Label1 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

&1-й катет

FocusControl

Edit1

  1.  На панели GroupBox1 метка Label2 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

&2-й катет

FocusControl

Edit2

  1.  На панели GroupBox2 область просмотра Memo1 класса TMemo со свойствами:

Свойство

Значение

Описание

Align

alClient

Lines

ReadOnly

True

ScrollBars

ssVertical

  1.  Последовательно добавьте соответствующим объектам перечисленные ниже методы, определяющие реакцию приложения на различные события (см. п.  –  инструкции по выполнению лабораторной работы № 2). По мере добавления методов регулярно выполняйте запуск программы, исправляйте допущенные ошибки. 
    1.  Метод TForm2.Edit1Change– реакция на событие onChange, редактирование значения первого катета Edit1:

procedure TForm2.Edit1Change(Sender: TObject);

begin

 Try

   StrToFloat(Edit1.Text);

   StrToFloat(Edit2.Text);

   Button2.Enabled:=True;

 Except

   Button2.Enabled:=False;

 end;

end;

  1.  Метод TForm2.Edit1Change – реакция на событие onChange, редактирование значения второго катета Edit2
    1.  Метод TForm2.Button2Click – реакция на событие onClick, нажатие кнопки Button2 («Расчет»)

procedure TForm2.Button2Click(Sender: TObject);

var

 C:Real;

begin

 C:=Sqrt(Sqr(StrToFloat(Edit1.Text))+

   Sqr(StrToFloat(Edit2.Text)));

 Memo1.Lines.Add('1-й катет '+Edit1.Text+' 2-й катет

   '+Edit2.Text+' гипотенуза '+FloatToStr(C));

end;

Выполнив п.п.  –  настоящей инструкции мы сформировали функциональность первого окна

  1.  Двойным щелчком левой клавиши мыши по объекту  ActionList1 на форме Form1 вызовите редактор списка процедур.
  2.  Однократным щелчком левой клавиши мыши по кнопке – «New Action (Ins)» на панели инструментов редактора списка процедур добавьте в список новую процедуру Action1.
  3.  В окне Object Inspector задайте следующие значения свойств объекта Action1:

Свойство

Значение

Описание

Caption

Hint

Задача № 1

ImageIndex

0

ShortCut

Ctrl+A

  1.  Дважды щелкните левой клавишей мыши по строке выбора метода для события onExecute объекта Action1 в закладке Events окна Object Inspector. На экране должно появиться окно редактирования программы, содержащее шаблон метода Action1Execute, определяющего реакцию формы Form1 на обращение к первой задаче.
  2.  Наберите текст процедуры Action1Execute:

procedure TForm1.Action1Execute(Sender: TObject);

begin

 Form2.Button1.Enabled:=False;

 Form2.Button2.Enabled:=False;

 Form2.Edit1.Text:='';

 Form2.Edit2.Text:='';

 Form2.Memo1.Clear;

 Form2.ShowModal;

end;

Выполнив п.п. –  настоящей инструкции, вы создали процедуру Action1Execute, вызывающую форму Form2 и внесли ее в список процедур для многократного вызова (из различных меню, кнопок и пр.), избавившись тем самым от необходимости многократно писать однотипные процедуры – реакции различных объектов.

  1.  Двойным щелчком левой клавиши мыши по объекту  MainMenu1 на форме Form1 вызовите редактор основного меню.
  2.  Заполняя поля Caption, для отдельных пунктов основного меню сформируйте его как показано на рисунках 6, 7

Рис 6. Меню Линейные алгоритмы

Рис 7. Меню Ветвление

  1.  В редакторе основного меню выберите пункт Линейные алгоритмы\Задача №1 и сформируйте его свойства в окне Object Inspector:

Свойство

Значение

Описание

Caption

Задача № 1

Action

Action1

Выполнив п.п.  –  настоящей инструкции вы запрограммировали возможность обращения к процедуре Action1 (вызов формы Form2) с помощью основного меню.

  1.  Двойным щелчком левой клавиши мыши по объекту  PopUpMenu1 на форме Form1 вызовите редактор выпадающего меню.
  2.  Заполняя поля Caption для отдельных пунктов выпадающего меню, сформируйте его как показано на рисунке 8

Рис 8. Выпадающее меню

  1.  В редакторе выпадающего меню выберите пункт Линейные алгоритмы\Задача №1 и сформируйте его свойства в окне Object Inspector:

Свойство

Значение

Описание

Caption

Задача № 1

Action

Action1 

Выполнив п.п. –  настоящей инструкции вы запрограммировали возможность обращения к процедуре Action1 (вызов формы Form2) с помощью выпадающего меню.

  1.  Выберите объект SpeedButton1 на форме Form1 и назначьте ему следующие свойства:

Свойство

Значение

Описание

Action

Action1

ShowHint

True

Выполнив п.  настоящей инструкции, вы запрограммировали возможность обращения к процедуре Action1 (вызов формы Form2) с помощью кнопки на панели инструментов.

  1.  Создайте форму Form3, расположите на ней перечисленные ниже объекты, установите их свойства и процедуры, определяющие реакцию на различные события, связанные с решением второй задачи:
    1.  свойства Form3

Свойство

Значение

Описание

BorderStyle

bsDialog

Caption

Задача № 2

Font\Size

9

Position

poMainFormCenter

  1.  панель Panel класса TPanel со свойствами

Свойство

Значение

Описание

Align

Bottom

Caption

  1.  Групповая панель GroupBox1 класса TGroupBox со свойствами:

Свойство

Значение

Описание

Align

alLeft

Caption

Исходные данные

  1.  Групповая панель GroupBox2 класса TGroupBox со свойствами:

Свойство

Значение

Описание

Align

alClient

Caption

Результаты расчета

  1.  На панели Panel1 кнопка Button1 класса TButton со свойствами:

Свойство

Значение

Описание

Anchors\alLeft

False

Anchors\alTop

False

Anchors\alRight

True

Anchors\alBottom

True

Caption

Выход

ModalResult

mrCancel

  1.  На панели GroupBox1 редактируемые строки Edit1, Edit2 и Edit3 класса TEdit со свойствами:

Свойство

Значение

Описание

Text

  1.  На панели GroupBox1 метка Label1 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

Начальная скорость

FocusControl

Edit1

  1.  На панели GroupBox1 метка Label2 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

Ускорение

FocusControl

Edit2

  1.  На панели GroupBox1 метка Label3 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

Время

FocusControl

Edit3

  1.  На панели GroupBox2 редактируемые строки Edit4 и Edit5 класса TEdit со свойствами:

Свойство

Значение

Описание

Text

ReadOnly

True

  1.  На панели GroupBox2 метка Label4 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

Конечная скорость

  1.  На панели GroupBox2 метка Label5 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

Расстояние

  1.  Последовательно добавьте соответствующим объектам перечисленные ниже методы, определяющие реакцию приложения на различные события (см. п.  –  инструкции по выполнению лабораторной работы № 2). По мере добавления методов регулярно выполняйте запуск программы, исправляйте допущенные ошибки. 
    1.  Метод TForm3.Edit1Change– реакция на событие onChange, редактирование значения начальной скорости Edit1:

procedure TForm3.Edit1Change(Sender: TObject);

var

 A,T,V0,V,S:Real;

begin

 Try

   V0:=StrToFloat(Edit1.Text);

   A:=StrToFloat(Edit2.Text);

   T:=StrToFloat(Edit3.Text);

   V:=V0+A*T;

   S:=V0*T+A*Sqr(T)/2;

   Edit4.Text:=FloatToStr(V);

   Edit5.Text:=FloatToStr(S);

   Button1.Enabled:=True;

 Except

   Button1.Enabled:=False;

 End;

end;

  1.  Метод TForm3.Edit1Change– реакция на событие onChange, редактирование значения ускорения Edit2
    1.  Метод TForm3.Edit1Change– реакция на событие onChange, редактирование значения времени Edit3

Выполнив п.п.  –  настоящей инструкции вы сформировали функциональность решения второй задачи

  1.  Двойным щелчком левой клавиши мыши по объекту  ActionList1 на форме Form1 вызовите редактор списка процедур.
  2.  Однократным щелчком левой клавиши мыши по кнопке – «New Action (Ins)» на панели инструментов редактора списка процедур добавьте в список новую процедуру Action2.
  3.  В окне Object Inspector задайте следующие значения свойств объекта Action2:

Свойство

Значение

Описание

Caption

Hint

Задача № 2

ImageIndex

1

ShortCut

Ctrl+B

  1.  Дважды щелкните левой клавишей мыши по строке выбора метода для события onExecute объекта Action2 в закладке Events окна Object Inspector. На экране должно появиться окно редактирования программы, содержащее шаблон метода Action2Execute, определяющего реакцию формы Form1 на обращение ко второй задаче.
  2.  Наберите текст процедуры Action2Execute:

procedure TForm1.Action2Execute(Sender: TObject);

begin

 Form3.Edit1.Text:='';

 Form3.Edit2.Text:='';

 Form3.Edit3.Text:='';

 Form3.Edit4.Text:='';

 Form3.Edit5.Text:='';

 Form3.Button1.Enabled:=False;

 Form3.ShowModal;

end;

Выполнив п.п.  –  настоящей инструкции, вы создали процедуру Action2Execute, вызывающую форму Form3 и внесли ее в список процедур для многократного вызова (из различных меню, кнопок и пр.), избавившись тем самым от необходимости многократно писать однотипные процедуры – реакции различных объектов.

  1.  Двойным щелчком левой клавиши мыши по объекту  MainMenu1 на форме Form1 вызовите редактор основного меню.
  2.  В редакторе основного меню выберите пункт Линейные алгоритмы\Задача №2 и сформируйте его свойства в окне Object Inspector:

Свойство

Значение

Описание

Caption

Задача № 2

Action

Action2

  1.  Двойным щелчком левой клавиши мыши по объекту  PopUpMenu1 на форме Form1 вызовите редактор выпадающего меню.
  2.  В редакторе выпадающего меню выберите пункт Линейные алгоритмы\Задача №2 и сформируйте свойства в окне Object Inspector:

Свойство

Значение

Описание

Caption

Задача № 2

Action

Action2

  1.  Выберите объект SpeedButton2 на форме Form1 и назначьте ему следующие свойства:

Свойство

Значение

Описание

Action

Action2

ShowHint

True

Выполнив п.п.  –  настоящей инструкции вы запрограммировали возможность обращения к алгоритму решения второй задачи различными способами

  1.  Создайте форму Form4, расположите на ней перечисленные ниже объекты, установите их свойства и процедуры, определяющие реакцию на различные события, связанные с решением второй задачи:
    1.  свойства Form4

Свойство

Значение

Описание

BorderStyle

bsDialog

Caption

Задача № 3

Font\Size

9

Position

poMainFormCenter

  1.  панель Panel класса TPanel со свойствами

Свойство

Значение

Описание

Align

Bottom

Caption

  1.  Групповая панель GroupBox1 класса TGroupBox со свойствами:

Свойство

Значение

Описание

Align

alLeft

Caption

Исходные данные

  1.  Групповая панель GroupBox2 класса TGroupBox со свойствами:

Свойство

Значение

Описание

Align

alClient

Caption

Результаты расчета

  1.  На панели Panel1 кнопка Button1 класса TButton со свойствами:

Свойство

Значение

Описание

Anchors\alLeft

False

Anchors\alTop

False

Anchors\alRight

True

Anchors\alBottom

True

Caption

Выход

ModalResult

mrCancel

  1.  На панели GroupBox1 панель зависимых переключателей строки RadioGroup1 класса TRadioGroup (компонент  TRadioGroup (ExtCtrls) на закладке Standard панели инструментов Delphi со свойствами:

Свойство

Значение

Описание

Caption

Выберите способ расчета

Items

Y=A+B

Y=A/B

Y=A*B

ItemIndex

0

  1.  На панели GroupBox1 редактируемые строки Edit1 и Edit2 класса TEdit со свойствами:

Свойство

Значение

Описание

Text

  1.  На панели GroupBox1 метка Label1 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

A=

FocusControl

Edit1

  1.  На панели GroupBox1 метка Label2 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

B=

FocusControl

Edit1

  1.  На панели GroupBox2 редактируемая строка Edit3 класса TEdit со свойствами:

Свойство

Значение

Описание

Text

ReadOnly

True

Font\Size

12

  1.  На панели GroupBox2 метка Label3 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

Y=

Font\Size

12

  1.  Последовательно добавьте соответствующим объектам перечисленные ниже методы, определяющие реакцию приложения на различные события (см. п.  –  инструкции по выполнению лабораторной работы № 2). По мере добавления методов регулярно выполняйте запуск программы, исправляйте допущенные ошибки. 
    1.  Метод TForm4.Edit1Change– реакция на событие onChange, редактирование значения переменной A (Edit1):

procedure TForm4.Edit1Change(Sender: TObject);

var

 A,B,Y:Real;

begin

 try

   A:=StrToFloat(Edit1.Text);

   B:=StrToFloat(Edit2.Text);

   case RadioGroup1.ItemIndex of

     0: Y:=A+B;

     1: Y:=A/B;

     2: Y:=A*B;

   end;

   Edit3.Text:=FloatToStr(Y);

   Button1.Enabled:=True;

 except

   Edit3.Text:='';

   Button1.Enabled:=False;

 end;

end;

  1.  Метод TForm4.Edit1Change – реакция на событие onChange, редактирование значения переменной A (Edit2).
    1.  Метод TForm4.Edit1Change – реакция на событие onClick, выбор переключателя RadioGroup.

Выполнив п.п.  –  настоящей инструкции вы сформировали функциональность решения третьей задачи

  1.  Двойным щелчком левой клавиши мыши по объекту  ActionList1 на форме Form1 вызовите редактор списка процедур.
  2.  Однократным щелчком левой клавиши мыши по кнопке – «New Action (Ins)» на панели инструментов редактора списка процедур добавьте в список новую процедуру Action3.
  3.  В окне Object Inspector задайте следующие значения свойств объекта Action3:

Свойство

Значение

Описание

Caption

Hint

Задача № 3

ImageIndex

2

ShortCut

Ctrl+С

  1.  Дважды щелкните левой клавишей мыши по строке выбора метода для события onExecute объекта Action3 в закладке Events окна Object Inspector. На экране должно появиться окно редактирования программы, содержащее шаблон метода Action3Execute, определяющего реакцию формы Form1 на обращение к третьей задаче.
  2.  Наберите текст процедуры Action3Execute:

procedure TForm1.Action3Execute(Sender: TObject);

begin

 Form4.Edit1.Text:='';

 Form4.Edit2.Text:='';

 Form4.Edit3.Text:='';

 Form4.RadioGroup1.ItemIndex:=0;

 Form4.Button1.Enabled:=False;

 Form4.ShowModal;

end;

Выполнив п.п. –  настоящей инструкции, вы создали процедуру Action3Execute, вызывающую форму Form4 и внесли ее в список процедур для многократного вызова (из различных меню, кнопок и пр.), избавившись тем самым от необходимости многократно писать однотипные процедуры – реакции различных объектов.

  1.  Двойным щелчком левой клавиши мыши по объекту  MainMenu1 на форме Form1 вызовите редактор основного меню.
  2.  В редакторе основного меню выберите пункт Ветвление\Задача №3 и сформируйте его свойства в окне Object Inspector:

Свойство

Значение

Описание

Caption

Задача № 3

Action

Action3

  1.  Двойным щелчком левой клавиши мыши по объекту  PopUpMenu1 на форме Form1 вызовите редактор выпадающего меню.
  2.  В редакторе выпадающего меню выберите пункт Ветвления\Задача №3 и сформируйте свойства в окне Object Inspector:

Свойство

Значение

Описание

Caption

Задача № 3

Action

Action3

  1.  Выберите объект SpeedButton3 на форме Form1 и назначьте ему следующие свойства:

Свойство

Значение

Описание

Action

Action3

ShowHint

True

Выполнив п.п.  –  настоящей инструкции вы запрограммировали возможность обращения к алгоритму решения третьей задачи различными способами

  1.  Создайте форму Form5, расположите на ней перечисленные ниже объекты, установите их свойства и процедуры, определяющие реакцию на различные события, связанные с решением второй задачи:
  2.  свойства Form5

Свойство

Значение

Описание

BorderStyle

bsDialog

Caption

Задача № 4

Font\Size

9

Position

poMainFormCenter

  1.  панель Panel класса TPanel со свойствами

Свойство

Значение

Описание

Align

Bottom

Caption

  1.  Групповая панель GroupBox1 класса TGroupBox со свойствами:

Свойство

Значение

Описание

Align

alLeft

Caption

Исходные данные

  1.  Групповая панель GroupBox2 класса TGroupBox со свойствами:

Свойство

Значение

Описание

Align

alClient

Caption

Результаты расчета

  1.  На панели Panel1 кнопка Button1 класса TButton со свойствами:

Свойство

Значение

Описание

Anchors\alLeft

False

Anchors\alTop

False

Anchors\alRight

True

Anchors\alBottom

True

Caption

Выход

ModalResult

mrCancel

  1.  На панели GroupBox1 панель GroupBox3 со свойствами:

Свойство

Значение

Описание

Caption

Выберите способ расчета

  1.  На панели GroupBox1 редактируемые строки Edit1 и Edit2 класса TEdit со свойствами:

Свойство

Значение

Описание

Text

  1.  На панели GroupBox1 метка Label1 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

A=

FocusControl

Edit1

  1.  На панели GroupBox1 метка Label2 класса TLabel со свойствами:

Свойство

Значение

Описание

Caption

B=

FocusControl

Edit2

  1.  На панели GroupBox2 запись Memo1 класса TМемо со свойствами:

Свойство

Значение

Описание

Align

alClient

Lines

ReadOnly

True

  1.  На панели GroupBox3 независимый переключатель CheckBox1 класса TCheckBox (компонент  CheckBox1 (StdCtrls)) со свойствами:

Свойство

Значение

Описание

Caption

X:=A+B

  1.  На панели GroupBox3 независимый переключатель CheckBox2 класса TCheckBox (компонент  CheckBox1 (StdCtrls)) со свойствами:

Свойство

Значение

Описание

Caption

X:=A-B

  1.  На панели GroupBox3 независимый переключатель CheckBox3 класса TCheckBox (компонент  CheckBox1 (StdCtrls)) со свойствами:

Свойство

Значение

Описание

Caption

X:=A*B

  1.  Последовательно добавьте соответствующим объектам перечисленные ниже методы, определяющие реакцию приложения на различные события (см. п.  –  инструкции по выполнению лабораторной работы № 2). По мере добавления методов регулярно выполняйте запуск программы, исправляйте допущенные ошибки. 
    1.  Метод TForm5.Edit1Change– реакция на событие onChange, редактирование значения переменной A (Edit1):

procedure TForm5.Edit1Change(Sender: TObject);

var

 A,B,X,Y,Z:Real;

begin

 Button1.Enabled:=False;

 Memo1.Clear;

 Try

   A:=StrToFloat(Edit1.Text);

   B:=StrToFloat(Edit2.Text);

   If CheckBox1.Checked

     then

       begin

         X:=A+B;

         Memo1.Lines.Add('X= '+FloatToStr(X));

         Button1.Enabled:= true;

       end;

   If CheckBox2.Checked

     then

       begin

         Y:=A-B;

         Memo1.Lines.Add('Y= '+FloatToStr(Y));

         Button1.Enabled:= true;

       end;

   If CheckBox3.Checked

     then

       begin

         Z:=A*B;

         Memo1.Lines.Add('Z= '+FloatToStr(Z));

         Button1.Enabled:= true;

       end;

 Except

   Button1.Enabled:=False;

 end;

end;

  1.  Метод TForm5.Edit1Change – реакция на событие onChange, редактирование значения переменной A (Edit2).
    1.  Метод TForm5.Edit1Change – реакция на событие onClick, выбор переключателя CheckBox1.
    2.  Метод TForm5.Edit1Change – реакция на событие onClick, выбор переключателя CheckBox2.
    3.  Метод TForm5.Edit1Change – реакция на событие onClick, выбор переключателя CheckBox3.

Выполнив п.п.  –  настоящей инструкции вы сформировали функциональность решения четвертой задачи

  1.   Двойным щелчком левой клавиши мыши по объекту  ActionList1 на форме Form1 вызовите редактор списка процедур.
  2.  Однократным щелчком левой клавиши мыши по кнопке – «New Action (Ins)» на панели инструментов редактора списка процедур добавьте в список новую процедуру Action4.
  3.  В окне Object Inspector задайте следующие значения свойств объекта Action4:

Свойство

Значение

Описание

Caption

Hint

Задача № 4

ImageIndex

3

ShortCut

Ctrl+D

  1.  Дважды щелкните левой клавишей мыши по строке выбора метода для события onExecute объекта Action4 в закладке Events окна Object Inspector. На экране должно появиться окно редактирования программы, содержащее шаблон метода Action4Execute, определяющего реакцию формы Form1 на обращение к четвертой задаче.
  2.  Наберите текст процедуры Action4Execute:

procedure TForm1.Action4Execute(Sender: TObject);

begin

 Form5.Edit1.Text:='';

 Form5.Edit2.Text:='';

 Form5.Memo1.Clear;

 Form5.CheckBox1.Checked:=False;

 Form5.CheckBox2.Checked:=False;

 Form5.CheckBox3.Checked:=False;

 Form5.Button1.Enabled:=False;

 Form5.ShowModal;

end;

Выполнив п.п. –  настоящей инструкции, вы создали процедуру Action4Execute, вызывающую форму Form5 и внесли ее в список процедур для многократного вызова (из различных меню, кнопок и пр.), избавившись тем самым от необходимости многократно писать однотипные процедуры – реакции различных объектов.

  1.  Двойным щелчком левой клавиши мыши по объекту  MainMenu1 на форме Form1 вызовите редактор основного меню.

  1.  Наберите текст процедуры Action4Execute:
  2.  В редакторе основного меню выберите пункт Ветвления\Задача №4 и сформируйте его свойства в окне Object Inspector:

Свойство

Значение

Описание

Caption

Задача № 4

Action

Action4

  1.  Двойным щелчком левой клавиши мыши по объекту  PopUpMenu1 на форме Form1 вызовите редактор выпадающего меню.
  2.  В редакторе выпадающего меню выберите пункт Ветвление\Задача №4 и сформируйте свойства в окне Object Inspector:

Свойство

Значение

Описание

Caption

Задача № 4

Action

Action4

  1.  Выберите объект SpeedButton4 на форме Form1 и назначьте ему следующие свойства:

Свойство

Значение

Описание

Action

Action4

ShowHint

True

Выполнив п.п.  –  настоящей инструкции вы запрограммировали возможность обращения к алгоритму решения третьей задачи различными способами

  1.  Двойным щелчком левой клавиши мыши по объекту  ActionList1 на форме Form1 вызовите редактор списка процедур.
  2.  Однократным щелчком левой клавиши мыши по кнопке – «New Action (Ins)» на панели инструментов редактора списка процедур добавьте в список новую процедуру Action5.
  3.  В окне Object Inspector задайте следующие значения свойств объекта Action5:
  4.  В окне Object Inspector задайте следующие значения свойств объекта Action5:

Свойство

Значение

Описание

Caption

Hint

Выход

ImageIndex

5

ShortCut

Ctrl+E

  1.  Дважды щелкните левой клавишей мыши по строке выбора метода для события onExecute объекта Action5 в закладке Events окна Object Inspector. На экране должно появиться окно редактирования программы, содержащее шаблон метода Action5Execute, определяющего реакцию формы Form1 на закрытие приложения.
  2.  Наберите текст процедуры Action5Execute:

procedure TForm1.Action5Execute(Sender: TObject);

begin

 Close;

end;

  1.  Выполните запуск программы. Для этого однократно щелкните по кнопке «Run (F9)».
  2.  Проверьте работоспособность программы на приведенных выше контрольных примерах.
  3.  Самостоятельно добавьте еще одну задачу по заданию преподавателя.
  4.  Сохраните исходный файл проекта в своей рабочей папке. Для этого однократно щелкните левой клавишей мыши по кнопке «Save (Ctrl+S)».
  5.  Выйдите из среды программирования Delphi с помощью меню File\Exit.
  6.  Подготовьте отчет о выполнении лабораторной работы. Состав отчета:
    1.  Титульный лист
    2.  Задание на программирование
    3.  Описание контрольных примеров
    4.  Задание на лабораторное исследование
    5.  Заполненные таблицы со свойствами объектов, использованных в программе и их описанием
    6.  Тексты процедур, разработанных при выполнении п.  настоящей инструкции.


1 Часть программы формируется автоматически. Полужирным шрифтом выделен текст, который набирается в ручную.




1. тема включає в порожнині рота стравоходу шлунка тонкої кишки товстої кишки прямої кишки і ануса
2.  недостатка счастья теплоты и любви в отношениях деятельности
3. Каменное зодчество Литвы XIII ’ XVIII веков.html
4. Развитие транспортно-логистической системы России Выбор системы складирования
5. то среди запутанных улочек Праги молодая художница вотвот окажется втянутой в жестокую войну другого мира
6. сут1
7. Реферат Изменение рельефа Земли
8. 65 Эксплуатация железных дорогДисциплина- Сопротивление материаловГруппа- 222Дата тестирования- 15
9. Тема 8 Специфика электронной коммерции
10. ЕДИНАЯ РОССИЯ в рамках проекта Народный контроль
11. тема тваринного світу.
12. практикум по дисциплине ТЕХНОЛОГИЯ ИНСТРУМЕНТАЛЬНОГО ПРОИЗВОДСТВА для студентов специальности 151002 ~
13. 1Введение
14. Социология труда
15. Тема рождества в рассказе Л. Н. Андреева «Ангелочек»
16. Гусеничный движитель
17. Операции с недвижимостью
18. Термопсис ланцетовидный
19. 03334 мультиплексор Последовательно параллельный сигнатурный регистр Шифратор
20. Контрольная работа- Инвентаризация и учет денежных средств