logo

16 Ocak 2014 Perşembe

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

0 yorum:

Yorum Gönder