Selasa, 23 Oktober 2012

TextBox AutoComplete dengan Database sebagai Data Source

Proses AutoComplete di TextBox lebih mirip ketika kita mengetikan kata di google, maka akan keluar kata yang menyerupai kata yang diketik secara otomatis. Proses ini dengan tujuan untuk mempermudah user dalam memilih/mencari kata yang dicarinya. Langsung saja kita bahas listing Programnya..

1. buat sebuah TextBox di dalam Form dan kita beri nama txtNama.



2. di Property box ubah AutocompleteMode -- > SuggestAppend dan AotuCompleteSource --> CustomeSource



3. Buat Prosedure :
     
    Private Sub ProcACText()
        Dim ds As DataSet = New DataSet()
        Dim SQL As String
        Dim authors As New AutoCompleteStringCollection

        SQL = "select Fullname from Person where RecordKey between 2042470 and 2045000 order by Fullname"

        CheckConnection() 'Prosedure Koneksi silahkan buat sendiri        

        Dim SqlDbDataAdapter As System.Data.SqlClient.SqlDataAdapter = New System.Data.SqlClient.SqlDataAdapter(SQL, SQLConn)
        SqlDbDataAdapter.Fill(ds, "Person")
        Dim dvManager As DataViewManager = New DataViewManager(ds)
        Dim dv As DataView = dvManager.CreateDataView(ds.Tables("Person"))

        For Each dRow In ds.Tables(0).Rows
            txtNama.AutoCompleteCustomSource.Add(dRow("Fullname").ToString)
        Next
    End Sub


4. Panggil Prosedure di Load Form


Private Sub FrmAutocompleteTextBox_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Call ProcACText()
    End Sub

5. Running Program Hasilnya akan terlihat seperti Gambar dibawah ini :



Selamat Mencoba !!

     

Rabu, 17 Oktober 2012

Fungsi Terbilang VB.net

Hari ini saya akan membahas cara membuat fungsi terbilang. fungsi ini sering kali digunakan terutama untuk aplikasi yang berhubungan dengan bisnis keuangan.
Kita buat function ini dalam sebuah Class yang di public. Listing Programnya adalah sebagai berikut :
#Region "Fungsi Terbilang Hingga Ratusan Trilyun"
        Public Function Terbilang(ByVal Angka As Double) As String
            Dim strAngka, strDiurai, Urai, Tbl1, Tbl2 As String
            Dim x, y, z As Short
            Dim arrBelasan() As String = {"SEPULUH ", "SEBELAS ", _
                "DUA BELAS ", "TIGA BELAS ", "EMPAT BELAS ", _
                "LIMA BELAS ", "ENAM BELAS ", "TUJUH BELAS ", _
                "DELAPAN BELAS ", "SEMBILAN BELAS "}
            Dim arrSatuan() As String = {"DUA ", "TIGA ", "EMPAT ", _
                "LIMA ", "ENAM ", "TUJUH ", "DELAPAN ", "SEMBILAN "}
            Urai = ""
            'Angka yang akan dibuat terbilang dibulatkan dulu Jika ada desimalnya


            Angka = Math.Round(Angka)

 
            'Angka tipe Double diubah menjadi string Dihilangkan spasi dikiri atau kanan angka jika ada
            strAngka = Trim(CStr(Angka))

            'Perulangan While ...End While akan mengevaluasi angka satu per satu dan dimulai dari angka paling kiri
            'x menunjukkan iterasi ke berapa dimulai dari 1


            While (x < Len(strAngka))
                x += 1
                strDiurai = Mid(strAngka, x, 1)


                'y menunjukkan angka yang sedang dievaluasi
                y += Val(strDiurai)

 
                'z menunjukkan posisi digit ke berapa
                z = Len(strAngka) - x + 1

                ' Jika yang dievaluasi angka 1
                If Val(strDiurai) = 1 Then
                    If (z = 1 Or z = 7 Or z = 10 Or z = 13) Then
                        Tbl1 = "SATU "
                    ElseIf (z = 4) Then
                        If (x = 1) Then
                            Tbl1 = "SE"
                        Else
                            Tbl1 = "SATU "
                        End If
                    ElseIf (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then
                        'Ditambahkan iterasi angka berikutnya
                        x += 1
                        strDiurai = Mid(strAngka, x, 1)
                        z = Len(strAngka) - x + 1
                        Tbl2 = ""
                        Tbl1 = arrBelasan(Val(strDiurai))
                    Else
                        Tbl1 = "SE"
                    End If
                    'Yang dievaluasi angka 2 sampai 9
                ElseIf Val(strDiurai) > 1 And Val(strDiurai) < 10 Then
                    Tbl1 = arrSatuan((Val(strDiurai)) - 2)
                Else
                    Tbl1 = ""
                End If

                If (Val(strDiurai) > 0) Then
                    If (z = 2 Or z = 5 Or z = 8 Or z = 11 Or _
                            z = 14) Then
                        Tbl2 = "PULUH "
                    ElseIf (z = 3 Or z = 6 Or z = 9 Or z = 12 _
                            Or z = 15) Then
                        Tbl2 = "RATUS "
                    Else
                        Tbl2 = ""
                    End If
                Else
                    Tbl2 = ""
                End If

                If (y > 0) Then
                    Select Case z
                        Case 4
                            Tbl2 &= "RIBU "
                            y = 0
                        Case 7
                            Tbl2 &= "JUTA "
                            y = 0
                        Case 10
                            Tbl2 &= "MILYAR "
                            y = 0
                        Case 13
                            Tbl2 &= "TRILYUN "
                            y = 0
                    End Select
                End If

                Urai = Urai & Tbl1 & Tbl2
            End While

            Terbilang = Urai & "RUPIAH"
        End Function
#End Region


sesudah listing program diatas diketik. kita panggil fungsi diatas dengan perintah berikut :

        Terbilang(CDbl(txtInput.Text))

ok. pembahasan pembuatan fungsi terbilang sudah selesai dan siap untuk digunakan. selamat mencoba !!.