Skip to main content

Aplikasi Demo Penggunaan Memo ComboBox ListBox dan CheckBox (Belajar Lazarus #14)

Mempelajari Listbox yang Owner-Draw Lazarus telah kita bahas pada artikel sebelumnya, sekarang mari kita buat Aplikasi Demo Penggunaan Memo ComboBox ListBox dan CheckBox. CheckBox memberi dua pilihan (bahkan tiga pilihan) kepada pemakai, properti yang berkaitan dengan pilihan pada CheckBox yaitu:
  • Ubah property Checked menjadi True agar CheckBox dipilih secara default.
  • Ubah AllowGrayed menjadi True agar CheckBox mempunyai 3 pilihan, yaitu checked, unchecked dan grayed.
  • Property State menyatakan apakah CheckBox dalam keadaan checked (cbChecked), unchecked (cbUnchecked), atau grayed (cbGrayed).
Memo dipakai untuk memasukkan data yang lebih dari satu barus.
ListBox menampilkan daftar dan Anda dapat memilih item-itemnya:
  • Property Items dibakai untuk mengisi pilihan-pilihan yang mungkin.
  • ItemIndex menyatakan item yang dipilih. 
  • MultiSelect menyatakan apakah dapat memilih lebih dari satu pilihan pada saat yang bersamaan.
  • Sorted menyatakan apakah daftar terurut secara alfabetis.
ComboBox mengombinasikan kotak edit dengan listbox. Dengan ListBox, anda hanya dapat memilih salah satu pilihan yang telah tersedia. Dengan ComboBox, selain dari pilihan yang tersedia anda juga dapat mengetikkan teks.

Demo Penggunaan Memo ComboBox ListBox dan CheckBox


Selanjutnya, mari kita buat aplikasi dengan desain seperti gambar di atas untuk mendemonstrasikan keempat komponen di atas (Memo, ComboBox, ListBox dan CheckBox). Buatlah aplikasi bari dan simpan beri nama appmemo.lpi dan unitnya beri nama uappmemo.pas, ganti property berikut ini :

Form1
Name: FAppMemo
Caption: Aplikasi Demo Penggunaan Memo ComboBox ListBox dan CheckBox

Memo1
Klik ganda tanda ... pada property Lines dan anda akan masuk ke String List Editor. Disana sudah tercantum Memo1 sesuai dengan nama memo. Hapus teks tersebut. Klik OK untuk mengakhiri String List Editor.

ComboBox1
Kita akan mengisikan 4 pilihan pada ComboBox. Klik ganda kolom isian dari property Items (klik ganda tanda ...). Anda akan masuk ke String List Editor dan isikan teks berikut ini:
    Lazarus Free Pascal
    Demo Komponen Memo
    Demo ListBox 3 item
    ComboBox dan CheckBox

Property ItemIndex isi angka 0

ListBox1
Isikan pada property Items
    1. Kotak Memo Warna Putih
    2. Kotak Memo Warna Kuning
    3. Kotak Memo Warna Hijau

Property ItemIndex isi angka 0

GroupBox1
Caption: Font

Kedalam GroupBox1 tambahkan 3 buah CheckBox:
CheckBox1
Caption: Teks Warna Merah
CheckBox2
Caption: Teks Miring
CheckBox3
Caption: Teks Cetak Tebal

Tambahkan 3 buah Button:
Button1
Caption: Isi Memo
Name: BMemo
Button2
Caption: Ubah Font
Name: BFont
Button3
Caption: Keluar
Name: BKeluar

Penulisan Kode Program Aplikasi Demo Penggunaan Memo


BMemo
Event OnClick
procedure TFAppMemo.BMemoClick(Sender: TObject);
begin
  Memo1.Clear;
  Memo1.Lines.Add(ComboBox1.Text);
  Memo1.Lines.Add('ListBox yang dipilih nomor: '+IntToStr(ListBox1.ItemIndex+1));
  Case ListBox1.ItemIndex of
  0 : Memo1.Color:=clWhite;
  1 : Memo1.Color:=clYellow;
  2 : Memo1.Color:=clGreen;
  end;
end;


BFont
Event OnClick
procedure TFAppMemo.BFontClick(Sender: TObject);
begin
  if CheckBox1.State=cbChecked
  then Memo1.Font.Color:=clRed
  else Memo1.Font.Color:=clWindowText;

  Memo1.Font.Style:=[];
  if CheckBox2.State=cbChecked
  then Memo1.Font.Style:=[fsItalic];

  if CheckBox3.State=cbChecked
  then Memo1.Font.Style:=Memo1.Font.Style+[fsBold];
end;


BKeluar
Event OnClick
procedure TFAppMemo.BKeluarClick(Sender: TObject);
begin
  Close;
end;



Penjelasan Kode Program Aplikasi Demo Penggunaan Memo


Tombol Isi Memo dipakai untuk mengisi teks ke dalam Memo. Pertama-tama, teks pada Memo dibersihkan. Baris pertama Memo berisi teks dari ComboBox. Teks dari ComboBox dapat berupa teks yang anda ketikkan atau teks yang dipilih dari pilihan yang tersedia. Baris kedua menyatakan pilihan ke berapa dari ListBox yang dipilih. Selanjutnya warna dasar memo diubah sesuai dengan pilihan anda pada ListBox.

Tombol Ubah Font dipakai untuk mengubah font tulisan di memo. Pilihan font menggunakan CheckBox, sehingga anda dapat memilih lebih dari satu pilihan (bandingkan dengan RadioButton yang hanya boleh memilih salah satu). Jika anda memilih CheckBox1, teks berwarna merah, jika tidak, warna default. CheckBox2 dipakai untuk mencetak miring dan CheckBox3 untuk cetak tebal.

Tombol Keluar untuk mengakhiri aplikasi. Berikut listing lengkapnya:

unit uappmemo;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TFAppMemo }

  TFAppMemo = class(TForm)
    BMemo: TButton;
    BFont: TButton;
    BKeluar: TButton;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    ComboBox1: TComboBox;
    GroupBox1: TGroupBox;
    ListBox1: TListBox;
    Memo1: TMemo;
    procedure BFontClick(Sender: TObject);
    procedure BKeluarClick(Sender: TObject);
    procedure BMemoClick(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  FAppMemo: TFAppMemo;

implementation

{$R *.lfm}

{ TFAppMemo }

procedure TFAppMemo.BMemoClick(Sender: TObject);
begin
  Memo1.Clear;
  Memo1.Lines.Add(ComboBox1.Text);
  Memo1.Lines.Add('ListBox yang dipilih nomor: '+IntToStr(ListBox1.ItemIndex+1));
  Case ListBox1.ItemIndex of
  0 : Memo1.Color:=clWhite;
  1 : Memo1.Color:=clYellow;
  2 : Memo1.Color:=clGreen;
  end;
end;

procedure TFAppMemo.BFontClick(Sender: TObject);
begin
  if CheckBox1.State=cbChecked
  then Memo1.Font.Color:=clRed
  else Memo1.Font.Color:=clWindowText;

  Memo1.Font.Style:=[];
  if CheckBox2.State=cbChecked
  then Memo1.Font.Style:=[fsItalic];

  if CheckBox3.State=cbChecked
  then Memo1.Font.Style:=Memo1.Font.Style+[fsBold];
end;

procedure TFAppMemo.BKeluarClick(Sender: TObject);
begin
  Close;
end;

end.


Sebagai catatan tambahan, property Font.Style bertipe set yang dapat kosong atau berisi beberapa nilai yang diperbolehkan. Perhatikan cara penulisannya. Operator + pada set menyatakan operasi gabungan. Demikian artikel Aplikasi Demo Penggunaan Memo ComboBox ListBox dan CheckBox (Belajar Lazarus #14) selamat mencoba :) .

Comments

Popular posts from this blog

Inilah Kelebihan dan Kekurangan SQLite

  Artikel ini akan membahas tentang, tipe data yang didukung SQLite,  kelebihan dari SQLite, kekurangan SQLite, kapan sebaiknya ketika menggunakan SQLite dan kapan sebaiknya kita tidak menggunakan SQLite. Merujuk dari id.wikipedia.org disebutkan bahwa SQLite merupakan sebuah sistem manajemen basisdata relasional yang bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp . SQLite adalah perpustakaan menakjubkan yang disematkan di dalam aplikasi yang menggunakan. Sebagai database mandiri, berbasis file, SQLite menawarkan serangkaian menakjubkan alat untuk menangani segala macam data dengan jauh lebih sedikit kendala dan kemudahan dibandingkan dengan host, proses berbasis (server) database relasional. Ketika sebuah aplikasi menggunakan SQLite, integrasi bekerja dengan panggilan fungsional dan langsung dibuat untuk file memegang data (yaitu SQLite da

Validasi Data Penanganan Kesalahan Lazarus Free Pascal (Belajar Lazarus #9)

Pengecekan Validasi (Keabsahan) Data dengan Penanganan Kesalahan pada Lazarus Free Pascal wajib dilakukan oleh programmer, Sebagai programmer kita menginginkan agar pemakai program buatan kita dijalankan dengan benar, misal disuruh input angka maka yang diinputkan juga angka, inputan tanggal diisi tanggal. Ada kalanya apa yang kita inginkan sebagai programmer tidak dilakukan oleh pemakai program kita, baik itu karena unsur sengaja maupun tidak sengaja. Bisa juga kesalahan data itu dari hasil program kita sendiri. Sebagai bahan praktek validasi data kali ini silahkan buka kembali postingan aku sebelumnya di Memilih Data dengan RadioButton Lazarus (Belajar Lazarus #7) buka proyek aplikasi kasiratk.lpi Silahkan compile (tekan F9) lalu coba masukkan pada kotak EBanyak barang dengan angka pecahan misalnya 5.5 , terus tekan tombol hitung. Perhatikan apa yang terjadi! Akan muncul pesan error. Gambar error pertama di bawah ini adalah pesan error yang dihasilkan oleh IDE Lazarus Fre