Sunday, November 16, 2008

Belajar Control Objek Foxpro Part 2

Latihan 2 Belajar Kontrol Objek

Buatlah project dengan nama latihan2.pjx dan disain form sebagai berikut:
Kasus:
  1. Ketika program aktif, maka seluruh textbox tidak aktif
  2. Apabila tombol Hitung ditekan maka pada bagian total, diskon dan total bayar akan keluar hasilnya yaitu:
  3. total = harga * jumlah
  4. Diskon = 5% * total
  5. Total bayar = total - diskon
  6. Apabila tombol Lagi ditekan maka seluruh textbox kecuali tanggal dan jam akan kosong. dan pada bagian bagian kode buku, nama buku, harga dan jumlah textbox nya aktif dan setfocus pada bagian textbox kode buku
  7. Apabila tombol Tutup ditekan maka program akan keluar
  8. Tanggal dan jam akan tampil secara otomatis
Penyelesaian:
Untuk mendisain form seperti tampilan diatas, gunakan objek label, shape, textbox dan command button pada form control. Gunakan properties untuk mengatur tiap objek agar terlihat sama seperti tampilan diatas. Pada bagian tombol "Lagi", atur pada properti objek tersebut dan pilih gambar pada properties picture. Dan berikan objek kontrol Timer, dan atur properties interval nya isi dengan nilai 1000 (1 detik), agar melakukan perintah menampilkan jam dan tanggal tiap 1 detik sekali.

Penyelesaian no 1:
Ketika program aktif, maka seluruh textbox tidak aktif
isikan perintah berikut pada bagian

Object : Form1 Procedure: Activate
-----------------------------------------------------------------------
&&Mengontrol textbox menonaktifkan textbox
with thisform
.text1.enabled = .f. &&nonantifkan kode buku

.text2.enabled = .f. &&
nonantifkan nama buku
.text3.enabled = .f. &&
nonantifkan harga
.text4.enabled = .f. &&
nonantifkan jumlah
.text5.enabled = .f. &&
nonantifkan total
.text6.enabled = .f. &&
nonantifkan diskon
.text7.enabled = .f. &&
nonantifkan total bayar
endwith


Penyelesaian No. 2-5:
  • Apabila tombol Hitung ditekan maka pada bagian total, diskon dan total bayar akan keluar hasilnya yaitu:
  • total = harga * jumlah
  • Diskon = 5% * total
  • Total bayar = total - diskon
Berikan perintah berikut di:

Object : Command1 Procedure: Click
-----------------------------------------------------------------------
&&Mengontrol objek : menampilkan data pada textbox
&&total = harga * jumlah

thisform.text5.value = val(thisform.text3.value) * val(thisform.text4.value)
&&
Diskon = 5% * total

thisform.text6.value = (5/100) * thisform.text5.value
&&Total bayar = total - diskon
thisform.text7.value = thisform.text5.value - thisform.text6.value

Penyelesaian No. 6:
Apabila tombol Lagi ditekan maka seluruh textbox kecuali tanggal dan jam akan kosong. dan pada bagian bagian kode buku, nama buku, harga dan jumlah textbox nya aktif dan setfocus pada bagian textbox kode buku

Berikan perintah di:

Object : Command3 Procedure: Click
-----------------------------------------------------------------------
&&Mengontrol objek: mengkosongkan textbox
with thisform
.text1.VALUE = "" &&kosongkan kode buku
.text2.VALUE = "" &&
kosongkan nama buku
.text3.VALUE = ""
&&kosongkan harga
.text4.VALUE = "" &&kosongkan jumlah
.text5.VALUE = "" &&kosongkan total
.text6.VALUE = "" &&kosongkan diskon
.text7.VALUE = "" &&kosongkan total bayar
endwith
&&Mengontrol objek: mengaktifkan textbox dan setfocus texbox
with thisform
.text1.enabled = .t.
&&aktifkan kode buku
.text2.enabled = .t.
&&aktifkan nama buku
.text3.enabled = .t.
&&aktifkan harga buku
.TEXT4.ENABLED = .T.
&&aktifkan jumlah buku
.TEXT1.SETFOCUS()
&&setfocus kode buku
.REFRESH()
&&refresh tampilan form
endwith

Penyelesaian No. 7:
Apabila tombol Tutup ditekan maka program akan keluar.

Berikan perintah di:

Object : Command2 Procedure: Click
-----------------------------------------------------------------------
thisform.release() &&mengakhiri tampilan form

Penyelesaian No. 8:
Tanggal dan jam akan tampil secara otomatis

Object : Timer1 Procedure: Timer
-----------------------------------------------------------------------
thisform.text9.value = time()
thisform.text8.value = date()



Kemudian jalankan program dengan menekan short cut CTRL + E