
Kalau kita agak jeli lagi sebenarnya konsep seperti ini mirip dengan kalau kita membuat array yang dideklarasikan
sebagai TObject. Kekurangan pada array adalah array tidak nampak, sehingga kalau kita ingin memilih object yang
telah kita simpan, kita harus cari dulu indexnya. Sedangkan kalau kita menggunakan TListBox, hal tersebut akan
semakin lebih mudah. Kenapa bisa demikian, karena TListBox kan merupakan object Visual, sehingga bisa dilihat
dan karena bisa dilihat berarti bisa diklik tanpa harus mencari indexnya satu persatu. Dan bisa dikatakan dengan
TListBox menjadi lebih interaktif.
Baiklah, untuk lebih jelasnya silahkan anda baca artikel ini lebih lanjut....
Memang sesuatu itu didapatkan tidak semudah seperti kita membalikkan telapak tangan atau semudah kita seperti
kita membagikan uang. Namun lebih penting daripada itu gimana kalau kita bisa memberikan sesuatu ilmu itu semudah
membalikkan telapak tangan, insyaallah ilmu kita justru makin bisa bertambah. Hidup bukanlah sesuatu yang mutlak,
tapi hidup ini adalah sesuatu yang tidak dapat dipastikan secara mutlak atau kalau kita jadi orang yang optimis bahwa
hidup ini adalah sesuatu yang dinamis.
Marilah kita bersama-sama membuka pikiran kita untuk mengisi dengan ilmu-ilmu dan amalan kebaikan, mungkin ini
adalah salah satu cara untuk bisa kita makin percaya diri makin sabar menghadapi cobaan, bisa meredam emosi dan
lebih bisa tenang tanpa harus panik.
Baiklah, sekarang kita kembalikan lagi ke jalurnya....
Disini anda akan diajarkan tentang bagaimana anda bisa menyimpan sebuah object didalam TListBox tanpa harus
secara fisik menyimpan object didalam TListBox. Seperti telah disampaikan diawal pada preface, bahwa dengan cara
ini akan bisa menghasilkan teknik yang lebih mudah ketimbang kita menggunakan array.
Ilmu ini bisa digunakan untuk membuat game-game kecil maupun berat dan semua tergantung dari skill dan kemampuan
yang anda miliki. Selain dari pada itu, anda bisa menggunakannya sebagai "menu" dengan menkombinasikan TabSheet -
TabSheet yang ada didalam PageControl, tapi kali ini kita tidak membahas sejauh itu dulu. Kita akan bahas dari yang
sederhana dulu saja biar yang programmer pemula tidak binggung.
Langsung saja silahkan anda ikuti Langkah-langkah berikuti ini dengan pelan-pelan :
1. Silahkan anda buka program Delphi yang telah anda install
2. Buatlah program aplikasi baru dan berikan nama projectnya dengan nama "Project1"
3. Simpan di folder yang aman
4. Silahkan anda tambahkan object-object seperti ditunjukkan dibawah ini:
ListBox1: TListBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
Memo1: TMemo;
StatusBar1: TStatusBar;
5. Kemudian silahkan anda atur desain form-nya seperti terlihat pada kode dibawah ini:
....
....
object Form1: TForm1
Left = 814
Top = 197
Width = 398
Height = 444
Caption = 'www.Benpinter.net by Eko Indriyawan'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object ListBox1: TListBox
Left = 16
Top = 16
Width = 169
Height = 369
ItemHeight = 13
TabOrder = 0
end
object Button1: TButton
Left = 192
Top = 16
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 1
end
object Button2: TButton
Left = 192
Top = 40
Width = 75
Height = 25
Caption = 'Button2'
TabOrder = 2
end
object Button3: TButton
Left = 192
Top = 64
Width = 75
Height = 25
Caption = 'Button3'
TabOrder = 3
end
object Edit1: TEdit
Left = 192
Top = 96
Width = 121
Height = 21
TabOrder = 4
Text = 'Edit1'
end
object Edit2: TEdit
Left = 192
Top = 120
Width = 121
Height = 21
TabOrder = 5
Text = 'Edit2'
end
object Edit3: TEdit
Left = 192
Top = 144
Width = 121
Height = 21
TabOrder = 6
Text = 'Edit3'
end
object Edit4: TEdit
Left = 192
Top = 168
Width = 121
Height = 21
TabOrder = 7
Text = 'Edit4'
end
object Edit5: TEdit
Left = 192
Top = 192
Width = 121
Height = 21
TabOrder = 8
Text = 'Edit5'
end
object CheckBox1: TCheckBox
Left = 192
Top = 216
Width = 97
Height = 17
Caption = 'CheckBox1'
TabOrder = 9
end
object CheckBox2: TCheckBox
Left = 192
Top = 232
Width = 97
Height = 17
Caption = 'CheckBox2'
TabOrder = 10
end
object CheckBox3: TCheckBox
Left = 192
Top = 248
Width = 97
Height = 17
Caption = 'CheckBox3'
TabOrder = 11
end
object CheckBox4: TCheckBox
Left = 192
Top = 264
Width = 97
Height = 17
Caption = 'CheckBox4'
TabOrder = 12
end
object CheckBox5: TCheckBox
Left = 192
Top = 280
Width = 97
Height = 17
Caption = 'CheckBox5'
TabOrder = 13
end
object Memo1: TMemo
Left = 192
Top = 296
Width = 185
Height = 89
Lines.Strings = (
'Memo1')
TabOrder = 14
end
object StatusBar1: TStatusBar
Left = 0
Top = 391
Width = 390
Height = 19
Panels = <>
end
end
// Untuk mengetahui cara menampilkan kode desain form, silahkan anda baca artikel tentang desain kode form
// silahkan anda buka link ini http://www.benpinter.net/article.php?story=20070824180442891
....
....
6. Nah sekarang silahkan anda pilih object Button1
7. Klik 2x object tersebut
8. Silahkan anda isikan kode program didalamnya seperti ditunjukkan oleh potongan kode program dibawah ini:
....
....
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
with ListBox1 do
with Items do
begin
Clear;
with Form1 do
for I := 0 to ComponentCount-1 do
begin
InsertObject( 0,
Components[I].Name,
Components[I] as TObject
);
end;
end;
end;
// Kode program diatas digunakan untuk melakukan proses mapping seluruh object yang ada didalam object
// Form1. Apabila dijumpai object, maka object tersebut akan dimasukkan kedalam ListBox1 tepatnya di-Item
// sesuai dengan index urutan object dalam Form1
....
....
9. Apabila sudah selesai menuliskan kode program diatas, silahkan anda pilih object ListBox1
10. Tampilkan object inspector-nya
11. Pilih tab "Events"
12. Pilih event "OnMouseUp" atau "OnMouseClick", sebagai contoh silahkan anda gunakan "OnMouseUp" saja
13. Silahkan anda isikan kode program didalam event "OnMouseUp" seperti ditunjukkan oleh potongan kode program
dibawah ini.
....
....
procedure TForm1.ListBox1MouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
var
APoint: TPoint;
Index: integer;
begin
if Button = mbRight then
begin
APoint.X := X;
APoint.Y := Y;
with ListBox1 do
begin
Index := ItemAtPos(APoint, True);
if (Items.Objects[Index] is TControl) then
begin
TheObject := (Items.Objects[Index] as TControl);
StatusBar1.SimpleText := TheObject.Name + ' is at (' +
IntToStr(TheObject.Left) + ', ' +
IntToStr(TheObject.Top) + ') ';
end
end;
end;
end;
// Kode program diatas menunjukkan jika hanya tombol klik kanan saja yang boleh
// digunakan untuk proses identifikasi object. Jika anda klik kiri maka akan diabaikan
....
....
14. Sekarang silahkan anda deklarasikan variabel "TheObject" dengan tipe data "TObject" didalam variabel Global
15. Untuk lebih jelasnya silahkan potongan kode program pendeklarasian berikut ini pada variabel Global:
....
....
var
Form1: TForm1;
TheObject: TControl; // Deklarasi variabel Global yang diletakkan setelah pendeklarasian object Form1
implementation
....
....
16. Sekarang silahkan anda lanjutkan dengan memilih object "Button2"
17. Klik 2x object tersebut dan isikan kode program didalam event OnClick seperti potongan kode program dibawah ini:
....
....
procedure TForm1.Button2Click(Sender: TObject);
begin
with TheObject do
Left := Left + 1;
end;
// Kode program diatas digunakan untuk melakukan proses penggeseran terhadap object yang telah dipilih pada object
// ListBox1. Untuk arah pergeserannya adalah kearah kanan
....
....
18. Lanjutkan dengan memilih object "Button3"
19. Klik 2x object tersebut dan isikan kode program didalam event OnClick seperti potongan kode program dibawah ini:
....
....
procedure TForm1.Button3Click(Sender: TObject);
begin
with TheObject do
Left := Left - 1;
end;
....
....
20. Sekarang silahkan anda compile dan jalankan program aplikasinya
21. Tunggu beberapa saat hingga bener2 aplikasi sudah dicompile dan sudah siap untuk dioperasikan
22. Silahkan anda klik tombol Button1
23. Klik kanan salah satu item pada ListBox1
24. Tekan tombol Button2 dan Button3 secara bergantian atau random
25. Lihat apa yang terjadi...
26. Ternyata asik bukan...
27. Silahkan anda kembangkan sendiri sesuai dengan kebutuhan anda
Tidak ada komentar:
Posting Komentar