VB’de API Tanımı

VB"de API Tanımı

VB"de API"ler iki şekilde tanımlanabilir. Fonksiyon veya altprogram olarak. Fonksiyon olarak tanımlanan API"lerden geriye bir değer dönerken, altprogram olarak tanımlananlardan bir değer geri dönmez.

Alt program olarak API tanımı:

Private/Public Declare Sub isim Lib "libname" [([parametreler])]

Fonksiyon program olarak API tanımı:

Private/Public Declare Function isim Lib libname [([parametreler])] [As tip]

Burada isim fonksiyonun ismidir ve programda API bu isimle çağrılır. Libname kullanılan kütüphanenin ismi, parametreler; fonksiyona giren parametreler, As tip; fonksiyondan dönen değerin tipidir.

API"nin tanımlanacağı yer formun veya modülün General-Declerations kısmıdır. API"yi bir formun decleration kısmında tanımlarsanız API"yi yalnız o formun altprogramlarından çağırabilirsiniz. Bir modülde tanımlarsanız programınızın her yerinde kullanabilirsiniz.

API"yi doğru olarak tanımladığınız halde VB, ilgili dosyada böyle bir API bulunmadığını söylüyorsa veya API ile aynı isme sahip bir VB komutu var ise bu durumda Alias isimleri kullanmanız gerekir.

Private/Public Declare Function/Sub isim Lib libname Alias "isim" [([parametreler])] [As tip]

API"yi doğru olarak tanımladığınız halde VB, ilgili dosyada böyle bir API bulunmadığını söylüyorsa API isminin sonuna A ekleyerek Alias ismi olarak vermeniz gerekir. Bunun sebebi Windows işletim sisitemi farklı dilleri desteklemektedir. ANSI karakter setini destekleyen ülkler için sonuna A harfi, UniCode veya iki karekter genişliğini kullanan ülke seti için ise sonuna W harfi eklemeniz gerekir.

API tanımı yaparken kullanacağınız tiplerin isimlerini ise C"den VB"ye çevirmeniz gerekir. Genel olarak tip karşılıkları şöyledir.



C


Visual Basic




atom


ByVal değişken AS integer




bool


ByVal değişken As Long




byte


ByVal değişken As Byte




char


ByVal değişken As Byte




colorref


ByVal değişken As Long




dword


ByVal değişken As Long




hwnd,hdc,hmenu vb


ByVal değişken As Long




int,uint


ByVal değişken As Long




long


ByVal değişken As Long




lparam


ByVal değişken As Long




lpdword


değişken As Long




lpint,lpuint


değişken As Long




Iprect


değişken As type




Ipstr,Ipcstr


ByVal değişken As String




Ipvoid


değişken As Any




lpword


değişken As Integer




lresult


ByVal değişken As Long




null


değişken As Any veya ByVal değişken As Long




short


ByVal değişken As Integer




void


Sub procedure




word


ByVal değişken As Integer




wparam


ByVal değişken As Long




16 bit


ByVal değişken As Integer




32 bit


ByVal değişken As Long




float


ByVal değişken As Single




double


ByVal değişken As Double


Parametrelerden biri iki farklı tipte değer alabiliyorsa bunu As Any olarak tanımlamanız gerekir. Hangi parametrenin Any olarak tanımlanması gerektiğine ancak dosyadaki bilgileri okuyarak anlayabilirsiniz. Örneğin bir parametre hem string içerebiliyor ve hemde Null içerebiliyorsa bu parametre Any olarak tanımlanmalıdır.

Yaptıkları işlere göre API"lerin bulundukları dosyalar ise şunlardır :



DLL


Fonksiyonları




Advapi32.dll


Şifre ve Kayıt dosyası işlemleri gibi gelişmiş bir çok API"ler




Comdlg32.dll


Diyalog pencereleri ile ilgili API"ler




Gdi32.dll


Grafik API"leri




Kernel32.dll


Çekirdek Windows API"leri




Lz32.dll


32 bit skıştırma API"leri




Mpr.dll


Multiple Provider Router API"leri




Netapi32.dll


32-bit Network API"leri




Shell32.dll


32-bit Shell API"leri




User32.dll


Kullanıcı arabirimi API"leri




Version.dll


Versiyon işlemleri API"leri




Winmm.dll


Multimedia API"leri




Winspool.drv


Print spooler API"leri

Hiç yorum yok:

 


BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi Bilginin Tek Kaynağı

BilgininAdresi SEO Yarışması BilgininAdresi.NET SEO Yarışması Katılımcısı

="BilgininAdresi SEO Yarismasi"" href= " http://www.bilgininadresi.net">BilgininAdresi.NET SEO Yarismasi Katilimcisi