Cara Membuat Form Login di Delphi

Gambar di atas adalah form login sederhana di mana form login tersebut tampil secara Modal form di depan dari Form utama.  Adapun di contoh yang penulis berikan ini adalah sebuah bentuk form login di mana ketika login salah 3 kali maka aplikasi akan berhenti.

Adapun langkah-langkah membuat form login tersebut anda harus membuat 2 form terlebih dahulu yaitu form utama(penulis namai dengan Form1) dan form login(penulis namai dengan FrmLogin).  Form login tersebut bisa anda create saat runtime atau bisa juga berupa auto create form dengan menyettingnya di project options anda.

Langkah berikutnya anda bisa menempatkan 2 buah button, satu untuk login, satu lagi untuk cancel dan komponen textedit untuk login di form login anda.  Setelah itu setting property berikut di form login:

  1. BorderStyle=bsDialog
  2. Position=poScreenCenter
  3. Setting property ModalResult=mrCancel di tombol cancel.
  4. Untuk tombol OK property ModalResultnya harus di set ke MrNone.

Langkah selanjutnya adalah taruh variabel FcounterLogin bertipe data integer di bagian private form utama anda.  Variabel tersebut berfungsi sebagai counter penanda jika login 3 kali maka aplikasi akan berhenti.

Jika sudah, ketik script berikut di event show form utama anda:


procedure TForm1.FormShow(Sender: TObject);
begin
FcounterLogin:=0;
WindowState:=wsMaximized;
if FrmLogin=nil then FrmLogin:=TFrmLogin.Create(Application);//opsional jika opsi form adalah available forms
FrmLogin.btnoke.OnClick:=OnLoginClick;
Frmlogin.ShowModal;

end;

Penjelasan:

  • Property WindowState di Form utama saat design form harus tetap wsNormal.  Jangan rubah langsung ke wsMaximized saat design time karena akan menyebabkan form utama tidak bisa tampil.
  • Event onclick pada tombol oke(Frmlogin.btnoke.OnClick) sengaja penulis tempatkan di form utama karena ada kemungkinan nantinya setelah login berhasil akan diikuti prosedur pengaturan menu.  Dan berikut adalah script OnLoginClick

procedure TForm1.OnLoginClick(Sender: TObject);
begin
with FrmLogin do
begin

  if edtpassword.Text<>'password' then
  begin
  FcounterLogin:=FcounterLogin+1;
    ShowMessage('Login error');
  if FcounterLogin=3 then
    Application.Terminate;

  end
  else
  begin


    ModalResult:=mrok;
    //buat prosedur baru misal aturmenu

  end;
end;

Penjelasan:

Script diatas menjelaskan:

  • Jika login salah 3 kali maka aplikasi akan berhenti.
  • ModalResult:=mrok.  Ini sama dengan perintah close di form, perbedaannya hanya property modalResult form tersebut.  Jika perintah close biasa, property ModalResult form bisa mrNone, mrCancel dan lain sebagainya.  Akan tetapi jika property tersebut di set mrOk maka form tersebut saat ditutup statusnya adalah mrOK.  Script tersebut berkaitan dengan penjelasan selanjutnya.

Taruh script berikut di event OnClose Form login anda


procedure TFrmLogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if not(ModalResult=mrok) then
Application.Terminate;
end;

Penjelasan:

Saat form di tutup ada 2 kemungkinan yaitu berhasil login atau aplikasi berhenti.  Karena itulah event onClose tersebut membedakan apakah form ditutup dengan menekan tombol cancel, tombol close form atau login berhasil dengan melihat nilai modalResult dari form, jika bukan MroK maka aplikasi akan berhenti.

Agar lebih jelas, untuk script lebih lengkapnya anda bisa download attachment di bawah ini.

Attachments

anasmbahdien

Seorang programmer yang menguasai bahasa pemograman Delphi, VB.NET, PHP dan Android. Untuk hasil karya kunjungi mogotekno.com

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *