PEMROGRAMAN API [Passing
Parameters]
Passing Parameters
n Ada
beberapa detail yang seharusnya kita perhatikan dalam passing parameter kepada
API function
n ByVal
ataupun ByRef tidak masalah, sebab VB API Text Viewer mendeklarasikan parameter
function sebagaimana API menginginkannya
n Umumnya,
ketika value dipassing ByVal, maka nilanya-lah yang dipassing.
n Begitu
juga ketika ByRef, maka alamatnya-lah yang dipassing
n Satu-satunya
type yang seharusnya kita perhatikan adalah Any
n Mem-passing
String ke dalam API
n API
mendapatkan alamat dari karakter pertama dalam string, kemudian membaca
karakter berikutnya hingga mencapai null
n Ingatlah
untuk selalu memassing String secara ByRef
n Kita
menginginkan untuk mendapatkan return value dari suatu function
n CONTOHNYA…
Declare
Function GetComputerName Lib "kernel32" Alias
"GetComputerNameA"
(
ByVal
lpBuffer As String,
nSize
As Long
)
As Long
n Parameter
pertama adalah long pointer ke String
n Parameter
kedua adalah panjang string.
n Jika
anda mendeklarasikan variabel sebagai string kemudian mem-passingkan ke dalam
function, error muncul
n Solusinya
adalah inisialisasikan dulu
Contoh:
Dim
Buffer As String
Buffer = Space(255)
Ret& = GetComputerName(Buffer, Len(Buffer))
Buffer = Space(255)
Ret& = GetComputerName(Buffer, Len(Buffer))
if
Ret& > 0
then
CompName$ = Left(Buffer, Ret&)
n Mula-mula
String diinisialisasi sebanyak 255 karakter
n Dipassing
ke function dengan jalan memberikan juga berapa nilai panjangnya.
n Function
tadi akan menghasilkan return value 0 bila terjadi error
n Passing
array adalah dengan jalan memassingkan nilai pertama dari array tersebut
n Contoh
Private
Declare Function SetSysColors Lib "user32" Alias
"SetSysColors"
( ByVal nChanges As Long,
lpSysColor
As Long,
lpColorValues
As Long
)
As Long
Private Sub Command1_Click()
Dim SysColor(3) As Long
Dim ColorValues(3) As Long
SysColor(0) = COLOR_ACTIVECAPTION
SysColor(1) = COLOR_INACTIVECAPTION
SysColor(2) = COLOR_CAPTIONTEXT
SysColor(3) = COLOR_INACTIVECAPTIONTEXT
ColorValues(0) = RGB(58, 158, 58) 'dark green
ColorValues(1) = RGB(93, 193, 93) 'light green
ColorValues(2) = 0 'black
ColorValues(3) = RGB(126, 126, 126) 'gray
Ret& = SetSysColors(4&, SysColor(0), ColorValues(0)
)
End Sub
n Perhatikan
bahwa bila kita ingin melakukan passing terhadap array, maka yang kita passing
adalah cukup element pertama dari array tersebut.
n Kumpulan
kode tadi adalah berfungsi untuk mengubah warna dari title bar window.
n Berikut
ini adalah output dari kumpulan kode tersebut
No comments:
Post a Comment
silahkan membaca dan berkomentar