Membatasi Penekanan Tombol Keyboard
12 November 2008 2 Komentar
Adakalanya, Anda ingin suatu kontrol TextBox, hanya bisa diisi dengan angka atau dengan huruf saja. Hal ini bisa saja terjadi ketika Anda menghendaki suatu TextBox yang nantinya akan digunakan untuk suatu proses perhitungan.
Contoh, Anda bermaksud ingin membuat TextBox yang akan digunakan untuk inputan dari Harga Barang, maka tentu saja di dalam TextBox ini tidak boleh terdapat huruf. Atau Anda bermaksud ingin membuat TextBox yang akan digunakan untuk inputan dari Nama Mahasiswa, maka tentu saja di dalam TextBox ini tidak boleh terdapat angka.
Berikut ini sebuah prosedur yang bisa Anda gunakan untuk keperluan tersebut.
Tuliskan kode ini di module.
Public Sub i_Batasan(Tombol As Integer, _ Optional i_Angka As Boolean, _ Optional i_Huruf As Boolean) 'Jika nilai dari i_Angka adalah True, maka If i_Angka = True Then 'Jika nilai Tombol adalah tidak lebih 'besar dari atau sama dengan Asc("0"), dan ... '-=> Asc adalah fungsi untuk mengkonversi 'nilai string menjadi nilai Integer 'kode ASCII If Not (Tombol >= Asc("0") And _ Tombol <= Asc("9") Or _ Tombol = vbKeyBack Or _ Tombol = vbKeyReturn Or _ Tombol = vbKeyDelete) Then 'Tombol adalah 0 (tidak berfungsi) Tombol = 0 End If End If ' If i_Huruf Then If Not (Tombol >= Asc("a") And _ Tombol <= Asc("z") Or _ Tombol >= Asc("A") And _ Tombol <= Asc("Z") Or _ Tombol = 8 Or _ Tombol = 46 Or _ Tombol = 13 Or _ Tombol = 32) Then Tombol = 0 End If End If End Sub
Untuk contoh pemanggilan, masukan dua buah kontrol TextBox ke dalam form, ubah nama dari TextBox tersebut masing-masing dengan nama “txtAngka” dan txtHuruf”, ketik kode berikut di form:
Private Sub txtAngka_KeyPress(KeyAscii As Integer) 'Memanggil procedur i_Batasan dengan nilai 'parameter Angka = True, dan Huruf = False i_Batasan KeyAscii, True, False End Sub ' Private Sub txtHuruf_KeyPress(KeyAscii As Integer) i_Batasan KeyAscii, , True End Sub
minta rumus buat batasannya donk ? bingung ma sintaks di atas.
rumus sintaks keyascii. tq ya
Nice..
^,^