Seri Belajar Lazarus yang ke-11 kali ini akan membahas Penggunaan komponen ListBox pada Lazarus Free Pascal. Komponen ListBox menampilkan sekumpulan pilihan dalam daftar yang dapat menggulung. Item-item dalam ListBox dapat dipilih, ditambah dan dihapus.
Pada tutorial kali ini kita akan mempraktekkan penggunaan MessageDlg dan modal resultnya, serta penggunaan perulangan For. Silahkan dipelajari dulu jika belum memahaminya.Untuk praktek silahkan buat aplikasi baru dan beri nama listbox.lpi
LANGKAH DESAIN VISUAL
Form1
Name: FListbox
Caption: Depot Enak Sekali
Label1
Caption: Daftar Menu
Label2
Caption: Menu yang dipilih
ListBox1
Name: LBDaftarmenu
MultiSelect: True
Items:
Nasi Putih
Nasi Rawon
Nasi Soto
Tempe Goreng
Ikan Goreng
Ikan Pepes
Sate
Ayam Goreng
Ayam Panggang
Es Jeruk
Es Teh
Es Degan
Teh Hangat
Susu Soda
ListBox2
Name: LBMenupilih
MultiSelect: True
Button1
Name: BPilih
Caption: Pilih
Button2
Name: BHapus
Caption: Hapus
Sehingga tampilannya seperti gambar dibawah ini:

LANGKAH NON VISUAL / CODING
BPilih
Event OnClick
BHapus
Event OnClick
PENJELASAN PROGRAM APLIKASI
Properti MultiSelect dipakai untuk menentukan apakah user dapat memilih beberapa item sekaligus. JIka bernila False maka user hanya dapat memilih 1 item saja. Jika bernilai True maka user dapat memilih beberapa item sekaligus. Untuk memilih item-item yang berurutan tekan tombol Shift dan klik tombol kiri mouse. Untuk memilih item-item yang tidak berurutan, tekan tombol Ctrl dan klik tombol kiri mouse.
Jangan lupa waktu mengisikan pilihan pada komponen LBDaftarMenu pada properti Items isikan tiap 1 baris 1 item dengan menekan enter. Anda dapat memilih item-item pada DaftarMenu, jika anda klik tombol Pilih, item-item yang dipilih akan ditampilkan di Listbox Menu yang dipilih.
Jika anda klik tombol Hapus, item-item akan dihapus dari Daftar Menu, sebelum diproses, ditampilkan kotak dialog untuk konfirmasi penghapusan. Kode yang telah anda tuliskan adalah:
Yang akan menghasilkan kotak dialog seperti gambar di bawah ini, jika dijawab OK maka proses penghapusan akan dilakukan, jika dijawab Cancel maka penghapusan dibatalkan.

Kode Lengkap unit lisbox Penggunaan ListBox Lazarus Free Pascal (Belajar Lazarus #11) sebagai berikut:
Demikian Tutorial Penggunaan ListBox Lazarus Free Pascal (Belajar Lazarus #11). Terima kasih.
Pada tutorial kali ini kita akan mempraktekkan penggunaan MessageDlg dan modal resultnya, serta penggunaan perulangan For. Silahkan dipelajari dulu jika belum memahaminya.Untuk praktek silahkan buat aplikasi baru dan beri nama listbox.lpi
LANGKAH DESAIN VISUAL
Form1
Name: FListbox
Caption: Depot Enak Sekali
Label1
Caption: Daftar Menu
Label2
Caption: Menu yang dipilih
ListBox1
Name: LBDaftarmenu
MultiSelect: True
Items:
Nasi Putih
Nasi Rawon
Nasi Soto
Tempe Goreng
Ikan Goreng
Ikan Pepes
Sate
Ayam Goreng
Ayam Panggang
Es Jeruk
Es Teh
Es Degan
Teh Hangat
Susu Soda
ListBox2
Name: LBMenupilih
MultiSelect: True
Button1
Name: BPilih
Caption: Pilih
Button2
Name: BHapus
Caption: Hapus
Sehingga tampilannya seperti gambar dibawah ini:

LANGKAH NON VISUAL / CODING
BPilih
Event OnClick
procedure TFListbox.BPilihClick(Sender: TObject);
var
i: integer;
begin
{ Memilih item dari LBDaftarmenu yang dipilih ke LBMenupilih }
for i:= 0 to (LBDaftarmenu.Items.Count-1) do
if LBDaftarmenu.Selected[i] then
LBMenupilih.Items.Add(LBDaftarmenu.Items.Strings[i]);
end;
;BHapus
Event OnClick
procedure TFListbox.BHapusClick(Sender: TObject);
var
i: integer;
begin
// Konfirmasi penghapusan data di LBMenupilih
if messagedlg('Konfirmasi','Yakin ingin menghapus?',mtConfirmation,mbokcancel,0) = mrOk then
(* Menghapus dari item yang dipilih *)
for i:= (LBMenupilih.Items.Count-1) downto 0 do
if LBMenupilih.Selected[i] then
LBMenupilih.Items.Delete(i);
end;
PENJELASAN PROGRAM APLIKASI
Properti MultiSelect dipakai untuk menentukan apakah user dapat memilih beberapa item sekaligus. JIka bernila False maka user hanya dapat memilih 1 item saja. Jika bernilai True maka user dapat memilih beberapa item sekaligus. Untuk memilih item-item yang berurutan tekan tombol Shift dan klik tombol kiri mouse. Untuk memilih item-item yang tidak berurutan, tekan tombol Ctrl dan klik tombol kiri mouse.
Jangan lupa waktu mengisikan pilihan pada komponen LBDaftarMenu pada properti Items isikan tiap 1 baris 1 item dengan menekan enter. Anda dapat memilih item-item pada DaftarMenu, jika anda klik tombol Pilih, item-item yang dipilih akan ditampilkan di Listbox Menu yang dipilih.
Jika anda klik tombol Hapus, item-item akan dihapus dari Daftar Menu, sebelum diproses, ditampilkan kotak dialog untuk konfirmasi penghapusan. Kode yang telah anda tuliskan adalah:
if messagedlg( 'Konfirmasi', 'Yakin ingin menghapus?', mtConfirmation, mbokcancel, 0) = mrOk then
Yang akan menghasilkan kotak dialog seperti gambar di bawah ini, jika dijawab OK maka proses penghapusan akan dilakukan, jika dijawab Cancel maka penghapusan dibatalkan.

Kode Lengkap unit lisbox Penggunaan ListBox Lazarus Free Pascal (Belajar Lazarus #11) sebagai berikut:
unit ulistbox;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TFListbox }
TFListbox = class(TForm)
BPilih: TButton;
BHapus: TButton;
Label1: TLabel;
Label2: TLabel;
LBDaftarmenu: TListBox;
LBMenupilih: TListBox;
procedure BHapusClick(Sender: TObject);
procedure BPilihClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
FListbox: TFListbox;
implementation
{$R *.lfm}
{ TFListbox }
procedure TFListbox.BPilihClick(Sender: TObject);
var
i: integer;
begin
{ Memilih item dari LBDaftarmenu yang dipilih ke LBMenupilih }
for i:= 0 to (LBDaftarmenu.Items.Count-1) do
if LBDaftarmenu.Selected[i] then
LBMenupilih.Items.Add(LBDaftarmenu.Items.Strings[i]);
end;
procedure TFListbox.BHapusClick(Sender: TObject);
var
i: integer;
begin
// Konfirmasi penghapusan data di LBMenupilih
if messagedlg( 'Konfirmasi', 'Yakin ingin menghapus?', mtConfirmation, mbokcancel, 0 ) = mrOk then
(* Menghapus dari item yang dipilih *)
for i:= (LBMenupilih.Items.Count-1) downto 0 do
if LBMenupilih.Selected[i] then
LBMenupilih.Items.Delete(i);
end;
end.
Demikian Tutorial Penggunaan ListBox Lazarus Free Pascal (Belajar Lazarus #11). Terima kasih.
Comments
Post a Comment