Презентация, доклад описывающая создание многооконного приложения в среде программирования Delphi

Содержание

Форма создаётся вместе с новым модулем, описывающим её работу. Редкая программа обходится одной формой. Мы можем с лёгкостью создавать дополнительные формы Delphi, предоставляющие возможность, например, вести диалог с пользователем, принимать и выводить любую необходимую информацию.Ввести новую

Слайд 1Создание и использование нескольких форм в проекте
ОП 2курс

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

Слайд 2Форма создаётся вместе с новым модулем, описывающим её работу.
Редкая программа

обходится одной формой. Мы можем с лёгкостью создавать дополнительные формы Delphi, предоставляющие возможность, например, вести диалог с пользователем, принимать и выводить любую необходимую информацию.
Ввести новую форму в программу можно с помощью команды меню File – New – Form Delphi

Форма создаётся вместе с новым модулем, описывающим её работу.

Форма создаётся вместе с новым модулем, описывающим её работу. Редкая программа обходится одной формой. Мы можем с

Слайд 3Удаление формы
Команда меню Project - Remove from project...
Появится окно, в котором нужно

выбрать модуль, который и будет удалён из проекта вместе с Формой

Например, Unit3 нужно удалить. Выделим его и нажмем ОК.
Форма с модулем удалятся из проекта.

Удаление формыКоманда меню Project - Remove from project...Появится окно, в котором нужно выбрать модуль, который и будет удалён

Слайд 4Главное окно проекта

Unit3, который нужно удалить
Сразу возникает вопрос, а что будет,

если попытаться удалить и модуль Unit1 (т.е. первую форму проекта), что останется?. Выполните команду Project - View Sourse. В редакторе кода появится новая вкладка, на которой будет отображён код Главного Окна программы (не Главной Формы, а именно Окна. В Windows ведь все объекты рассматриваются как окна.)
Главное окно невидимо, но управляет всем проектом, и может работать вообще без Форм. Туда можно вставлять свой код, и писать программы, как в классическом Паскале.

Главное окно проекта

Unit3, который нужно удалить

После удаления

Главное окно проектаUnit3, который нужно удалитьСразу возникает вопрос, а что будет, если попытаться удалить и модуль Unit1

Слайд 5Виды создаваемых форм
Обычная форма позволяют свободно переходить между всеми Формами, находящимися

в данный момент на экране.
Модальная форма в момент вызова блокирует переход между Формами проекта до тех пор, пока не будет закрыта, и работа возможна только в ней.
для появления новой Формы на экране достаточно написать в модуле:
Form2.Show; // в случае обычной Формы
Form2.ShowModal; // в случае модальной Формы
Виды создаваемых формОбычная форма позволяют свободно переходить между всеми Формами, находящимися в данный момент на экране.Модальная форма в момент

Слайд 6
При попытке компилирования программы, содержащей вызов второй формы, Delphi выдаст такой запрос:

означающий: Форма Form1

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

Нажимаем на кнопку Yes. И в начале модуля перед директивой {$R *.dfm} будет добавлена фраза uses Unit3;
Можно добавить эту запись в код перед компиляцией "ручками", и тогда запроса не будет. Но смысл? Отвечаем "Yes" и снова жмём F9.
При попытке компилирования программы, содержащей вызов второй формы, Delphi выдаст такой запрос:   означающий:  Форма Form1 содержит

Слайд 7Закрыть форму
Сделать это можно так:
Возьмём кнопку, напишем "Закрыть" и в

обработчике OnClick напишем: Form2.Close; // достаточно просто Close;

Для того, чтобы скрыть форму, используют метод Hide(), например: Form1.Hide;
Пока форма «скрыта», она будет убрана с экрана, но останется в памяти. Потом при помощи метода Show() можно будет опять ее вызвать. Можно, например, пока форма скрыта, программно изменять ее и расположенные на ней элементы управления. Окончательно форма удалится из памяти при закрытии документа.
Для того, чтобы в один момент времени была активна только одна форма, первую форму скрывают, а вторую отображают, или наоборот: используют методы Form2.Show, Form1.Hide.
Закрыть формуСделать это можно так: Возьмём кнопку, напишем

Слайд 8
Все новые формы автоматически заносятся в разряд автосоздаваемых, то есть в

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

Слайд 9Во-первых, нужно отменить автосоздание форм.
Выполните команду меню Project - Options... 
В появившемся

окне слева выделите пункт Forms. Справа появится состав проекта, т.е. отображаются Main form (главная Форма), Auto-create forms (автосоздаваемые) и Available forms(доступные) формы проекта. Нам нужно перевести Форму из разряда автосоздаваемых в разряд доступных Форм. Делается это нажатием кнопки " > " (обратная операция - нажатием кнопки " < "):

Таким образом, главная Форма Form1 создаётся сама, а дополнительную форму Form3 мы создадим в программе при необходимости.


Слайд 10
Если мы перевели дополнительные Формы в разряд доступных, то перед каждым

вызовом такой Формы необходимо делать проверку на существование Формы (оператором Assigned):
if (not Assigned(Form2)) then //проверка существования Формы (если нет, то        Form2:=TForm2.Create(Self);    // создание Формы)    Form2.Show; // (или Form2.ShowModal) показ Формы
Если мы перевели дополнительные Формы в разряд доступных, то перед каждым вызовом такой Формы необходимо делать проверку

Слайд 11Как обратиться к объектам, помещенным на второй форме, из формы1?
для доступа

из одной Формы как к свойствам другой Формы, так и к свойствам её компонентов необходимо указывать имя Формы, к которой мы обращаемся.
pay:=StrToFloat(Form2.Edit1.text); //в переменную pay запоминаем значение свойства text объекта Edit1, расположенного на форме2
Мы также имеем доступ к данным, использующимся в модуле, описывающим её работу. Для этого необходимо указывать уже имя модуля. Например, для обращения к переменной X из модуля Unit2 пишем так: Unit2.X
Как обратиться к объектам, помещенным на второй форме, из формы1?для доступа из одной Формы как к свойствам

Слайд 12Действия при закрытии формы
В момент закрытия Формы часто в программе необходимо

выполнить определённые операции. Делается это в обработчике события OnClose Формы.

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
showmessage('Настройки успешно применены!')
end;

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

Слайд 13Блокировка закрытия Формы
Если вдруг понадобится заставить пользователя выполнить определённые действия перед

закрытием Формы (это касается как дополнительных форм, так и основной Формы программы), нужно воспользоваться обработчиком события OnCloseQuery.
В этом обработчике определена переменная логического типа CanClose. Форма будет закрыта только в том случае, когда    CanClose:=True;
Например, если создать такой обработчик OnCloseQuery основной Формы программы:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin   CanClose:=False; end; то пользователь просто не сможет закрыть программу иначе как через Диспетчер задач Windows!
Блокировка закрытия ФормыЕсли вдруг понадобится заставить пользователя выполнить определённые действия перед закрытием Формы (это касается как дополнительных

Слайд 14
Какие виды форм бывают? Чем они отличаются?
Как открыть окно проекта?
Какой метод

нужно вызвать, чтобы закрыть форму?
Какие виды форм бывают? Чем они отличаются?Как открыть окно проекта?Какой метод нужно вызвать, чтобы закрыть форму?

Что такое shareslide.ru?

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


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть