Tuesday, May 29, 2012

On Error Resume Next, On Error GoTo Line, On Error GoTo 0

Kalau boleh dikatakan, hampir tidak ada di dunia ini software yang tidak memiliki error. Hampir seluruhnya memiliki error. Hanya permasalahannya, bagaimana software tersebut dapat menangani error, seberapa baik ia dapat menangani error. Penanganan error, dalam pemrograman VB6 disebut juga handle error.

Berbicara mengenai Statement On Error dalam VB6, terdapat tiga syntax error yang mewakili, masing-masing memiliki kegunaan tersendiri, yaitu:
  • On Error Resume Next
  • On Error Goto Line
  • On Error Goto 0
Baiklah, sekarang kita akan menjelaskan masing-masing kegunaan tiga yang di atas.

Penjelasan Mengenai On Error Resume Next
Penggunaan On Error Resume Next bertujuan agar sebuah procedure tidak menghandle error pada saat terjadi error dalam tubuh procedure tersebut, dengan kata lain pada saat sebuah line/baris code terjadi error maka ia akan melewati line code yang error tersebut, perhatikan kode di bawah:
Option Explicit 

Private Sub
Command1_Click()
1: Dim i As Integer 'deklarasi variable i dengan data type integer
2: i = "test" 'error! karena integer tidak dapat di isi dengan string
'program berhenti di sini, fatal error, dan keluar.
3: MsgBox i 'baris ini tidak pernah dijalankan (eksekusi)
End Sub
Sekarang, bandingkan dengan kode di bawah yang sudah dilengkapi dengan On Error Resume Next
Option Explicit 

Private Sub
Command1_Click()
1: On Error Resume Next 'lewati baris error, jika ada
2: Dim i As Integer 'deklarasi variable i dengan data type integer
3: i = "test" 'error! karena integer tidak dapat di isi dengan string
'program dilanjutkan dengan melewati baris yang ke-3:
4: MsgBox i 'baris ini akan dijalankan
End Sub

Penjelasan Mengenai On Error Goto Line
On Error Goto Line kegunaannya untuk menghandle error/melewati error dengan cara melewatinya dan menuju pada baris yang dituju.
Option Explicit 

Private Sub
Command1_Click()
1: On Error GoTo ErrHandler 'apabila error maka loncat ke ErrHandler:
2: Dim i As Integer 'deklarasi variable i dengan data type integer
3: i = "test" 'error! karena integer tidak dapat di isi dengan string
4: MsgBox i 'akan dilewati, dan loncat ke ErrHandler:
5: Exit Sub
ErrHandler:
6: MsgBox Err.Description 'line ini akan dijalankan
End Sub

Penjelasaan Mengenai On Error GoTo 0
On error goto 0 kegunaannya untuk menggagalkan handle error.
Option Explicit 

Private Sub
Command1_Click()
1: On Error GoTo ErrHandler 'lewati baris error, jika ada
2: Dim i As Integer 'deklarasi variable i dengan data type integer
3: On Error GoTo 0 'menggagalkan ErrHandler di atas
4: i = "test" 'error! karena integer tidak dapat di isi dengan string
5: MsgBox i 'akan dijalankan
6: Exit Sub
ErrHandler:
7: MsgBox Err.Description 'baris ini tidak akan dijalankan
End Sub


READ MORE - On Error Resume Next, On Error GoTo Line, On Error GoTo 0

Kamus Inggris - Fasilitas Pemindai Kosakata - Bagian ke-10

Kamus Inggris - Fasilitas Pemindai Kosakata merupakan kelanjutan dari bagian ke-9.
Pada bagian ini, kita akan melengkapi aplikasi software kamus dengan fasilitas pemindai kosakata. Dengan adanya fasilitas ini, maka pada saat kita menggerakan pointer mouse pada objek RichTextBox aplikasi akan secara otomatis mencari padanan kata tersebut. Ini tentu saja akan menghemat tangan Anda dari mengetikan kosakata di atas TextBox pencarian.

Tujuan pada Bagian ke-10
Mencari padanan kata secara otomatis dengan menggerakan pointer mouse di atas kata yang dicari.

Langkah-langkah
  • Tambahkan objek RichTextBox pada aplikasi dengan cara mengklik menu projcet >> Components, selanjutnya centanglah Microsoft Rich TextBox Control 6.0.
  • Hapuslah TextBox (Text1 yang terdapat pada frmMain) dan gantilah dengan objek RichTextBox
  • Ganti nama RichTextBox1 (nama default pada saat ditambahkan pada form) dengan Text1
  • Buat module baru dan beri nama modRichTextBox.
Kode-kode
  • Copy dan paste-kan kode ini pada module modRichTextBox (module yang baru dibuat)
  • Tambahkan variable baru strWordOver di bawah Option Explicit pada frmMain
  • Tambahkan kode di bawah pada frmMain:
Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) 
strWordOver = RichWordOver(Text1, x, y)
If Trim(strWordOver) = "" Then Exit Sub
If
Text3.Text <> strWordOver Then
Text3.Text = strWordOver
End If
End Sub
Uji Coba
  • Compile dan jalankan melalui Windows Explorer
  • Copy sembarang text berbahasa Inggris
  • Gerakan pointer mouse pada RichTextBox (Text1) di atas kata yang dicari.
READ MORE - Kamus Inggris - Fasilitas Pemindai Kosakata - Bagian ke-10

Kamus Inggris Selesai - Bagian ke-11

Akhirnya, setelah kita berbicara panjang lebar mengenai membuat software Kamus Bahasa Inggris dari bagian ke-1 sampai bagian ke-10, tibalah saatnya untuk mem-package project Kamus Inggris yang telah kita buat. Dalam hal ini saya menggunakan Installer InnoSetup, sebuah tools installer yang dikembangkan oleh Jordan Russell.

Fitur-Fitur Kamus Inggris 1.0:

Keistimewaan:
  1. Menemukan kosakata dengan kecepatan tinggi.
  2. Auto Complete, user akan mengetahui dengan tepat kata yang sedang dicari, walaupun hanya mengetikan beberapa huruf.
  3. Pencarian otomatis, ini akan menghemat waktu Anda, tanpa harus mengetik seluruh kata secara sempurna.
  4. Popup Windows, menampilkan aplikasi ke depan tanpa harus mengklik taskbar, atau menghidupkan fasilitas Always On Top.
  5. Pemindai kosakata pada RichTextBox yang terdapat dalam aplikasi, Copy text dalam bahasa Inggris dan gerakan pointer mouse pada kosakata yang tidak diketahui artinya, maka secara otomatis aplikasi akan menemukan padanan katanya.
Kekurangan:
  1. Kosakata hanya berjumlah 23 ribu lebih. Untuk disebut memadai ia harus memiliki 50.000-an kosakata. Bagaimana mengatasi ini?
  2. Hanya dapat menterjemahkan Inggris ke Indonesia saja, tidak sebaliknya.
  3. Belum dilengkapi frase. Ini akan sangat menyulitkan dalam mencari padanan kata yang tepat.
  4. Terlampau sederhana, bahkan tidak memiliki label sama sekali.
  5. Tampilan yang belum bisa dikatakan enak dipandang.
  6. Dan masih banyak lagi, silakan Anda tambahkan saja kekurangan-kekurangannya.
Kekurangan dalam project/kode:
  1. Objek-objek masih dalam nama default, Misalnya Text1, seharusnya txtPencarian. Nama-nama default tersebut tentu saja akan membingungkan.
  2. Komponen hanya menggunakan komponen default VB, ini menyebabkan tampilannya tidak menarik.
  3. Dan lain-lain, Anda tambahkan saja kekurangan-kekurangannya.
Download: Kamus Inggris 1.0
READ MORE - Kamus Inggris Selesai - Bagian ke-11

VB6 Crash Pada Saat Keluar, Cara Mengatasinya?

Pernahkan Anda mengalami crash..entahlah. Pernahkah aplikasi VB6 Anda mengalami crash pada saat keluar? Padahal Anda sudah memastikan VB6 yang sedang Anda gunakan tidak sedang terinfeksi malware. Bahkan pada saat hanya membuka VB6 dan menutupnya kembali tanpa melakukan apa-apa (mis. me-load project) VB6 tetap saja crash, apakah penyebabnya?

Ikuti langkah-langkah berikut ini:
  • Klik menu Add-Ins >> Add-Ins Manager...
  • Tutuplah seluruh aplikasi Add-Ins yang sedang berjalan dengan cara menghilangkan tanda centang pada Loaded/Unloaded, Load on Startup, dan Command Line.
  • Sekarang tutuplah aplikasi VB6. Apakah masih crash?
READ MORE - VB6 Crash Pada Saat Keluar, Cara Mengatasinya?