Friday, April 22, 2011

Module Untuk Memperoleh Nama File, Extension, Path - VB6

Karena bingung memberi judul, akhirnya judulnya seperti di atas. Module ini digunakan untuk memperoleh (return/get) nama dari PathName lengkap, apakah yang akan diambil extensionnya saja, filenamenya saja, path tanpa filename. Adapun kodenya sebagai berikut:
Option Explicit 

Public Enum
eFilename
ExtentionOnly = 0 'contoh .exe, .zip, dll
FileNameOnly = 1 'update.exe, notify.exe, file.zip
PathNameOnly = 2 'c:\program files\anti virus
WithOutExtention = 3 'update, notify (tanpa .exe)
End Enum

Public Function
GetName(Filename As String, str As eFilename) As String
Dim
vArray As Variant, sDelimiter As String, e As String, v() As String
If
Filename = "" Then Exit Function
Select Case
str
Case ExtentionOnly
sDelimiter = "."
Case FileNameOnly
sDelimiter = "\"
Case PathNameOnly
vArray = Split(Filename, "\")
GetName = Mid(Filename, 1, Len(Filename) - Len(vArray(UBound(vArray))) - 1)
Exit Function
Case
WithOutExtention
vArray = Split(Filename, "\")
e = vArray(UBound(vArray))
v() = Split(e, ".")
GetName = v(0)
Exit Function
End Select
vArray = Split(Filename, sDelimiter)
GetName = vArray(UBound(vArray))
End Function
Contoh penggunaan kode di atas:
Private Sub Command1_Click() 
msgbox GetName ("C:\Program Files\UI\Update.exe",FileNameOnly) 'jika ingin memperoleh filenamenya saja, dll.
End Sub
READ MORE - Module Untuk Memperoleh Nama File, Extension, Path - VB6

Mematikan (Disable) Check Spelling TextArea

Setelah selesai membahas mengenai cara membuat TextArea sederhana yang hanya melibatkan beberapa attribute/property yakni rows, cols, align, dan name, sekarang kita akan membahas mengenai cara mematikan atau men-disable-kan fasilitas Check Spelling. Apa yang dimaksud dengan Fasilitas Check Spelling pada TextArea itu?
Mengapa pada kondisi tertentu check spelling ini harus kita disable-kan? Perlu diketahui, Check Spelling adalah fasilitas yang membantu kita mengecek ejaan sehingga terhindar dari kesalahan penulisan. Tetapi bagaimana jika bahasa yang sedang kita tulis tidak didukung oleh fasilitas ini (misalnya menggunakan bahasa daerah)? yang terjadi adalah sebagian atau banyak dari tulisan akan digarisbawahi dengan warna merah. Nah, pada kondisi ini terdapat dua pilihan, menggunakan Check Spelling atau tidak. Manakah yang Anda pilih? hmm.. sepertinya Anda memilih untuk mematikan/men-disable fasilitas Check Spelling ini.

Untuk mendisable check spelling ini, kita hanya perlu menambahkan satu property/attribute yaitu spellchek=false. Property spellcheck ini memiliki data type Boolean, jadi kita hanya dapat mengisi dua nilai saja, antara TRUE dan FALSE.

Catatan: Fasilitas Check Spelling ini hanya ada pada browser tertentu.
READ MORE - Mematikan (Disable) Check Spelling TextArea

Thursday, April 14, 2011

Kamus Inggris - Menambahkan Database - Bagian ke-7

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 modData
Option 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
Catatan
Pada 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

Kamus Inggris - Splash Screen, Apakah Kegunaannya - Bagian 8

Kamus Inggris - Splash Screen, Apakah Kegunaannya merupakan kelanjutan dari bagian ke-7.
Dengan ditambahkannya database, maka pada saat dijalankan aplikasi akan memiliki jeda (Time Lag). Hal ini disebabkan aplikasi tersebut harus me-load terlebih dahulu kosakatanya, disinilah kita akan membutuhkan apa yang biasa disebut dalam pemrograman dengan Splash Screen/Form. Splash screen berguna untuk memberitahukan user bahwa aplikasi yang kita buat baik-baik saja, bukan hang. Selain itu splash screen bisa dianggap sebagai ciri khas dari aplikasi yang Anda buat, mengenai hal ini kreatifitas Anda sangat diperlukan.

Tujuan pada Bagian ke-8
Cara menampilkan splash screen dengan benar

Langkah-langkah
  • Klik menu project >> Add Form
  • Pilih Splash Screen, selanjutnya klik OK
  • Tambahkan (ganti) kode yang terdapat dalam modMain, tepat kode yang berada pada method Sub Main()
Kode-kode
Pada bagian modMain seperti yang telah disebutkan pada bagian ke-4 gantilah kode di bawah ini:
Sub Main()   
InitCommonControls
frmMain.Show
End Sub
sehingga menjadi:
Sub Main()   
InitCommonControls 'XP Style inisialisasi
frmSplash.Show 'tampilkan splash form terlebih dahulu
frmSplash.Refresh 'refresh agar tampilannya benar
Load frmMain 'load seluruh kode dalam tampilan utama
frmMain.Show 'tampilkan form utama
Unload frmSplash 'tutup splash form
End Sub
Uji Coba
  • Compile terlebih dahulu
  • Jalankan melalui Windows Explorer
  • Sekarang aplikasi akan menampilkan splash screen terlebih dahulu
READ MORE - Kamus Inggris - Splash Screen, Apakah Kegunaannya - Bagian 8