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
VB’de API Tanımı
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder