Cara Membuat Formulir Login Delphi

MainFormof aplikasi Delphi adalah formulir (jendela) yang merupakan yang pertama dibuat di badan utama aplikasi. Jika Anda perlu menerapkan semacam otorisasi untuk aplikasi Delphi Anda, Anda mungkin ingin menampilkan dialog login / kata sandi sebelum formulir utama dibuat dan ditampilkan kepada pengguna. Singkatnya, idenya adalah membuat, menampilkan, dan menghancurkan dialog "login" sebelum membuat formulir utama.

MainForm Delphi

Ketika proyek Delphi baru dibuat, "Form1" secara otomatis menjadi nilai properti MainForm (global Aplikasi obyek). Untuk menetapkan formulir berbeda ke properti MainForm, gunakan halaman Formulir di Proyek> Opsi kotak dialog pada waktu desain. Ketika formulir utama ditutup, aplikasi berakhir.

Login / Kata Sandi Dialog

Mari kita mulai dengan membuat bentuk utama aplikasi. Buat proyek Delphi baru yang berisi satu formulir. Bentuk ini, dengan desain, bentuk utama.

Jika Anda mengubah nama formulir menjadi "TMainForm" dan menyimpan unit sebagai "main.pas," the kode sumber proyek terlihat seperti ini (proyek disimpan sebagai "PasswordApp"):

instagram viewer
program PasswordApp;
menggunakan
Formulir,
 utama di 'main.pas' {MainForm};
{$ R * .res}
 mulai
 Aplikasi. Inisialisasi;
 Aplikasi. CreateForm (TMainForm, MainForm);
 Aplikasi. Lari;
 akhir.

Sekarang, tambahkan formulir kedua ke proyek. Sesuai desain, formulir kedua yang ditambahkan akan didaftar di daftar "Buat Formulir Otomatis" pada dialog Opsi Proyek.

Beri nama formulir kedua "TLoginForm" dan hapus dari daftar "Buat Formulir Otomatis". Simpan unit sebagai "login.pas".

Tambahkan Label, Edit, dan Tombol pada formulir, diikuti oleh a metode kelas untuk membuat, menampilkan, dan menutup dialog login / kata sandi. Metode "Execute" mengembalikan true jika pengguna telah memasukkan teks yang benar di kotak kata sandi.

Berikut kode sumber lengkap:

satuan Gabung;
antarmuka
 menggunakan
 Windows, Pesan, SysUtils, Varian, Kelas,
 Grafik, Kontrol, Bentuk, Dialog, StdCtrls;
 Tipe
 TLoginForm = kelas(TForm)

LogInButton: TButton;
pwdLabel: TLabel;
passwordEdit: TEdit;
prosedur LogInButtonClick (Pengirim: TObject);

fungsi publicclass Jalankan: boolean;akhir;
penerapan{$ R * .dfm}
fungsi kelas TLoginForm. Jalankan: boolean;mulai dengan TLoginForm. Membuat(nol) dotry
 Hasil: = ShowModal = mrOk;
 akhirnya
 Gratis;
 akhir; akhir;
prosedur TLoginForm. LogInButtonClick (Pengirim: TObject); beginif passwordEdit. Text = 'delphi' kemudian
 ModalResult: = mrOK
 lain
 ModalResult: = mrAbort;
 akhir;
akhir. 

Metode Jalankan menciptakan secara dinamis turunan dari TLoginForm dan menampilkannya menggunakan ShowModal metode. ShowModal tidak kembali sampai formulir ditutup. Ketika formulir ditutup, ia mengembalikan nilai ModalResult Properti.

Event handler "LogInButton" OnClick memberikan "mrOk" ke properti ModalResult jika pengguna telah memasukkan kata sandi yang benar (yaitu "delphi" pada contoh di atas). Jika pengguna memberikan kata sandi yang salah, ModalResult diatur ke "mrAbort" (bisa apa saja kecuali "mrNone").

Menetapkan nilai ke properti ModalResult menutup formulir. Jalankan mengembalikan true jika ModalResult sama dengan "mrOk" (jika pengguna telah memasukkan kata sandi yang benar).

Jangan Membuat MainForm Sebelum Masuk

Anda sekarang hanya perlu memastikan formulir utama tidak dibuat jika pengguna gagal memberikan kata sandi yang benar.

Begini tampilan kode sumber proyek:

 program PasswordApp;
menggunakan
Formulir,
main di 'main.pas' {MainForm},
login di 'login.pas' {LoginForm};
 {$ R * .res}
 mulai jika TLoginForm. Menjalankan maka mulailah
 Aplikasi. Inisialisasi;
 Aplikasi. CreateForm (TMainForm, MainForm);
 Aplikasi. Lari;
 endelsebegin
 Aplikasi. MessageBox ('Anda tidak diizinkan untuk menggunakan aplikasi ini. Kata sandinya adalah "delphi". ',' Aplikasi Delphi Dilindungi Kata sandi ');
 akhir; akhir.

Perhatikan penggunaan jika kemudian yang lain blokir untuk menentukan apakah bentuk utama harus dibuat. Jika "Execute" mengembalikan false, MainForm tidak dibuat dan aplikasi berhenti tanpa memulai.

instagram story viewer