Translate

Tuesday, August 23, 2016

PEMROGRAMAN API [Passing Parameters]



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))
                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