Rabu, 11 Agustus 2010

Tips dan Trik Penanganan TextBox Pada Visual Basic 6.0

TextBox merupakan salah satu komponen yang sangat penting didalam lingkungan pemrograman berbasis visual, dikarenakan komponen inilah yang akan meneriman inputan data dari user, kurangnya perhatian terhadap komponen ini akan sangat fatal, mulai dari Runtime Error sampai data yang Invalid dan yang lainnya.

Berikut ini adalah beberapa tips dan trik dalam penanganan textbox :

T&T#1) HANYA DATA NUMERIK YANG BOLEH DI-ENTRI KE TEXTBOX
Untuk demo nya silahkan anda membuka project baru, pilih standard exe, lalu tempatkan sebuah textbox untuk bahan percobaan dan set dengan properti sbb :
Name : Text1
Text : (kosongkan)

Lalu tekan F7 untuk beralih ke mode view code, atau melalui menu View -> Code, lalu ketikkan kode berikut :
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If Not (KeyAscii >= Asc("0") & Chr(13) _
    And KeyAscii <= Asc("9") & Chr(13) _
        Or KeyAscii = vbKeyBack _
        Or KeyAscii = vbKeyDelete _
        Or KeyAscii = vbKeySpace) Then
            Beep
            KeyAscii = 0
   End If
End Sub 
Jalan kan project (tekan F5), dan lihat hasilnya

Berdasarkan kode diatas maka data yang kita entri ke dalam textbox hanya menerima data numerik, dan beberapa tombol yg lainnnya seperti BackSpace, Delete dan Spasi

T&T#2) HANYA HURUF BESAR BOLEH DI-ENTRI KE TEXTBOX
Buka project baru Standard Exe, lalu tempat kan 2 buah textbox dengan properti sbb :
Name : Text1
Text : (kosongkan)

Name : Text2
Text : (kosongkan)

Tekan F7, atau pilih menu View -> Code, lalu ketikkan kode berikut :
Private Sub Text1_Change()
'Text1 menggunakan event Change
Dim posisi As Integer
    posisi = Text1.SelStart
    Text1.Text = UCase(Text1.Text)
    Text1.SelStart = posisi
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
'Text2 menggunakan event KeyPress
    KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub 
Jalan kan project (tekan F5), dan lihat hasilnya

T&T#3) HANYA HURUF KECIL BOLEH DI-ENTRI KE TEXTBOX
Buka project baru Standard Exe, lalu tempat kan 2 buah textbox dengan properti sbb :
Name : Text1
Text : (kosongkan)

Name : Text2
Text : (kosongkan)

Tekan F7, atau pilih menu View -> Code, lalu ketikkan kode berikut :
Private Sub Text1_Change()
'Text1 menggunakan event Change
    Dim posisi As Integer
    posisi = Text1.SelStart
    Text1.Text = LCase(Text1.Text)
    Text1.SelStart = posisi
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
'Text2 menggunakan KeyPress
    KeyAscii = Asc(LCase(Chr(KeyAscii)))
End Sub 
Jalan kan project (tekan F5), dan lihat hasilnya

T&T#4) MENGHAPUS ISI SEMUA TEXTBOX
Buka project baru dan tempatkan 4 buah textbox, dan 1 buah commanbutton, biarkan settingan propertinya default tidak perlu diubah nama atau pun properti yang lainnya.

Lalu tekan F7, dan ketikkan kode berikut :
Private Sub Command1_Click()
    Dim Contrl As Control
    For Each Contrl In Form1.Controls
        If (TypeOf Contrl Is TextBox) Then Contrl.Text = ""
    Next Contrl
End Sub 
Jalan kan project (tekan F5), dan lihat hasilnya

T&T#5) MENGHINDARI INPUT KARAKTER TERTENTU
Buka project baru Standard Exe, lalu tempatkan sebuah textbox dan biarkan nama default 'Text1', lalu tekan F7 dan ketik kode berikut :
Private Sub Text1_KeyPress(KeyAscii As Integer)
    Dim sTemplate As String
    'Ganti '!@#$%^&*()_+=' dengan karakter yang Anda
    'inginkan untuk dihindari diinput pada Text1
    sTemplate = "!@#$%^&*()_+="
    If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then _
    KeyAscii = 0
End Sub 
Perhatikan kode diatas setiap data yang kita input di textbox tersebut akan diterima kecuali karakter yang terdapat didalam variabel sTemplate

Jalan kan project (tekan F5), dan lihat hasilnya


T&T#6) MENGHITUNG KATA DI DALAM TEXTBOX
Buka project baru Standard Exe, dan tempatkan 1 buah textbox dan 1 buah commandbutton, dan set dengan properti sbb :

TextBox
Name : Text1
Text : (kosongkan)

CommandButton
Name : cmdCount
Caption : &Count

Tekan F7 dan ketikkan kode berikut :
Private Sub cmdCount_Click()
    'Ketikkan beberapa buah kalimat yang cukup panjang
    'sehingga mengandung sampai puluhan bahkan ratusan
    'kata untuk mencoba fungsi menghitung kata di bawah.
    MsgBox GetWordCount(Text1.Text)
End Sub

Public Function GetWordCount(ByVal Text As String) As Long
'Definisikan sebuah tanda hubung pada setiap akhir
'baris yang merupakan bagian dari seluruh kata,
'jadi kombinasikan bersama.
    Text = Trim(Replace(Text, "-" & vbNewLine, ""))
    'Ganti baris baru dengan sebuah space tunggal
    Text = Trim(Replace(Text, vbNewLine, " "))
    'Ganti spasi yang lebih dari satu (jika ada)
    'menjadi spasi tunggal
    Do While Text Like "*  *"
        Text = Replace(Text, "  ", " ")
    Loop
    'Pisahkan string dan kembalikan kata yang dihitung
    GetWordCount = 1 + UBound(Split(Text, " "))
End Function 
Jalan kan project (tekan F5), dan lihat hasilnya

T&T#7) MENU POP-UP DI TEXTBOX
Buka project baru Standard Exe, dan tempatkan 1 buah textbox dan beri nama Text1, dan buatlah sebuah menubar, anda bisa menentukan sendiri apa yang ada didalam menubar tersebut, perhatikan ilustrasi dibawah ini


Lalu tekan F7 dan ketikkan kode berikut :
Private Const WM_RBUTTONDOWN = &H204
Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Public Sub OpenContextMenu(FormName As Form, menuName As Menu)
  Call SendMessage(FormName.hwnd, WM_RBUTTONDOWN, 0, 0&)
  FormName.PopupMenu menuName
End Sub

Private Sub Form_Load()
  MyMenu.Visible = False  'Agar tdk kelihatan di bagian atas form
End Sub

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
  'Ganti 'MyMenu' dengan menu yang Anda inginkan tampil
  'secara pop up.
If Button = vbRightButton Then _
    Call OpenContextMenu(Me, Me.MyMenu)
End Sub
Jalan kan project (tekan F5), dan lihat hasilnya
Klik kanan pada textbox dan sebuah menu pop up akan muncul


T&T#8) SOROT SEMUA KARAKTER DI TEXTBOX
Buka project baru Standard Exe, lalu tempat kan sebuah textbox dan set propertinya sbb :
Name : Text1
Text : http://ilmalyakin.blogspot.com

Tekan F7 dan ketikkan kode berikut :
Private Sub Text1_GotFocus()
  Text1.SelStart = 0
  Text1.SelLength = Len(Text1)
End Sub
Jalan kan project (tekan F5), dan lihat hasilnya


T&T#9) VALIDASI TEXTBOX
Buka project baru Standard Exe, lalu tempatkan 2 buah textbox dan 1 buah commandbutton, dan set dengan properti sbb :

TextBox
Name : Text1
Text : (kosongkan)

Name : Text2
Text : (kosongkan)

CommandButton
Name : cmdExit
Caption : &Exit

Lalu tekan F7 dan ketikkan kode berikut :
Private Sub cmdExit_Click()
    End
End Sub

Private Sub Text1_Validate(Cancel As Boolean)
    Cancel = Text1.Text <> "abc"
End Sub
Jalan kan project (tekan F5), dan lihat hasilnya

Pada contoh ini, kursor tidak akan dapat keluar dari textbox, sampai user mengetik "abc".

Jika anda mengalami kesulitan dalam mengikuti tutorial ini, silahkan download contoh project yang dibahas diatas klik disini untuk mendownload

Selamat mencoba.

0 komentar:

Posting Komentar