1. 程式人生 > >VB如何呼叫DLL

VB如何呼叫DLL

  我們知道,在VB中,有一種Byte資料型別。每個Byte型變數佔一個位元組,不含符號位,因此所能表示的範圍為0255。這種資料型別是專門用於存放二進位制資料的。為了將整個字元串陣列傳進動態庫,可以用位元組陣列來儲存字串。由於Byte是一種簡單資料型別,因此位元組陣列的傳遞是非常簡單的。首先,需要把一個字串正確地轉變成一個位元組陣列。這要涉及一些字符集的知識。Windows 95VB使用不同的字符集,Windows 95 API使用的是ANSIDBCS 字符集,而VB使用的則是Unicode字符集。所謂ANSI字符集,是指每個字元都用一個位元組表示,因此最多隻能有28=256個不同的字元,這對於英語來說已經足夠了,但不能完全支援其它語
言。DBCS字符集支援很多不同的東亞語言,如漢語、日語和朝鮮語,它使用數字0-255表示ASCII 字元,其它大於255或小於0的數字表明該字元屬於非拉丁字符集;在DBCS中,ASCII字元的長度是一個位元組,而漢語、日語和其它東亞字元的長度是2個位元組。而Unicode字符集則完全用兩個位元組表示一個字元,因此最多可以表示216=65536個不同字元。也就是說,ANSI字符集中所有的字元都只佔一個位元組,DBCS字符集中ASCII字元佔一個位元組,漢字佔兩個位元組,Unicode 字符集中每個字元都佔兩個位元組。由於VBWindowsAPI使用的字符集不同,因此在進行字元串到位元組陣列的轉換時,當用
Asc函式取得一個字元的位元組碼後,需要判斷它是否是一個ASCII 字元;如果是ASCII字元,則在轉換後的位元組陣列中就只佔一個位元組,否則要佔兩個位元組。