Thursday, December 20, 2012

VB6 Code: Menggunakan ( := ) dalam Coding VB6

Apabila Anda sering bekerja dengan pemrograman macro yang terdapat dalam Microsoft Office , entah itu macro yang ada dalam Microsoft Office 97, Microsoft Office 2000, Microsoft Office 2003, Microsoft Office 2007, dan Microsoft Office seterusnya, tentu Anda sudah tidak asing lagi dengan := (titik dua sama dengan).

Dikarenakan VB6 identik dengan VBA office dalam artian keduanya menggunakan bahasa yang sama, kebutuhan runtime file yang sama, dan sebagainya (yang berbeda hanya objek-objek saja), maka apa yang ada dalam VBA tentu bisa dijalankan dalam VB6. Salah satunya adalah tanda (:=) walau jarang sekali melihatnya dalam pengkodean VB6.

Tanda (:=) merupakan pemberitahuan kepada compiler bahwa sebuah argumen optional telah diisi dengan nilai tertentu. Agar lebih jelasnya berikut merupakan contoh sebuah function yang memiliki 26 argument optional (argumen yang memiliki 2 opsi, boleh diisi atau tidak):

Option Explicit

'Sebuah function dengan 26 argument, nama argument dari a s/d z
Private Function Test(Optional a, Optional b, Optional c, Optional d, Optional e _
, Optional f, Optional g, Optional h, Optional i, Optional j, Optional k, Optional l _
, Optional m, Optional n, Optional o, Optional p, Optional q, Optional r, Optional s _
, Optional t, Optional u, Optional v, Optional w, Optional x, Optional y, Optional z)
    MsgBox o
    MsgBox z
    'Kode dan seterusnya
End Function
Maka untuk memanggil fungsi di atas bisa seperti ini:
Private Sub Command1_Click()
    Call Test(, , , , , , , , , , , , , , 6, , , , , , , , , , , 1)
End Sub
Atau seperti ini:
Private Sub Command2_Click()
    Call Test(o:=6, z:=1) 'Call disini berguna untuk memudahkan pembacaan kode
End Sub
Atau seperti ini (dengan membalikan, argumen z di depan dan argumen o di belakang):
Private Sub Command3_Click()
     Call Test(z:=1, o:=6)
End Sub
Atau seperti ini (tanpa call):
Private Sub Command4_Click()
     Test z:=1, o:=6 'tanpa Call juga bisa berjalan kok
End Sub
Mana yang menurut Anda praktis?