Delphi Giriş Formu Nasıl Yapılır

MainFormof bir Delphi uygulaması, uygulamanın ana gövdesinde oluşturulan ilk formdur (pencere). Delphi uygulamanız için bir tür yetkilendirme uygulamanız gerekiyorsa, ana form oluşturulmadan ve kullanıcıya gösterilmeden önce bir oturum açma / parola iletişim kutusu görüntülemek isteyebilirsiniz. Kısacası, ana formu oluşturmadan önce "giriş" iletişim kutusunu oluşturmak, görüntülemek ve imha etmektir.

Delphi Ana Alanı

Yeni bir Delphi projesi oluşturulduğunda, "Form1" otomatik olarak MainForm özelliğinin (genel Uygulama nesne). MainForm özelliğine farklı bir form atamak için, Proje> Seçenekler zaman iletişim kutusu. Ana form kapandığında, uygulama sona erer.

Giriş / Şifre İletişim Kutusu

Uygulamanın ana formunu oluşturarak başlayalım. Bir form içeren yeni bir Delphi projesi oluşturun. Bu form, tasarım gereği ana formdur.

Formun adını "TMainForm" olarak değiştirir ve birimi "main.pas" olarak kaydederseniz, projenin kaynak kodu şuna benzer (proje "PasswordApp" olarak kaydedildi):

program PasswordApp;
instagram viewer
kullanımları
Formlar,
 ana içinde 'main.pas' {MainForm};
{$ R * .res}
 başla
 Uygulama. başlat;
 Uygulama. CreateForm (TMainForm, MainForm);
 Uygulama. Çalıştırmak;
 son.

Şimdi, projeye ikinci bir form ekleyin. Tasarım gereği, eklenen ikinci form Proje Seçenekleri iletişim kutusundaki "Formları Otomatik Oluştur" listesinde listelenir.

İkinci formu "TLoginForm" olarak adlandırın ve "Formları Otomatik Oluştur" listesinden kaldırın. Birimi "login.pas" olarak kaydedin.

Forma bir Etiket, Düzenle ve Düğme ekleyin, ardından sınıf yöntemi giriş / şifre iletişim kutusunu oluşturmak, göstermek ve kapatmak için Kullanıcı, şifre kutusuna doğru metni girmişse, "Execute" yöntemi true değerini döndürür.

İşte tam kaynak kodu:

birim oturum aç;
arayüz
 kullanımları
 Windows, Mesajlar, SysUtils, Varyantlar, Sınıflar,
 Grafikler, Kontroller, Formlar, Diyaloglar, StdCtrls;
 tip
 TLoginForm = sınıf(TForm)

LogInButton: TButton;
pwdLabel: TLabel;
passwordEdit: TEdit;
prosedürü LogInButtonClick (Gönderen: TObject);

publicclass işlevi Yürüt: boolean;son;
uygulama{$ R * .dfm}
sınıf işlevi TLoginForm. Yürüt: boolean;ile başlar TLoginForm. Oluşturmak(sıfır) dotry
 Sonuç: = ShowModal = mrOk;
 en sonunda
 Bedava;
 son; son;
prosedür TLoginForm. LogInButtonClick (Gönderen: TObject); beginif passwordEdit. Metin = 'delphi' sonra
 ModalResult: = mrOK
 Başka
 ModalResult: = mrAbort;
 son;
son. 

Execute yöntemi dinamik olarak oluşturur TLoginForm örneği ve bunu kullanarak ShowModal yöntem. ShowModal, form kapanana kadar geri dönmez. Form kapandığında, ModalResult Emlak.

"LogInButton" OnClick olay işleyicisi, kullanıcı doğru şifreyi (yukarıdaki örnekte "delphi") girmişse ModalResult özelliğine "mrOk" atar. Kullanıcı yanlış bir şifre girmişse, ModalResult "mrAbort" olarak ayarlanmıştır ("mrNone" dışında herhangi bir şey olabilir).

ModalResult özelliğine bir değer ayarlamak formu kapatır. ModalResult "mrOk" değerine eşitse execute döndürür (kullanıcı doğru parolayı girmişse).

Giriş Yapmadan Önce MainForm Oluşturma

Artık yalnızca kullanıcı doğru parolayı sağlayamadıysa ana formun oluşturulmadığından emin olmanız gerekir.

Projenin kaynak kodu şöyle görünmelidir:

 program PasswordApp;
kullanımları
Formlar,
main 'main.pas' {MainForm} içinde,
giriş 'login.pas' {LoginForm};
 {$ R * .res}
 beginif TLoginForm. gerçekleştirmek thenbegin
 Uygulama. başlat;
 Uygulama. CreateForm (TMainForm, MainForm);
 Uygulama. Çalıştırmak;
 endelsebegin
 Uygulama. MessageBox ('Uygulamayı kullanma yetkiniz yok. Parola "delphi" dir. "," Parola Korumalı Delphi uygulaması ");
 son; son.

Kullanım not eğer öyleyse başka ana formun oluşturulup oluşturulmayacağını belirlemek için engelle. "Execute" yanlış döndürürse, MainForm oluşturulmaz ve uygulama başlamadan sona erer.

instagram story viewer