Friday, June 8, 2012

Cara Membuat Prosedure Generator Nama Secara Acak (Random)

Fungsi untuk membuat nama secara random (acak) - Di bawah ini merupakan prosedur yang digunakan untuk membuat nama secara acak, fungsi ini memiliki satu parameter untuk mengatur jumlah huruf yang akan digenerate, sedangkan nilai defaultnya adalah 4 huruf. Bagaimana fungsi generator nama secara acak atau random, bisa Anda lihat di bawah ini:
Option Explicit 

Private Function
NamaAcak(Optional k As Integer = 4) As String
Dim
s(1) As String, l As String
Randomize
s(0) = ("aiueo")
s(1) = ("bcdfghjklmnpqrstvwxyz")
For i = 1 To k
l = l
& Mid(s(i Mod 2), Int((4 * Rnd) + 1), 1)
Next
NamaAcak = l
End Function
Contoh penggunaan fungsi di atas:
Private Sub Command1_Click() 
MsgBox NamaAcak(10) 'menampilkan nama acak yang memiliki jumlah huruf 10
'sedangkan contoh di bawah akan mengenerate 20 nama acak
'dengan jumlah huruf 10 karakter
Dim i As Integer
List1.Clear
For i = 1 To 20
List1.AddItem NamaAcak(6)
Next
End Sub
Apakah kegunaan dari generator nama secara acak/random ini? saya juga tidak tahu, mungkin Anda tahu?
READ MORE - Cara Membuat Prosedure Generator Nama Secara Acak (Random)

Spoiler Kode Seperti Yang Terdapat pada Spoiler Wikipedia?

Mengenai cara membuat spoiler seperti yang terdapat pada Wikipedia. Untuk menjalankannya copy dan pastekan kode di bawah ini, selanjutnya gantilah Spoiler Title: dan Text Spoiler.
<div style="padding: 10px; border:1px solid #ccc;background:#f9f9f9"><div style="margin-bottom: 0px;font-family: arial;font-size:12px;"><b>Spoiler Title:</b><input value="Show" style="border:0px solid #000;margin:0px;color:#0000FF;font-family: arial; font-size: 12px; height:16; background:#f9f9f9" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show'; }" type="button"> </div><div style="margin: 0 10px 0px 10px; padding: 0px; border: 0px inset #fff;"><div style='display:none'><br/>Text Spoiler</div></div></div>
Demo spoiler code ala Wikipedia:
Enhanced Pair-Bi:
'simpan kode di bawah pada Form 
Option Explicit 
'buatlah satu project dengan 1 Form, 1 CommandButton, 1 TextBox 
Private Sub Command1_Click() 
    Dim g As String 
    Dim i As Integer 
    Dim s() As String 
    Dim x As String 
    g = Text1.Text 
    g = RemoveEndCrlf(g) 
    If Trim(g) = "" Then Exit Sub 
    If InStr(1, g, "<b></b>") > 0 Then 
        g = Replace(g, "<b></b>", "") 
        Text1.Text = RemoveEndCrlf(g) 
        Exit Sub 
    Else 
        s = Split(g, vbCrLf) 
        For i = 0 To UBound(s) 
            x = x & "<b></b>" & s(i) & vbCrLf 
        Next 
    End If 
    Text1.Text = RemoveEndCrlf(x) 
End Sub 
 
'fungsi di bawah digunakan untuk menghilangkan karakter CRLF 
'yang terdapat pada akhir kode 
Private Function RemoveEndCrlf(s As String) 
    Dim str As String 
    str = s 
    If Right(str, 2) = vbCrLf Then 
        Do While Right(str, 2) = vbCrLf 
            str = Left(str, Len(str) - 2) 
        Loop 
    End If 
    RemoveEndCrlf = str 
End Function 
Selain menggunakan untuk text spoiler juga bisa digunakan untuk menampilkan dan menyembunyikan gambar.

Catatan Penting: kode-kode HTML/XML yang akan dijalankan (bukan tulisan [ seperti kode spoiler di atas]) harus dibuat satu baris, mengapa demikian?
READ MORE - Spoiler Kode Seperti Yang Terdapat pada Spoiler Wikipedia?

VB6 Code - Mengambil URL Dari Address Bar IE

Mengenai cara mengambil URL dari adress bar yang terdapat pada IE menggunakan fungsi API, dengan melakukan spy terhadap HWND induk dan turunannya. Selain dengan API di bawah ini, kita pun bisa mengambil URL yang terdapat pada adress bar IE atau Firefox dengan menggunakan DDE.
Option Explicit 
Private Declare Function
FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function
SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const
WM_GETTEXT = &HD
Private Const WM_GETTEXTLENGTH = &HE

Private Sub
FindIt(ByVal sClassName As String)
On Error GoTo CallErrorA
lhWnd = FindWindowEx(lhWnd, 0, sClassName, vbNullString)
End Sub
Private Function
GetAddressText() As String
On Error GoTo
CallErrorA
Dim usText() As Byte
Dim
iPos As Integer
lhWnd = 0
Call FindIt("IEFrame")
Call FindIt("WorkerA")
Call FindIt("ReBarWindow32")
Call FindIt("ComboBoxEx32")
Call FindIt("ComboBox")
Call FindIt("Edit")
ReDim usText(0 To SendMessage(lhWnd, WM_GETTEXTLENGTH, 0, ByVal 0&) + 1)
If
UBound(usText) = 1 Then
GetAddressText = ""
Else
usText(0) = UBound(usText) And 255
usText(1) = UBound(usText) 256
Call SendMessage(lhWnd, WM_GETTEXT, UBound(usText), usText(0))
GetAddressText = StrConv(usText, vbUnicode)
iPos = InStr(GetAddressText, vbNullChar)
If iPos > 0 Then GetAddressText = Left(GetAddressText, iPos - 1)
End If
End Function
READ MORE - VB6 Code - Mengambil URL Dari Address Bar IE

Cara Membuat Direktori lebih dari 1 level - (Pengelolaan Fil

Fungsi yang menjelaskan mengenai cara membuat direktori lebih dari satu level, 2, 3 dan seterusnya - Mengenai kode membuat direktori lebih dari 1 level bisa Anda lihat di bawah ini:
Option Explicit 

Private Function
CreateDir(strDir As String) As Boolean
On Error Resume Next
Dim
s() As String
s =
Split(strDir, "\")
Dim i As Integer
For i =
1 To UBound(s)
s(0) = s(0) & "\" & s(i)
MkDir s(0)
Next
End Function

'contoh penggunaan fungsi di atas
Private Sub Command1_Click()
CreateDir "C:\test1\test2\test3\test4 dan test5\test6\test7 dan test8"
End Sub
READ MORE - Cara Membuat Direktori lebih dari 1 level - (Pengelolaan Fil