Sunday, May 22, 2011

Menguji Kode Project Add-Ins Tanpa Compile - Add-Ins VB6

Menjelaskan mengenai cara menguji kode yang terdapat pada sebuah Addins tanpa compile - Apabila kita hanya bermaksud menguji, melihat kinerja serta men-debug sebuah project Addins tanpa bermaksud mengcompilenya menjadi sebuah DLL, maka yang harus kita lakukan adalah menjalankan (run) project Addin tersebut dengan mengklik tombol run atau tombol keyboard F5 (biarkan), selanjutnya buka Aplikasi baru (terpisah dari project Addin yang telah dijalankan) dan buatlah sebuah project baru (Standard Exe misalnya), klik menu Add-Ins, maka pada sub menu akan terdapat menu My Addin.

Efek samping menjalankan project addins tanpa compile:
  1. MessageBox (apabila project addins tersebut menampilkan MessageBox) tidak akan tampil ke depan.
  2. Kecepatan eksekusi kode berkurang antara 25 - 100 kali (sangat signifikan)
  3. dan lain sebagainya.
READ MORE - Menguji Kode Project Add-Ins Tanpa Compile - Add-Ins VB6

Menambah Module Yang Disertai Kode Melalui VB6 Add-Ins

Menjelaskan mengenai cara menambah module melalui Visual Basic 6 Add-Ins - Sebelumnya saya telah memposting mengenai cara menambah Form, Menu, CommandButton, menambah referensi komponen OCX dan DLL melalui pemrograman Add-Ins, maka untuk melengkapi mengenai cara membuat robot software atau generator code tentulah harus dapat menambahkan Module, Class, UserControl, Resource, dsb.

Untuk menjalankan kode di bawah, ikuti langkah-langkah berikut:
  1. Buat project Add-Ins baru dengan cara Klik File, klik New Project, klik Addin
  2. Gantilah seluruh kode yang terdapat pada frmAddin dengan kode di bawah
  3. Lakukan compile dengan cara klik File, klik Make MyAddin.dll
  4. Simpan project, dan tutuplah aplikasi Visual Basic 6

Public VBInstance As VBIDE.VBE 
Public Connect As Connect

Option Explicit

Private Sub
CancelButton_Click()
Connect.Hide
End Sub

Private Sub
OKButton_Click()
AddModule "moDatabase", ConnectionCode
End Sub

Public Function
AddModule(ModulName As String, Optional strCode As String) As Boolean

Dim
newModule As VBComponent

On Error GoTo
ErrHandler

Set
newModule = VBInstance.ActiveVBProject.VBComponents.Add(vbext_ct_StdModule)
With newModule
.Name = ModulName
.CodeModule.AddFromString strCode
End With
Exit Function

ErrHandler:

MsgBox Err.Description

End Function

Private Function
ConnectionCode() As String
Dim
sMsg As String
sMsg = sMsg & "" & vbCrLf
sMsg = sMsg & "Public conn As ADODB.Connection" & vbCrLf
sMsg = sMsg & "" & vbCrLf
sMsg = sMsg & "Public Function OpenDatabase(Filename As String) As Boolean" & vbCrLf
sMsg = sMsg & "" & vbCrLf
sMsg = sMsg & " Dim c As String" & vbCrLf
sMsg = sMsg & " " & vbCrLf
sMsg = sMsg & " On Error GoTo ErrHandler" & vbCrLf
sMsg = sMsg & " " & vbCrLf
sMsg = sMsg & " c = " & Chr(34) & "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Chr(34) & " & Filename" & vbCrLf
sMsg = sMsg & " " & vbCrLf
sMsg = sMsg & " Set conn = New ADODB.Connection" & vbCrLf
sMsg = sMsg & " conn.ConnectionString = c" & vbCrLf
sMsg = sMsg & " conn.Open" & vbCrLf
sMsg = sMsg & " " & vbCrLf
sMsg = sMsg & " OpenDatabase = True" & vbCrLf
sMsg = sMsg & " Exit Function" & vbCrLf
sMsg = sMsg & "" & vbCrLf
sMsg = sMsg & "ErrHandler:" & vbCrLf
sMsg = sMsg & " " & vbCrLf
sMsg = sMsg & " OpenDatabase = False" & vbCrLf
sMsg = sMsg & " " & vbCrLf
sMsg = sMsg & "End Function" & vbCrLf
ConnectionCode = sMsg
End Function

Untuk mengakses MyAddin.dll, buka project baru klik Add-in Addin Manager.... klik My Add-in, selanjutnya tekanlah tombol OK dan lihatlah hasilnya.
READ MORE - Menambah Module Yang Disertai Kode Melalui VB6 Add-Ins

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