Download

11/03/2010

Simulasi Declare Component Secara Run Time di Delphi 7




Selamat siang agan-agan , siang yang sangat panas disini.Menusuk-nusuk kulit , menghujam jantung dan mencabik hati.Lebay !!Pada postingan kali ini saya akan membahas mengenai Simulasi Declare Component Secara Run Time di Delphi 7.Maksudnya !?Pernahkah agan ngebayangin gimana kalau kita membuat sebuah program GUI(Graphical User Interface) di Delphi 7 tanpa mendrag-drop component apapun !? Ya, kita melakukannya secara runtime dengan terlebih dahulu mendeklarasikan component yang akan digunakan pada file Unit.Sebenarnya , proses drag-drop component ke form merupakan proses pendeklarasian component itu sendiri.Namun di bungkus oleh IDE(Integrated Developement Environtment) yang dalam kasus ini Delphi 7 sehingga kita tidak perlu menuliskan code untuk pendeklarasian component.Bingung !?Bagusss !!haha.Mari kita contohkan dengan praktek.Seperti biasa gan.Silahkan buka borland Delphi 7 agan.Tambahkan 1 buah component TButton.1 TEdit dan 1 TListBox.Ketika aplikasi di jalankan , bila user menekan tombol button1 , maka text yang ada di edit1 akan di tambahkan ke ListBox1.Bila edit1 Kosong , maka akan muncul pesan kesalahan.Dengan menggunakan IDE , kita cukup mendrag-drop component tersebut kedalam form1.Susun component tersebut sesuai gambar berikut













lalu double-klik button1 dan ketikan kode berikut.


  1. procedure TForm1.Button1Click(Sender: TObject);  
  2. begin  
  3.    if Edit1.Text<>'' then  
  4.     begin  
  5.       ListBox1.Items.Add(Edit1.Text);  
  6.     end  
  7.    else  
  8.     begin  
  9.       ShowMessage('Edit belum di isi');  
  10.     end;  
  11. end;  

Yuph , hanya dengan cara seperti itu program yang kita buat sudah selesai.Cepat , mudah dan hemat waktu.Bagaimana jika kita membuat program yang sama namun tanpa mendrag-drop component apapun kedalam form , mungkinkah !? Tentu saja , itulah inti dari postingan saya kali ini.Buat program baru.Pada unit1 klause private , ketikan kode berikut.


  1. private  
  2.     lbBox:TListBox;   //inisialisasi TListBox  dengan nama lbBox  
  3.     tombol:TButton;  //Inisialisasi TButton    dengan nama tombol  
  4.     edInput:TEdit;   // inisialisasi TEdit     dengan nama edInput  
  5.     procedure tombolClick(Sender:TObject); //inisialisai event OnClick pada tombol  
  6.     { Private declarations }  

Pada klausa private tersebut , kita menginisialisasi component baru sesuai parent yang akan di tambahkan (TEdit , TListBox , TButton).Pada form1 event onShow , ketikan kode berikut.


  1. procedure TForm1.FormShow(Sender: TObject);  
  2. begin  
  3.   Form1.Height:=213; //mengatur tinggi form1  
  4.   Form1.Width:=151;  //mengatur lebar form1  
  5.   
  6.   lbBox:=TListBox.Create(Self); //pendeklarasian component  
  7.   lbBox.Parent:=Self;  
  8.   lbBox.Top:=10;  
  9.   lbBox.Left:=10;  
  10.   
  11.   tombol:=TButton.Create(Self);  
  12.   tombol.Parent:=Self;  
  13.   tombol.Top:=150;  
  14.   tombol.Left:=30;  
  15.   tombol.Caption:='Tambah';  
  16.   tombol.OnClick:=tombolClick; //menambahkan event onClick pada tombol  
  17.   
  18.   edInput:=TEdit.Create(Self);  
  19.   edInput.Parent:=Self;  
  20.   edInput.Top:=120;  
  21.   edInput.Left:=10;  
  22. end;  

Pada saat program di jalankan , proses deklarasi component dimulai.Selanjutnya , kita akan mendeklarasikan event onClick pada tombol.ketikan kode berikut setelah kode sebelumnya.


  1. procedure TForm1.tombolClick(sender:TObject); //deklarasi tombol event ocClick  
  2. begin  
  3.   if edInput.Text<>'' then  
  4.     begin  
  5.       lbBox.Items.Add(edInput.Text);  
  6.     end  
  7.   else  
  8.     begin  
  9.       ShowMessage('Edit harus di isi');  
  10.     end;  
  11. end;  

Lalu pada form1 event onClose , ketikan kode berikut.


  1. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);  
  2. begin  
  3.   lbBox.Free;   //membebaskan component dari memori  
  4.   tombol.Free;  
  5.   edInput.Free;  
  6. end;  

Berikut kode lengkap dari program tersebut.

  1. unit Unit1;  
  2.   
  3. interface  
  4.   
  5. uses  
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  
  7.   Dialogs, StdCtrls;  
  8.   
  9. type  
  10.   TForm1 = class(TForm)  
  11.     procedure FormShow(Sender: TObject);  
  12.     procedure FormClose(Sender: TObject; var Action: TCloseAction);  
  13.   private  
  14.     lbBox:TListBox;   //inisialisasi TListBox  dengan nama lbBox  
  15.     tombol:TButton;  //Inisialisasi TButton    dengan nama tombol  
  16.     edInput:TEdit;   // inisialisasi TEdit     dengan nama edInput  
  17.     procedure tombolClick(Sender:TObject); //inisialisai event OnClick pada tombol  
  18.     { Private declarations }  
  19.   public  
  20.     { Public declarations }  
  21.   end;  
  22.   
  23. var  
  24.   Form1: TForm1;  
  25.   
  26. implementation  
  27.   
  28. {$R *.dfm}  
  29.   
  30. procedure TForm1.FormShow(Sender: TObject);  
  31. begin  
  32.   Form1.Height:=213; //mengatur tinggi form1  
  33.   Form1.Width:=151;  //mengatur lebar form1  
  34.   
  35.   lbBox:=TListBox.Create(Self); //pendeklarasian component  
  36.   lbBox.Parent:=Self;  
  37.   lbBox.Top:=10;  
  38.   lbBox.Left:=10;  
  39.   
  40.   tombol:=TButton.Create(Self);  
  41.   tombol.Parent:=Self;  
  42.   tombol.Top:=150;  
  43.   tombol.Left:=30;  
  44.   tombol.Caption:='Tambah';  
  45.   tombol.OnClick:=tombolClick; //menambahkan event onClick pada tombol  
  46.   
  47.   edInput:=TEdit.Create(Self);  
  48.   edInput.Parent:=Self;  
  49.   edInput.Top:=120;  
  50.   edInput.Left:=10;  
  51. end;  
  52.   
  53. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);  
  54. begin  
  55.   lbBox.Free;   //membebaskan component dari memori  
  56.   tombol.Free;  
  57.   edInput.Free;  
  58. end;  
  59.   
  60. procedure TForm1.tombolClick(sender:TObject); //deklarasi tombol event ocClick  
  61. begin  
  62.   if edInput.Text<>'' then  
  63.     begin  
  64.       lbBox.Items.Add(edInput.Text);  
  65.     end  
  66.   else  
  67.     begin  
  68.       ShowMessage('Edit harus di isi');  
  69.     end;  
  70. end;  
  71. end.  

Nah sekarang, coba jalankan program anda.Bila sukses , maka program akan berfungsi sama seperti program sebelumnya yang di buat dengan cara drag-drop.Perbedaan yang paling terlihat adalah dari besarnya file *.exe yang di hasilkan.Ini adalah file *.exe dari proses drag-drop.










Sedangkan dengan proses coding , file *.exe nya adalah sebagai berikut.











Namun , apakah sebanding keuntungan file *.exe yang lebih kecil dengan waktu yang digunakan untuk membuatnya !?Saya rasa tidak.Penggunaan IDE lebih efisien dan efektif dibandingkan mengetik secara manual source code program kita.Namun , ada perasaan "gagah" bila membuat program dengan menulis source code secara manual.Sayangnya , deadline tidak mengenal gagah :D
Sekian postingan kali ini semog bermanfaat.

0 komentar:

Post a Comment

Newer Post Older Post Home
Aulia DirUt. Powered by Blogger.
 

Blog Archive

Followers

 

Templates by Nano Yulianto | CSS3 by David Walsh | Powered by {N}Code & Blogger