Monday, March 14, 2011

Kamus Inggris - Membuat Project Baru - Bagian Ke-2

Kamus Inggris - Membuat Project Baru merupakan kelanjutan dari Bagian ke-1.
Selanjutnya untuk membuat software menggunakan VB6, yang harus kita lakukan adalah membuat project baru.

Tujuan:
  • Membuat project baru menggunakan VB6
  • Menambahkan kemampuan copy text yang berasal dari Clipboard
Langkah-langkah:
  • Buat project baru
  • Tambahkan 2 TextBox, 1 ListBox, 1 Timer
  • Rubahlah property Interval pada Timer1 = 1
  • Ganti nama Project1 menjadi prjKamus
  • Ganti nama Form1 menjadi frmMain
  • Modifikasi ukuran-ukurannya, sehingga terlihat seperti gambar di bawah.
  • Simpanlah dalam folder, beri nama folder itu dengan Project Kamus Inggris
Kode-kode:
'simpan (copy dan pastekan) kode di bawah ini dalam frmMain 
Option Explicit

Dim
strFromClipboard As String

Private Sub
Timer1_Timer()
Dim s As String
s =
Clipboard.GetText
If s <> strFromClipboard Then
strFromClipboard = s
Text1.Text = strFromClipboard
End If
End Sub
Uji Coba:
  • Jalankan project yang baru kita buat dengan cara menekan tombol F5 atau mengklik tombol start yang terdapat pada toolbar VB6.
  • Copy sembarang text, maka text yang telah dicopy tadi secara otomatis akan masuk ke dalam Text1


READ MORE - Kamus Inggris - Membuat Project Baru - Bagian Ke-2

Kamus Inggris - Handle Error 521 dan Parse Text - Bagian 3

Kamus Inggris - Handle Error 521 merupakan kelanjutan dari Bagian ke-2.
Ternyata kode yang sangat sedikit yang terdapat pada bagian ke-2 menyisakan bug, terkadang ia memunculkan error yaitu Error Number = 521 Error Description = "Unable to open clipboard"

Tujuan pada bagian ke-3:
  • Meng-handle dan mengkoreksi Error 521
  • Mem-parse text dan menambahkannya ke dalam objek ListBox
  • Memfilter hanya karakter yang valid untuk diterjemahkan
Langkah-langkah:
  • Singkat saja, ganti seluruh kode yang terdapat pada bagian ke-1 (Error 521) dengan kode yang terdapat pada bagian kode-kode.
Kode-kode:
Option Explicit 

Private Declare Function
EmptyClipboard Lib "user32" ) As Long 'API Function
Dim strFromClipboard As String

'---------------------------------------------------------------------------------
' Copy text dari clipboard dan masukan ke dalam objek TextBox
' dengan men-trigger secara kontinyu menggunakan bantuan timer
'---------------------------------------------------------------------------------
Private Sub Timer1_Timer()

On Error GoTo
ErrHandler 'apabila error loncat ke Handle Error

Dim s As String

s =
Clipboard.GetText 'baris ini terkadang error |Error Number = 521|

If s
<> strFromClipboard Then
ParsingText s, List1
strFromClipboard = s
Text1.Text = strFromClipboard
End If

Exit Sub

ErrHandler:
'Handle Error
If Err.Number = 521 Then 'Can't open the clipboard
Text1.Text = ""
EmptyClipboard 'paksa kosongkan clipboard dengan Fungsi API
Resume Next 'loncat lagi ke baris atas dan lanjutkan eksekusi membaca kode)
End If

End Sub

'--------------------------------------------------------------------------------
' dua event List1_Click() dan Text_DblClick()
' dengan kode sementara, hanya untuk mengecek dan melihat hasilnya saja
'--------------------------------------------------------------------------------
Private Sub List1_Click()
Text2.Text = "Menterjemahkan : " & List1.Text & " ==> ke dalam bahasa Inggris"
End Sub

Private Sub
Text1_DblClick()
Text2.Text = "Menterjemahkan : " & Text1.SelText & " ==> ke dalam bahasa Inggris"
End Sub

'---------------------------------------------------------------------------------
' Fungsi untuk Parse uraikan) kalimat ke dalam text dan masukan ke ListBox
'---------------------------------------------------------------------------------
Private Sub ParsingText(s As String, lst As ListBox)

Dim
strText As String
Dim
y() As String
Dim i As Integer
Dim b As String

lst.Clear
strText = s
strText = Replace(strText, " ", vbCrLf)
y = Split(strText, vbCrLf)

For i =
LBound(y) To UBound(y)
b = Trim(y(i))
If IsValidWord(b) Then
lst.AddItem y(i)
End If
Next

End Sub

'-------------------------------------------------------------------------------
' Fungsi untuk memfilter karakter yang tidak valid diterjemahkan
'-------------------------------------------------------------------------------
Private Function IsValidWord(s As String) As Boolean

Dim x As String
Dim z As String

z =
"= - , . % *" 'tambahkan karakter tidak valid untuk diterjemahkan disini
x = s
If
Len(x) = 0 Then Exit Function
If
InStr(1, z, s) > 0 Then Exit Function
IsValidWord = True

End Function

'-------------------------------------------------------------------------------
' == End All Of Code ==
'-------------------------------------------------------------------------------
Uji Coba:
Jalankan, copy sembarang text dan klik sembarang item yang terdapat pada ListBox, apabila berhasil maka gambarnya seperti yang ada di samping [ScreenShot]

Mas, saya mau bertanya, apakah ini sedang membuat software Kamus Bahasa Inggris atau sedang membuat Rencana Pelaksaan Pembelajaran (RPP)?
READ MORE - Kamus Inggris - Handle Error 521 dan Parse Text - Bagian 3

Kamus Inggris - XP Style Manifest Dalam EXE - Bagian Ke-4

Kamus Inggris - XP Style Manifest Dalam EXE merupakan sambungan dari bagian ke-3.
Agar aplikasi yang kita buat memiliki theme XP style, maka cara yang termudah adalah menambahkan file manifest. Di antara beberapa cara menambahkan file manifest, maka menambahkannya langsung melalui file exe dianggap cara yang paling elegant, mengapa demikian? karena user tidak akan pernah melihat file manifest tersebut, baik file manifest dengan atribute normal, maupun manifest dengan atribute hidden (hidden file).

Tujuan pada bagian ke-4:
  • Menanam file manifest ke dalam exe, agar aplikasi memiliki theme XP Style.
  • Menjadikan Sub Main sebagai Startup Object
Langkah-langkah:
  • Buatlah manifest resource, jika tidak mau repot membuat manifest resource, Anda bisa mendownloadnya di sini.
  • Pada aplikasi VB6, klik Project >> Add File...
  • Tambahkan manifest resource file yang telah Anda buat atau Anda download tadi.
  • Buat module baru dan beri nama modMain (mod adalah prefix untuk module)
  • Tambahkan fungsi API InitCommonControls (akan dibahas pada bagian kode-kode)
  • Jadikan Sub Main() sebagai Startup Object
Kode-kode:
'simpan kode di bawah pada module modMain 
Option Explicit

Public Declare Sub
InitCommonControls Lib "Comctl32" )

Sub
Main()
InitCommonControls
frmMain.Show
End Sub
Uji Coba:
  • Compile Project (Klik File >> Make Kamus Inggris.exe)
  • Jalankan Kamus Inggris.exe melalui Windows Explorer, sekarang Anda lihat bahwa Kamus Inggris.exe memiliki theme XP Style.
Catatan:
Selain untuk aplikasi ini, menanam resource manifest juga bisa digunakan untuk aplikasi-aplikasi yang dibuat menggunakan Visual Basic 6.0 agar memiliki theme XP Style. Semoga bermanfaat.
READ MORE - Kamus Inggris - XP Style Manifest Dalam EXE - Bagian Ke-4