Tuesday, June 12, 2012

Mendapat Seluruh Kode Yang Terdapat Pada CodeModule - Add-Ins

Di bawah merupakan fungsi untuk memperoleh seluruh kode dari baris pertama hingga baris terakhir - Bermanfaat terutama untuk meng-crop kode-kode sample dan memasukannya ke dalam snippet database.
Public VBInstance As VBIDE.VBE 
Public Connect As Connect

Option Explicit

Private Sub
CancelButton_Click()
Connect.Hide
End Sub

Private Sub
OKButton_Click()
MsgBox GetCodeModule("Form1")
End Sub

Private Function
GetCodeModule(s As String) As String
Dim
cd As CodeModule
Set cd = VBInstance.ActiveVBProject.VBComponents(s).CodeModule
GetCodeModule = cd.Lines(1, cd.CountOfLines)
End Function
READ MORE - Mendapat Seluruh Kode Yang Terdapat Pada CodeModule - Add-Ins

Cara Membuat Form Transparan Menggunakan VB6

Kode di bawah digunakan untuk menjadikan sebuah form menjadi transparan, tetapi dengan kontrol-kontrol (CommandButton, TextBox, ComboBox, dll) yang tidak transparan (opaque).

Bagaimanakah kode untuk membuat form transparant ini:
Option Explicit 

Private Declare Function
GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function
SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function
SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Private Const
GWL_STYLE = (-16)
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2

Public Function
MakeTransparentForm(frm As Form)
frm.BackColor = vbBlue
SetWindowLong frm.hwnd, GWL_EXSTYLE, GetWindowLong(frm.hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED
SetLayeredWindowAttributes frm.hwnd, vbBlue, 0&, LWA_COLORKEY
End Function

Contoh penggunaan kode form transparant:
Private Sub Form_Load() 
MakeTransparentForm Me
End Sub

Demikianlah semoga kode membuat form menjadi transparant di atas bermanfaat. selamat mencoba!
READ MORE - Cara Membuat Form Transparan Menggunakan VB6

Bagaimana cara menjalankan Speech Properties Dialog - VB6

Karena Speech Properties dialog tidak terdapat dalam Windows\System32 maka untuk memanggilnya, Kita memerlukan kode di bawah:
Option Explicit 
 
Private Sub Command1_Click() 
    Shell "rundll32.exe shell32.dll,Control_RunDLL " & Chr(34) & "c:\program files\common files\microsoft shared\speech\sapi.cpl" & Chr(34) 
End Sub 
Perhatikan kode di atas, pathnya diapit oleh chr(34). Selain menggunakan chr(34) kita bisa juga menggunakan '"""' atau mengkonversi path menjadi format DOS 8.3 seperti yang telah ditulis terdahulu.
READ MORE - Bagaimana cara menjalankan Speech Properties Dialog - VB6

Monday, June 11, 2012

Twitter OAuth 1.0a: Digital Signature - Base String - VB6

Dalam Twitter OAuth 1.0, setiap kita melakukan request ke twitter.com maka tiap-tiap request harus disertai dengan digital signature sebagai bukti otentifikasi dan otorisasi. Adapun digital signature tersebut adalah hasil dari hash (one way encrypt):HMAC-SHA1 (BaseString + Key).Adapun Key adalah gabungan dari: (ConsumerSecret + AccessTokenSecret)

Nah disini saya menjelaskan bagaimana merakit/membuat BaseString untuk men-generate digital signature melalui VB6 seperti yang telah dijelaskan di atas:

Private Function GetTwitterBaseString() As String

Dim strURL As String
Dim strBaseString As String
strURL = "http://api.twitter.com/1/statuses/update.json"

strBaseString = txtMethod & _
"&" & UrlEncodeUtf8(txtURL.Text)
strQuery = HSA1.URLEncode("oauth_consumer_key=" & txtConsumerKey.Text) & _
UrlEncodeUtf8("&oauth_nonce=" & txtNonce.Text) & _
UrlEncodeUtf8("&oauth_signature_method=" & txtSignatureMethod.Text) & _
UrlEncodeUtf8("&oauth_timestamp=" & txtTimeStamp.Text) & _
UrlEncodeUtf8("&oauth_token=" & txtToken.Text) & _
UrlEncodeUtf8("&oauth_version=" & txtVersion.Text)
strParameter = HSA1.URLEncode("&status=" & UrlEncodeUtf8(strURL))
GetTwitterBaseString = strBaseString & "&" & strQuery & strParameter

End Function
Demikian BaseString Twitter OAuth 1.0 melalui VB6. Semoga bermanfaat. Apabila kita gagal mengirim tweet ke twitter menggunakan OAuth 1.0, mungkin bisa kita ganti dengan OhOut atau lebih tepatnya Oh Out Of Memory (OOM), mengenai artikel OOM bisa Anda baca di sini.
READ MORE - Twitter OAuth 1.0a: Digital Signature - Base String - VB6