Friday, March 4, 2011

Visual Basic 6.0 - Kesalahan Penulisan Variable Yang Umum

Mengenai masalah kesalahan penulisan variable Visual Basic 6.0 yang sering ditemui - Seringkali kita menemui penulisan variable seperti di bawah ini:
Option Explicit 

Private Sub Form_Load() 
    Dim i, a, b, c, s As String    'Kode selanjutnya 
End Sub 
Penulisan variable seperti di atas seakan-akan menunjukan bahwa i, a, b, c memiliki tipe data string, Padahal dalam kenyataanya variable i, a, b, c di atas memiliki type data variant, hanya variable s saja dari contoh di atas yang memiliki type data string. Darimana kita mengetahuinya? mari kita lanjutkan.... rubahlah kode di atas sehingga menjadi:
Option Explicit 

Private Sub Form_Load() 
    Dim i, a, b, c, s As String    'Kode selanjutnya ... 
    'TypeName digunakan untuk mengetahui data type sebuah variable 
    Debug.Print TypeName(i) 'Empty -> data type variant 
    Debug.Print TypeName(b) 'Empty -> data type variant 
    Debug.Print TypeName(c) 'Empty -> data type variant 
    Debug.Print TypeName(s) 'String -> data type string 
End Sub  

Sebelum menjalankan kodenya, pijit CTRL + G untuk memunculkan Immediate Window untuk melihat hasilnya.
READ MORE - Visual Basic 6.0 - Kesalahan Penulisan Variable Yang Umum

Tuesday, March 1, 2011

VB6 Code - ToolBar, TabStrip, ListView, TreeView XP Style

Mengenai cara membuat toolbar, tabstrip, listview dengan tampilan XP tanpa kode - Bagaimana dengan ToolBar, TabStrip, TreeView, dan ListView, Apakah memungkinkan untuk dibuat style XP tanpa menggunakan kode, dan hanya menggunakan file manifest saja?

Seperti yang kita ketahui, menggunakan file manifest biasanya tidak memberikan efek/pengaruh pada komponen-komponen di atas. Tetapi coba perhatikan gambar di bawah:

Gambar 1, 2 ToolBar, TabStrip, ListView, TreeView Style XP

Bagaimana caranya? bisa Anda download file di bawah ini:

READ MORE - VB6 Code - ToolBar, TabStrip, ListView, TreeView XP Style

Monday, February 28, 2011

VB6 Code - Save As MHTML

Mengenai cara menyimpan halaman dengan format MHTML menggunakan Visual Basic 6.0 - Menyimpan file dalam format MHTML tentunya memiliki banyak keuntungan, salah satu dari banyak keuntungan tersebut ialah terintegrasinya seluruh gambar dan file dengan baik, sehingga kita bisa mendownload halaman situs/blog yang kita kunjungi utuh dengan seluruh gambarnya.
Option Explicit  

Public Function
SaveWebPageToMHTFile(url As String, filepath As String)

On Error GoTo
ErrHandler

Dim
msg As New CDO.Message
Dim
stm As New ADODB.Stream

msg.MimeFormatted = True
msg.CreateMHTMLBody url, CDO.CdoMHTMLFlags.cdoSuppressNone, "", ""
'//Pilih charset yang sesuai
stm.Charset = "utf-8"
Set
stm = msg.GetStream()
stm.SaveToFile filepath, ADODB.SaveOptionsEnum.adSaveCreateOverWrite
Set
msg = Nothing
stm.Close

Exit Function

ErrHandler:

MsgBox Err.Description

End Function
Contoh pemanggilan prosedur fungsi di atas:
Private Sub Command1_Click()  
'//Coba menyimpan file dalam bentuk MHTML </i>
SaveWebPageToMHTFile "http://www.planet-source-code.com/vb/default.asp?lngWId=1", "c:\psc.MHTML"
End Sub
Catatan: Sebelum Anda menggunakan fungsi di atas, tambahkan referensi Microsoft ActiveX Data Objects 2.8 Liblary dan Microsoft CDO for Windows 2000 Liblary
READ MORE - VB6 Code - Save As MHTML

Saturday, February 26, 2011

VB6.0 - Set Google Chrome Default Home Site Programmatically

Mendefaultkan home site IE (Internet Explorer) atau Mozilla Firefox secara pemrograman mungkin kita sudah mengetahuinya, tapi bagaimana dengan Google Chrome yang tergolong relatif masih muda untuk saat ini (2011).

Masalah mendefaultkan Google Chrome home page, hanyalah masalah merubah 1 baris kode yang terdapat pada file preferences yang terdapat pada folder: .... \Local Settings\Application Data\Google\Chrome\User Data\Default.

Atau tepatnya merubah 1 baris kode yang terdapat pada gambar di bawah ini:

Gambar 1  Kode yang dirubah pada file preferences
Di bawah ini merupakan kode untuk mendefaultkan home page Google Chrome. Letakan kode ini pada module.

'---------------------------------------------------------------------------------- 
'From: http://khoiriyyah.blogspot.com
'By: Asep Hibban
'----------------------------------------------------------------------------------
Option Explicit

Public Sub
SetChromeHomepage(URL As String)

Dim
strPath As String, strProfile As String
Dim
strContent As String, strReplace As String
Dim
regex As RegExp, strSystemDrive As String

strPath = Environ("SystemDrive") & Environ("HOMEPATH")
strPath = strPath & "\Local Settings\Application Data\Google\Chrome\User Data\Default"
strProfile = Dir(strPath, vbDirectory)
Debug.Print strPath
If Len(strPath) Then
strPath = strPath & "\Preferences"
strReplace = Chr(34) & "homepage" & Chr(34) & ": " & Chr(34) & URL & Chr(34) & ","
strContent = fGetFileContents(strPath)
Set regex = New RegExp
If InStr(1, strContent, Chr(34) & "homepage" & Chr(34)) = 0 Then
strContent = strContent & vbCrLf & Chr(34) & "homepage" & Chr(34) & ": " & Chr(34) & URL & Chr(34) & ","
sPutStringToFile strContent, strPath
Exit Sub
ElseIf
InStr(1, strContent, strReplace) Then
Exit Sub
End If
'tidak bisa direplace menggunakan replace biasa
'maka kita gunakan regular expressions untuk keperluan ini
regex.Pattern = Chr(34) & "homepage" & Chr(34) & ": .*)"

strContent = regex.Replace(strContent, strReplace)
strContent = Replace(strContent, Chr(34) & "homepage_is_newtabpage" & Chr(34) & ": true,", vbCrLf & Chr(34) & "homepage_is_newtabpage" & Chr(34) & ": false,")
sPutStringToFile strContent, strPath

End If
End Sub

Public Function
fGetFileContents(strPath As String) As String
Dim
hFile As Integer
Dim
strFileContent As String


If
Len(Dir(strPath)) = 0 Then Exit Function

On Error GoTo
ErrGetFile
hFile = FreeFile

Open
strPath For Binary As #hFile
strFileContent = Space(LOF(hFile))
Get #hFile, , strFileContent
Close #hFile

fGetFileContents = strFileContent
Exit Function

ErrGetFile:

Close
MsgBox Err.Description, vbCritical, "GetFileContents"

End Function

Public Sub
sPutStringToFile(strContent As String, strPath As String)
Dim hFile As Integer

'If file exists delete it.
On Error Resume Next
Kill
strPath
On Error GoTo ErrPutString

'Write file
hFile = FreeFile
Open
strPath For Binary As #hFile
Put #hFile, , strContent
Close #hFile

Exit Sub

ErrPutString:

Close #hFile
MsgBox Err.Description, vbCritical, "PutStringToFile"

End Sub
Contoh pemanggilan prosedure di atas:
Private Sub Command1_Click() 
SetChromeHomepage "http://khoiriyyah.blogspot.com"
End Sub
READ MORE - VB6.0 - Set Google Chrome Default Home Site Programmatically