Студопедия

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

КАТЕГОРИИ:

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






Задачи работы






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

Создание модальных форм

Основным строительным блоком в Delphi является форма. Любая программа имеет как минимум одну связанную с ней форму, которая называется «главной». Главная форма появляется на экране в момент старта программы. Однако программа может иметь сколько угодно форм, каждая из которых решает какую-то локальную задачу и появляется на экране по мере надобности.

Современные многооконные приложения чаще всего строятся в стиле SDI (Single Document Interface), который не накладывает ограничений на положение и размеры вспомогательных форм. В стиле SDI реализована сама среда Delphi.

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

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

Цель работы

Создание приложения с несколькими формами.

Задачи работы

1. Ознакомление с понятиями модальной и немодальной формы.

2. Создание программы-калькулятора для вычисления суммы и произведения двух чисел с использованием диалогового окна (модальной формы).

Описание работы

1. Создать отдельную папку для сохранения всех файлов данной работы, например, Lab4.

2. После запуска Delphi и создания нового проекта необходимо сохранить в созданную папку все элементы проекта (Save All).

3. Заполнить главную форму необходимыми компонентами в соответствии с рис. 1.

В табл. 1 кратко приведен список свойств компонентов главной формы, требующих установок.

Таблица 1. Значения основных устанавливаемых свойств компонентов главной формы
Свойство Значение Комментарий
MainForm: TMainForm
Name MainForm Имя переменной для ссылки на форму
Caption Калькулятор Заголовок формы
BorderStyle bsDialog Запрещается растяжение формы
Label1: TLabel
Caption 1-е число: Комментарий к 1-му введенному числу
Label2: TLabel
Caption 2-е число: Комментарий ко 2-му введенному числу
Label3: TLabel
Caption Сумма: Комментарий к выводимому значению
Label4: TLabel
Caption Произведение: Комментарий к выводимому значению
LabelSum: TLabel
Caption   Значение суммы по умолчанию
LabelProduct: TLabel
Caption   Значение произведения по умолчанию
Buttonlnput: TButton
Caption Ввод чисел... Текст на кнопке
ButtonExit: TButton
Caption Выход Текст на кнопке
Cancel True Указывается, что нажатие клавиши Esc в любом месте формы трактовалось как нажатие на эту кнрпку

4. Создать вторую (вспомогательную) форму для ввода двух чисел. Для этого необходимо выбрать в контекстном меню текущего проекта команду AddNew |Form. В результате будет создана новая форма с соответствующим программным модулем.

5. Заполнить созданную вспомогательную форму необходимыми компонентами в соответствии с рис. 2.

В табл. 2 кратко приведен список свойств различных компонентов формы, требующих установок.

Таблица 2. Значения основных устанавливаемых свойств компонентов второй формы
Свойство Значение Комментарий
InputForm: TInputForm
Name InputForm Имя переменной для ссылки на форму
Caption Ввод чисел Заголовок формы
BorderStyle bsDialog Запрещается растяжение формы
Labell: TLabel
Caption 1-е число: Приглашение для ввода 1-го числа
Label2: TLabel
Caption 2-е число: Приглашение для ввода 2-го числа
Edit1, Edit2: TEdit
Text   Вводимые значения по умолчанию
ButtonOk: TButton
Caption Ввод чисел... Текст на кнопке
Default True Указывается, что нажатие клавиши Enter в любом месте формы, кроме кнопок, трактуется как нажатие на эту кнопку
ButtonCancel: TButton
Caption Выход Текст на кнопке
Cancel True Указывается, что нажатие клавиши Esc в любом месте формы трактуется как нажатие на эту кнопку
ModalResult mrCancel Указывается, что при нажатии на эту кнопку форма закрывается с возвратом указанного значения в одноименном свойстве формы ModaiResult

 

6. Написать соответствующие обработчики событий для связи форм друг с другом.

В Delphi вспомогательные окна можно выводить на экран в двух режимах с помощью методов формы Show и ShowModal соответственно.

1. Метод Show открывает «немодальное» окно, которое появляется на экране и работает одновременно с вызвавшим его окном. Управление программой передается оператору, стоящему за оператором вызова метода Show. Этот режим обычно не используется для ведения диалога с пользователем. Примером такого рода окон являются окна Редактора кода и Инспектора объектов в Delphi.

Замечание

Вывод диалоговых окон (модальных форм) на экран удобен, если они появляются по центру экрана. Для этого необходимо установить значение свойства Position формы равным psScreenCenter.

2. Метод ShowModal открывает «модальное диалоговое» окно, которое полностью берет на себя дальнейшее управление программой. Модальные окна требуют от пользователя принятия какого-то решения. Для тoro чтобы пользователь мог сообщить о принятом решении, в модальное окно вставляются необходимые интерфейсные элементы. Чаще всего это стандартные кнопки (с надписями «ОК», «Отмена», «Да», «Нет»), которые автоматически выполняют действия закрытия модального окна и помещения значения результата диалога (информации о нажатой кнопке) в свойство формы ModalResult. Свойство ModalResult может иметь значения mrNone, mrOk, mrCancel, mrYes, mrNo и другие. Вызывающая программа получает это значение после выполнения метода ShowModal и может анализировать его для определения нужного направления своей дальнейшей работы.

a. Создать обработчик событий в ответ на нажатие кнопки ButtonInput («Ввод чисел...») главной формы, который бы вызывал вспомогательную форму в модальном режиме.

Для этого следует указать, что вспомогательный МОДУЛЬ Input.pas будет использоваться в главном модуле MainUnit.pas. Необходимо открыть главный модуль MainUnit.pas, выбрать команду меню File|Use Unit... и указать в диалоге модуль Input.pas. Это приведет к тому, что в главном модуле в секции implementation появится строка «uses Input;»

Главным в создаваемом обработчике является метод ShowModal основной формы, который останавливает выполнение основной программы и передает управление вспомогательной форме.

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


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

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