Відображення вікна введення пароля перед запуском головної форми

MainForm додатки Delphi - форма, яка створюється першої в головному тілі програми.

Якщо Вам потрібно організувати допуск до Вашому додатку, Ви могли б відобразити форму введення пароля для входу в додаток.

MainForm Delphi

Коли створюється новий проект Delphi, Form1 автоматично стає MainForm (глобальний об'єкт Application). Щоб призначити іншу форму для властивості MainForm. використовуйте вкладку Форми діалогового вікна Project | Options під час проектування.

Коли Головна форма закривається, додаток закінчує свою роботу.

Діалогове Вікно Введення Паролю

Давайте спочатку створимо Головну форму додатка. Створіть новий проект Delphi, який містить одну форму. Ця форма відповідно до проекту - Головна форма.

Якщо Ви зміните ім'я форми на TMainForm і збережіть модуль як main.pas. вихідний текст буде таким (проект був збережений як PasswordApp):

Тепер додамо другу форму в проект.

Відповідно до проекту, коли друга форма буде додана, вона буде присутня в списку Auto-Create Forms в діалоговому вікні Project Options.

Назвіть другу форму як TLoginForm і видаліть її зі списку автоматично створюваних форм. Збережіть цей модуль під ім'ям login.pas.

Додайте компоненти Label. Edit і Button на форму.

Додайте метод класу для створення, відображення і закриття діалогового вікна введення пароля. Метод Execute повертає True. якщо Користувач ввів правильний пароль у вікні введення пароля.

Ось повний вихідний код:

Метод Execute динамічно створює екземпляр TLoginForm і модально відображає його, використовуючи метод ShowModal.

ShowModal; не повертається, поки форма не буде закрита. Коли форма закривається, вона повертає властивість ModalResult.

Обробник події OnClick для LogInButton призначає mrOk властивості ModalResult. якщо Користувач ввів правильний пароль (delphi в вищезгаданому прикладі). Якщо Користувач ввів неправильний пароль, ModalResult встановлюється в mrAbort (або що-небудь на зразок mrNone).

Встановивши значення ModalResult. форма закривається. Execute повертає True. якщо ModalResult дорівнює mrOk. тобто Користувач ввів правильний пароль.

Чи не Створюємо MainForm Перед Входом в Систему

Тепер, Ви повинні впевнитися, що головна форма не була створена, якщо Користувач ввів неправильний пароль.

Вихідний код проекту виглядає так:

Зверніть увагу на використання, щоб визначити, чи була головна форма створена. Якщо Execute повертає False. MainForm не створюється, а додаток закривається, навіть не запустили.