Advertisement

Tuesday, October 25, 2011

Memahami Event Keypress dan Validasi Pesan di VB 6


  •  EVENT KEYPRESS()
Mungkin kita pernah bertanya-tanya bagaimana cara memberi batasan dalam pengetikan. Misalnya dalam kolom ID, kita ingin yang dapat diketikan hanya numeric saja. Perintah tersebut dapat diatur menggunakan event keypress. Perintah ini akan dijalankan pada saat suatu tombol keyboard ditekan. Dalam sintaks coding’nya menggunakan variable keyascii, dimana nilai dari keyascii tersebut akan menunjukkan tombol yang ditekan. Untuk mengetahui nilai masing-masing tombol, dapat dilakukan dengan menekan tombol F2 sehingga akan muncul tampilan Object Browser :


















  • Pesan Validasi
Untuk Pesan validasi / perintah untuk memunculkan suatu pesan sangatlah mudah. Pada intinya kita perlu memanggil kotak pesan itu dengan diawali coding ‘Msgbox’ baru setelah itu di ikuti dengan tulisan pesan yang akan kita lampirkan di dalam kotak, selanjutnya kita bisa lihat contoh coding yang saya akan jelaskan dibawah ini.

 > Pertama kita perlu menyiapkan Form untuk latihan. buatlah Form yang sederhana saja untuk sekedar mengetahui logika ataupun perintah coding'nya. Berikut gambar layout Form'nya:
















Pada Kolom Text Kode, beri nama -> txtkode; dan untuk kolom Text Nama Barang, beri nama -> txtnm; dan terakhir untuk Tombol EXIT, berinama pada Caption -> cmdexit.

Klik 2 kali pada Kolom text Kode. Setelah masuk di form coding, buat perintah keypress, untuk lebih jelas lihat gambar.



Karena di Kolom Text kita ingin membuat batasan penulisan hanya berupa numerik disertai perintah enter yang langsung pindah ke kolom nama, berikut simak baik-baik coding'nya :

If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 13 And KeyAscii <> 8 Then
KeyAscii = 0
ElseIf KeyAscii = 13 Then
txtnm.SetFocus
End If
Mengapa saya menggunakan validasi IF, karena disini kita perlu logika untuk sebuah kondisi yang terpenuhi, ataupun kondisi lain yang terpenuhi.
(KeyAscii < 48 Or KeyAscii > 57) -> Coding ini untuk pemetakan diluar angka, yaitu huruf saja. Saya mendapatkan keykode konstan 48 sampai 57 (atau 0 smp 9) dari VBKEY, yang bisa dilihat di Object Browser / F2.
(KeyAscii <> 13 And KeyAscii <> 8)  -> Kalau Keyascii=13, untuk Enter; sedangkan Keyascii=8, untuk Backspace.
Sebenarnya semua perintah diatas baru kondisi yang menyatakan saat tombol keyboard ditekan. Tapi tanpa perintah kondisi pertama yang terpenuhi diatas, pembatasnya tersebut tidak akan berfungsi. Maka itu kita butuh Keyascii = 0, yang dianggap sebagai pernyataan keyascii adalah (0) atau salah. Jadi logikanya untuk lebih kecil dari keykode konstan 48 dan lebih besar 57, dan bukan keykode konstan 13 serta bukan 8, maka tidak di ijinkan atau dianggap tidak valid / salah.

ElseIf KeyAscii = 13 Then
txtnm.SetFocus
Untuk logika kondisi ke 2 ini, menyatakan apabila di enter maka krusor akan otomatis turun ke 'txtnm' / kolom Text Nama Barang.

> Sedangkan untuk Nama barang saya ingin memberikan validasi, bahwa yang di ketik hanya boleh huruf serta huruf besar saja. Berikut coding'nya:
If Not (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then
KeyAscii = 0
Else
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End If
KeyAscii = Asc(UCase(Chr(KeyAscii))) -> Digunakan untuk perintah penggunaan huruf besar / capital.

Terakhir adalah perintah validasi pesan dengan Msgbox. Ok, pada perintah validasi pesan ini, saya ingin apabila ditekan button EXIT, maka yang keluar adalah pesan box, yang berkata "Apakah Anda yakin mau keluar?", kemudian bila di klik Ok, maka program akan berakhir.
Simak terlebih dahulu coding'nya :
> terlebih dahulu klik 2 kali pada tombol EXIT, baru masukan sintaks code berikut.
MsgBox "Apakah Anda yakin mau keluar?", vbInformation, "Informasi"
End
 MsgBox "Apakah Anda yakin mau keluar?" --> Disini tempat Anda mengetik pesan apa yang akan Anda lampirkan pada kotak pesan.
vbInformation --> Untuk tombol / button yang akan Anda sajikan pada kotak pesan, ini secara otomatis keluar saat Anda menuliskan koma.
"Informasi" --> kalau ini untuk memberikan Title pada Kotak Pesan, semau dapat dirubah sesuai kebutuhan dan selera Anda.

Semoga Anda dapat mengerti, maaf bila banyak hal yang membingungkan, karena saya hanya berbagi.

0 comments:

Post a Comment

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Powered by Blogger