發新話題

Visual Basic 教學 - 《陳述式》Deftype

Visual Basic 教學 - 《陳述式》Deftype

Deftype 陳述式範例本範例示範如何使用不同的 Deftype 陳述式來設定變數的預設資料型態。若函數名稱以 Deftype 所定義的字元作開頭,則該函數之傳回值便是該字元所代表的資料型態。在宣告變數時,可以在 Dim 陳述式指定資料型態,而不用預設型態。Deftype 陳述式只能在模組層級中使用 (也就是說,不可在程序之中使用)。
' 變數名稱若以 A 到 K 開頭,則預設型態為整數DefInt A-K' 變數名稱若以 L 到 Z 開頭,則預設型態為字串DefStr L-ZCalcVar = 4                      ' 設定整數初值StringVar = "Hello there"        ' 設定字串初值AnyVar = "Hello"                 ' 會產生「引數型態不符合」之錯誤Dim Calc As Double               ' 指定變數型態為 Double,而非預設之整數Calc = 2.3455                    ' 設定為 Double' Deftype 陳述式適用範圍也包括函數名稱CalcNum = ATestFunction(4)       ' 呼叫使用者自訂的函數' ATestFunction 函數定義如下Function ATestFunction(INumber)   ATestFunction = INumber * 2   ' 傳回值為一整數End Function訪客無法瀏覽此圖片或連結,請先 註冊登入會員 用來設定以下各項目的預設訪客無法瀏覽此圖片或連結,請先 註冊登入會員 訪客無法瀏覽此圖片或連結,請先 註冊登入會員 、傳送給訪客無法瀏覽此圖片或連結,請先 註冊登入會員 訪客無法瀏覽此圖片或連結,請先 註冊登入會員 ,以及 FunctionProperty Get 程序中名稱以指定字元開始的傳回值型態。
語法
DefBool letterrange[, letterrange] . . .
DefByte letterrange[, letterrange] . . .
DefInt letterrange[, letterrange] . . .
DefLng letterrange[, letterrange] . . .
DefCur letterrange[, letterrange] . . .
DefSng letterrange[, letterrange] . . .
DefDbl letterrange[, letterrange] . . .
DefDec letterrange[, letterrange] . . .
DefDate letterrange[, letterrange] . . .
DefStr letterrange[, letterrange] . . .
DefObj letterrange[, letterrange] . . .
DefVar letterrange[, letterrange] . . .
letterrange 是必要的引數,且有下列語法:
letter1[-letter2]
letter1letter2 引數指定要預設資料型態的名稱範圍。每個引數表示變數、引數、Function 程序或 Property Get 程序名稱的第一個字母,可為字母表上的任何字母。letterrange 裏字母的大小寫是沒有差別。
請注意
陳述式的名稱決定資料型態:
陳述式資料型態
DefBool訪客無法瀏覽此圖片或連結,請先 註冊登入會員
DefByte訪客無法瀏覽此圖片或連結,請先 註冊登入會員
DefInt訪客無法瀏覽此圖片或連結,請先 註冊登入會員
DefLng訪客無法瀏覽此圖片或連結,請先 註冊登入會員
DefCur訪客無法瀏覽此圖片或連結,請先 註冊登入會員
DefSng訪客無法瀏覽此圖片或連結,請先 註冊登入會員
DefDbl訪客無法瀏覽此圖片或連結,請先 註冊登入會員
DefDec訪客無法瀏覽此圖片或連結,請先 註冊登入會員 (目前尚未支援)
DefDate訪客無法瀏覽此圖片或連結,請先 註冊登入會員
DefStr訪客無法瀏覽此圖片或連結,請先 註冊登入會員
DefObj訪客無法瀏覽此圖片或連結,請先 註冊登入會員
DefVar訪客無法瀏覽此圖片或連結,請先 註冊登入會員
舉例來說,在下列程式片段,Message 是字串變數:
DefStr A-Q. . .Message = "Out of stack space."Deftype 陳述式僅只影響使用它的訪客無法瀏覽此圖片或連結,請先 註冊登入會員 。舉例來說,在某個模組裏的 DefInt 陳述式只影響在該模組裏宣告之變數、傳給程序之引數、FunctionProperty Get 程序之傳回值的預設資料型態。其它模組中變數、引數和傳回值的預設資料型態則不受影響。 如果不明確地以 Deftype 陳述式來作宣告,則所有 變數、引數、 Function 程序和 Property Get 程序的預設資料型態是 Variant
當您指定字母範圍,通常是用來定義以前128 字元之一為開頭字元的變數之資料型態。 然而,如果以 A–Z 來指定字母範圍,則指定所有變數的資料型態,包括從字元設定的擴充部份 (128–255) 中的國際字元為開頭。
只要指定了 A–Z 的範圍,則不可再定義任何已用 Deftype 陳述式的變數的子範圍。當範圍被指定後,就不可在 Deftype 陳述式使用先前被另一個 Deftype 陳述式所定義的字母,否則會發生錯誤。然而,卻可以使用 Dim 陳述式加上As type 子句,來指定一個無論是否定義過變數之資料型態。舉例來說,可在模組層次中以下列的程式碼來定義變數為 Double,即使是它的預設資料型態為 Integer
DefInt A-ZDim TaxRate As DoubleDeftype 陳述式不影響訪客無法瀏覽此圖片或連結,請先 註冊登入會員 的元素,因為此類元素必已明確地宣告過。

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。