Kamus Inggris - Menambahkan Database merupakan kelanjutan dari bagian ke-6.Database kamus ini, kosakatanya berjumlah 23623 (dua puluh tiga ribu lebih). dalam format text sehingga bisa dengan mudah diakses dan ditambah kosakatanya. Database kamus ini diambil dari gKamus (Kamus Bahasa Inggris Indonesia Open Source). Beberapa modul/kode pada
bagian ke-7 ini diambil dari Putra VB (disitus miliknya Anda dapat belajar VB6 dan VB.Net). Untuk kedua Author situs tersebut saya ucapkan terima kasih. Selanjutnya ...
Pada bagian ke-8 kita akan menambahkan databasenya, dengan demikian project ini sudah bisa kita gunakan, dengan fitur bug disana-sini, sederhana, dan tampilan yang kurang enak dipandang (tentu saja, setidaknya untuk sementara), bagaimana mengenai kecepatan pencariannya? saya kira tidak perlu diragukan.
Tujuan pada bagian ke-Menambahkan database, sehingga kamus ini sudah bisa kita gunakan.
Langkah-langkah- Download terlebih dahulu databasenya [Download Database]
- Satukan file database (en-id.txt) ke dalam folder database
- Buatlah module baru dan berinama modData
- Tambahkan 1 TextBox (Text3) dan 1 ListBox (List2)
- Tambahkan beberapa kode di bawah ini:
Kode-kode'tambahkan kode di bawah ke dalam form frmMain
Private Sub Form_Load()
BukaData App.Path & "\database\en-id.txt", List2
End Sub
Private Sub List1_Click()
Text3.Text = List1.Text
End Sub
Private Sub List2_Click()
If List2.ListIndex <> -1 Then
Text2.Text = Replace(DataEn(List2.ListIndex), vbTab, " = ")
End If
End Sub
Private Sub Text1_DblClick()
Text3.Text = Trim(Text1.SelText)
End Sub
Private Sub Text3_Change()
Dim i As Integer
If Text3.Text = "" Then
List2.ListIndex = -1
Text2.Text = ""
Exit Sub
End If
i = List2.ListIndex
If List2.Text = "" Then List2.ListIndex = i
Dim retValue As Long
retValue = SendMessage(List2.hWnd, LB_FINDSTRING, -1, ByVal Text3.Text)
If retValue > -1 Then
List2.TopIndex = retValue
Else
List2.TopIndex = i
End If
List2.ListIndex = List2.TopIndex
End Sub
Kode di bawah ini masukan ke dalam module
modDataOption Explicit
Public 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 Const LB_ADDSTRING = &H180
Public Const LB_FINDSTRING = &H18F
Public Const LB_FINDSTRINGEXACT = &H1A2
Public DataEn() As String
Public LokasiData As String
Sub BukaData(FileName As String, lst As ListBox)
Dim Temp As String
Dim i As Long
lst.Parent.Visible = False
Open FileName For Binary As #1
Temp = Space$(LOF(1))
Get #1, , Temp
Close #1
Temp = Replace(Temp, vbCrLf & "" & vbCrLf, vbCrLf)
DataEn = Split(Temp, vbCrLf)
lst.Clear
For i = 0 To UBound(DataEn) - 1
SendMessage lst.hWnd, LB_ADDSTRING, 0, ByVal CStr(Split(DataEn(i), vbTab)(0))
Next
lst.ListIndex = 0
lst.Parent.Visible = True
End Sub
Uji Coba- Compile terlebih dahulu projectnya
- Jalankan melalui Windows Explorer
- Ketikan kosakata inggris pada TextBox pencarian (Text3), Anda lihat sekarang kamus ini dapat mencari kosakata dengan sangat cepatnya
CatatanPada bagian download terdapat file .exe, sebagai perbandingan saja.
Sampai disini apakah ada pertanyaan? sepertinya tidak ada, maka kita lanjutkan pada bagian ke-8
READ MORE - Kamus Inggris - Menambahkan Database - Bagian ke-7