Komponen ListBox digunakan untuk menampilkan sekumpulan item yang akan dijadikan sebagai pilihan. Kelebihan dari komponen ini adalah memiliki kemampuan untuk dapat di-scroll. Dengan demikian, kita tidak perlu risau apabila kita memiliki daftar item yang banyak sekalipun.
Beberapa properti yang sering digunakan dalam bekerja dengan komponen ListBox adalah seperti yang ditunjukkan pada tabel berikut.
Properti Keterangan
ItemsDigunakan sebagai penampung dari item-item yang ada. Kita dapat menambah maupun mengurangi item di dalamnya melalui properti ini.
SortedMenentukan apakah item-item didalamnya akan diurutkan (berdasarkan abjad) atau tidak
MultiSelectMemperbolehkan user untuk dapat memilih lebih dari satu item

Item-item yang terdapat pada komponen ini pada umumnya dimanipulasi dengan menggunakan method-method yang terdapat pada kelas TStrings. Mengapa demikian? Karena properti Items yang terdapat pada komponen ListBox bertipe TStrings. Berikut ini daftar beberapa method dari kelas TStrings yang banyak digunakan.
MethodKeterangan
AddMenambah string pada bagian akhir daftar.
AddStringsMenambah sekumpulan string(beberapa baris) ke dalam daftar
AppendSama seperti Add
InsertMenambah sebuah string kedalam daftar pada indeks tertentu. Method ini memiliki dua buah parameter. Parameter pertama adalala indeks yang ditentukan dan parameter kedua adalah string yang akan dimasukkan.
ClearMengosongkan atau menghapus semua string yang ada didalam daftar
DeleteMenghapus sebuah string dari daftar berdasarkan indeks yang dilewatkan sebagai parameternya.
IndexOfMenentukan indeks dari string yang dilewatkan sebagai parameternya
LoadFromFileMengisikan daftar menggunakan data-data yang tersimpan didalam file

Dengan demikian, apabila kita ingin memasukkan sebuah item kedalam komponen ListBox, maka kita dapat menggunakan salah satu dari perintah-perintah berikut :
ListBox1.Items.Add('Cara Pertama');
ListBox1.Items.Append('Cara Kedua');
ListBox1.Items.Insert(0, 'Cara Ketiga');

Untuk menghapus sebuah item dari daftar yang terdapat dalam komponen ListBox, gunakan perintah berikut :
ListBox1.Items.Delete(0); //menghapus item pertama
ListBox1.Items.Delete(1); //menghapus item kedua

Sedangkan untuk menghapus semua item, perintah yang diperlukan adalah seperti berikut :
ListBox1.Items.Clear;

Selain menggunakan method Clear, kita juga dapat menggunakan method Delete didalam sebuah struktur pengulangan, seperti yang ditunjukkan oleh kode berikut :
var
i:integer;
begin
for i:= ListBox1.Count-1 downto 0 do begin
ListBox1.Items.Delete(i);
end;
end;

Ingat, Jangan gunakan pengulangan yang sifatnya menaik!. Pada kode diatas kita melakukan pengulangan yang sifatnya menurun(menggunakan for..downto..do) sehingga kode dapat berjalan dengan benar. Namun, apabila kita menggunakan for...to..do, maka akan timbul masalah. Perhatikan kembali contoh kode berikut ini.

var
i:integer;
begin
for i:= 0 to ListBox1.count-1 do begin
ListBox1.Items.Delete(i);
end;
end;

Secara kaidah penulisan sintaksnya, kode diatas jelas benar. Namun, secara algoritma, kode diatas salah.
Sebagai catatan bagi anda, method-method diatas berlaku juga untuk properti Items yang terdapat pada komponen RadioGroup, ComboBox, CheckListBox, dan sebagainya. maupun properti Lines yang terdapat pada komponen-komponen lain (misalnya: Memo).

Berikut ini contoh aplikasi yang akan menunjukkan penggunaan komponen ListBox. Ikuti langkah-langkah dibawah ini.
- Sediakan aplikasi baru. Simpan dengan nama unit uListBox.pas dan project dengan nama ListBox.dpr.
-Tempatkan dua komponen ListBox, dua komponen CheckBox, empat komponen Button, dan empat komponen SpeedButton. Set properti dari komponen-komponen tersebut dengan nilai-nilai yang terdapat pada tabel dibawah ini :






Nama Komponen PropertiNilai
Form1CaptionDemo ListBox
ListBox1ItemsKylix
C++ Builder
Delphi
Eclipse
Visual Basic
Power Builder
Button1Caption>
Button2Caption>>
Button3Caption<
Button4Caption<<
CheckBox1
CheckBox2
CaptionSorder
SpeedButton1
SpeedButton3
Glyph(Gambar Up / Down)
SpeedButton2
SpeedButton4
Glyph(Gambar Up / Down)

-Deklarasikan prosedur baru pada bagian private dari kelas TForm1 dengan menggunakan kode berikut.
procedure Move(SourceLB, DestLB : TListBox; index: integer = -1; All: boolean=false);

-Implementasikan prosedur tersebut pada bagian implementation dari unit bersangkutan dengan menggunakan kode berikut.
procedure TForm1.Move(SourceLB, DestLB : TListBox; index: integer = -1; All: boolean=false);
var
i: integer;
begin
if All then begin
for i := 0 to SourceLB.Items.Count-1 do begin
DestLB.Items.Add(SourceLB.Items.Strings[i]);
end;
SourceLB.Items.Clear;
end else begin
if Index = -1 then begin
showmessage('Pilih Item');
exit;
end else begin
DestLB.Items.Add(SourceLB.Items.String[Index]);
SourceLB.Items.Delete[Index];
end;
end;
end;


-Deklarasikan kembali sebuah prosedur baru pada bagian private dari kelas TForm1 dengan menggunakan kode berikut.

procedure UpDown(LB: TListBox; Index:integer; up:boolean=false);

-Implementasikan Prosedur tersebut dengan kode berikut.

procedure TForm1.UpDown(LB: TListBox; Index: integer; Up:boolean=false);
begin
if up then begin
if Index = 0 then exit;
LB.Items.Exchange(Index, Index-1);
LB.ItemsIndex := Index-1;
end else begin
if Index = LB.Items.Count-1 then exit;
LB.Items.Exchange(Index, Index-1);
LB.ItemsIndex := Index-1;
end;
end;

-Isikan Kode berikut untuk even OnClick dari objek Button1.

procedure TForm1.Button1Click(Sender: TObject);
begin
Move(ListBox1,ListBox2, ListBox1.ItemIndex);
end;

-Isikan Kode berikut untuk even OnClick dari Objek Button2.

procedure TForm1.Button2Click(Sender: TObject);
begin
Move(ListBox1,ListBox2, -1, true);
end;

-Isikan Kode berikut untuk even OnClick dari Objek Button3.

procedure TForm1.Button3Click(Sender: TObject);
begin
Move(ListBox2,ListBox1, ListBox2.ItemIndex);
end;

-Isikan Kode berikut untuk even OnClick dari Objek Button4.

procedure TForm1.Button4Click(Sender: TObject);
begin
Move(ListBox2,ListBox1, -1, true);
end;

-Isikan Kode berikut untuk even OnClick dari Objek SpeedButton1.

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
UpDown(ListBox1,ListBox1.ItemIndex, True);
end;

-Isikan Kode berikut untuk even OnClick dari Objek SpeedButton2.

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
UpDown(ListBox1,ListBox1.ItemIndex);
end;

-Isikan Kode berikut untuk even OnClick dari Objek SpeedButton3.

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
UpDown(ListBox2,ListBox2.ItemIndex, True);
end;

-Isikan Kode berikut untuk even OnClick dari Objek SpeedButton4.

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
UpDown(ListBox2,ListBox2.ItemIndex);
end;

-Isikan kode berikut untuk event OnClick dari objeck CheckBox1.

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
ListBox1.Sorted := CheckBox1.Checked;
end;

-Isikan kode berikut untuk event OnClick dari objeck CheckBox2.

procedure TForm1.CheckBox2Click(Sender: TObject);
begin
ListBox2.Sorted := CheckBox2.Checked;
end;

-Simpan Kembali semua file dengan memilih menu File | Save All dan jalankan aplikasi.
28 Oct 2012

0 comments :

Post a Comment

:) :)) ;(( :-) =)) ;( ;-( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ $-) (b) (f) x-) (k) (h) (c) cheer
Click to see the code!
To insert emoticon you must added at least one space before the code.

 
Top