Cara Menampilkan Form dengan Mudah di Delphi

Secara umum perintah untuk menampilkan form di Delphi adalah seperti ini


if Form2=nil then Form2:=Tform2.Create(Application);
form2.show;

Atau jika formnya adalah MDI child maka menggunakan script berikut:


if not Assigned(Application.Findcomponent('Form2')) then
Form2:=Tform2.Create(Application);
form2.Show;

Untuk menampilkan form memang tidak bisa dibuat prosedur sendiri.  Perhatikan script berikut:


procedure Tform1.TampilForm(frm:Tform);
beegin
if frm=nil then 
frm:=Tform.create(Application);
frm.show;
end;

Lalu kita panggil prosedur di atas:


procedure TForm1.btn2Click(Sender: TObject);
begin
TampilForm(Form2);
end;

Ketika prosedur itu dipanggil yang tampil adalah sebuah instance Form bawaan Delphi bukan Form2 sebagaimana kita inginkan.  Hal ini dikarenakan variabel Form2 yang dideklarasikan mengacu ke class TForm2, sedangkan method constructor pembuatan Form dalam script:


frm:=Tform.Create(Application)

mengacu ke class Tform.

Karena itulah saat anda ingin menampilkan form maka harus membuat perintah yang hampir sama secara berulang-ulang terutama di form utama.

Untuk mengatasi hal tersebut anda bisa melakukan trik dengan cara sebagai berikut:

Buat sebuah Form sebagai Template

Tambahkan sebuah form baru di Delphi anda.  Form ini adalah Form dasar yang classnya akan di turunkan ke form baru.   Klik File->New->Form.  Akan tampil sebuah form baru.  Kita namai Form tersebut dengan FrmTemplate dan simpan unit tersebut dengan nama UTemplate.

Inherit Form

Dari form template tersebut sekarang kita buat class turunannya.  Klik File->New->Other.  Lalu pilih tab project anda seperti gambar berikut:

Inherited Form di Delphi

Pilih FrmTemplate, secara default pilihan inherited sudah tercentang.  Jika sudah lalu klik OK.  Namai form tersebut dengan FrmTurunan1.  Lakukan langkah yang sama untuk form baru lalu namai misal FrmTurunan2.

Buat Prosedur Pembuatan Form

Tambahkan unit Utemplate tersebut ke uses bagian atas sendiri, setelah itu kita buat tipe data baru berupa class reference seperti berikut:


type
TFormClass=class of Tfrmtemplate;

Agar lebih jelas perhatikan gambar berikut:
Class Reference Form Delphi
Setelah itu kita buat prosedur pembuatan form:


procedure TForm1.BuatForm(FormClass: TFormClass;frmname:string);
var myfrm:TFrmTemplate;
begin
if not(Assigned(Application.FindComponent(frmname))) then
myfrm:=FormClass.Create(Application);
myfrm.Show;
end;

Setelah itu buka agar form tersebut bisa ditampilkan lagi variabel form tersebut harus di free. Tambahkan script berikut di event Onclose Form template anda.


procedure TFrmTemplate.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
Action:=caFree;
end;

Setting Project Options

Jika sudah, agar form tidak dibuat saat aplikasi running pertama kali kita ubah form-form tersebut dari auto create form menjadi available form. Klik menu Project->Options. Pindahkan form-form tersebut di atas menjadi available forms seperti gambar berikut:
Project Options Delphi

Panggil Prosedur

Panggil prosedur buatform tersebut misal saat button di klik seperti berikut:


procedure TForm1.btn1Click(Sender: TObject);
begin
if cbb1.ItemIndex=0 then
BuatForm(TFrmTurunan1,'Frmturunan1')
else if cbb1.ItemIndex=1 then
BuatForm(TFrmTurunan2,'Frmturunan2');
end;

Untuk contoh lebih lengkap anda bisa download attachment di bawah ini.

Attachments

  • zip MyForm
    File size: 216 KB Downloads: 0

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 *