亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

變量的聲明和作用域——VB

系統 1995 0

一、聲明變量

變量在使用前,必須在代碼中進行聲明, 即創建該變量

在使用變量之前,首先需要聲明變量。就是說,必須事先告訴編譯器在程序中使用了哪些變量,及這些變量的數據類型以及變量的長度。這是因為在編譯程序執行代碼之前編譯器需要知道如何給語句變量開辟存儲區,這樣可以優化程序的執行。

聲明變量有兩種方式:隱式聲明、顯式聲明。

隱式聲明: 變量可以不經聲明直接使用,此時 VB 給該變量賦予缺省的類型和值。這種方式比較簡單方便,在程序代碼中可以隨時命名并使用變量,但不易檢查。

顯式聲明: 用聲明語句創建變量。

強制顯式聲明變量 :

為了避免寫錯變量名引起的麻煩,用戶可以規定,只要遇到一個未經明確聲明就當成變量的名字, VB 都發出錯誤警告。方法是 ---- 強制顯式聲明變量。要強制顯式聲明變量,只須在類模塊、窗體模塊或標準模塊的聲明段中加入這條語句:

Option Explicit

這條語句是用來規定在本模塊中所有變量必須先聲明再使用,即不能通過隱式聲明來創建變量。在添加 Option Explicit 語句后, VB 將自動檢查程序中是否有未定義的變量,發現后將顯示錯誤信息。

如果要 自動插入 Option Explicit 語句 ,用戶只要在 工具 菜單中選取 選項 命令,然后單擊 選項 對話框中的 編輯器 選項卡,再選中 要求變量聲明 選項,如下圖 變量的聲明和作用域——VB

這樣 VB 就會在任何新模塊中自動插入 Option Explicit 語句,但只會在新建立的模塊中自動插入。所以對于已經建立的模塊,只能用手工方法向現有模塊添加 Option Explicit 語句(只有再重新啟動 VB ,這項功能才有效)。

二、變量的作用域

變量的作用域指的是變量的有效范圍。為了能正確地使用變量的值,應當明確可以在程序的什么地方訪問該變量。 VB 中變量可以分為 3 類:局部( Local )變量、模塊( Module )變量及全局( Public )變量,其中模塊變量包括窗體模塊變量和標準模塊變量。各變量位于不同的層次。

局部變量

過程級變量只有在聲明它們的過程中才能被識別,它們又稱為局部變量。

Dim 或者 Static 關鍵字來聲明它們,兩者的區別在于: 在整個應用程序運行時,用 Static 聲明的局部變量中的值一直存在,而用 Dim 聲明的變量只在過程執行期間才存在。

對任何臨時計算來說,局部變量是最佳選擇。例如,可以建立十來個不同的過程,每個過程都包含稱作 intTemp 的變量(同一個變量名在不同的過程中意義可能不同)。只要每個 intTemp 都聲明為局部變量,那么每個過程只識別它自己的 intTemp 版本。任何一個過程都能夠改變它自己的局部的 intTemp 變量的值,而不會影響別的過程中的 intTemp 變量。

模塊變量

按照缺省規定,模塊級變量對該模塊的所有過程都可用,但對其它模塊的代碼不可用。可在模塊頂部的聲明段用 Private Dim 關鍵字聲明模塊級變量,從而建立模塊級變量。例如:

Private intTemp As Integer

在模塊級, Private Dim 之間沒有什么區別,但 Private 更好些,因為很容易把它和 Public 區別開來,使代碼更容易理解。

全局變量

為了使模塊級的變量在其它模塊中也有效,用 Public 關鍵字聲明變量。公用變量中的值可用于應用程序的所有過程。和所有模塊級變量一樣,也在模塊頂部的聲明段來聲明公用變量。例如

Public intTemp As Integer

注意: 不能在過程中聲明公用變量,只能在模塊的聲明段中聲明公用變量。


總結以上可知 聲明語句有如下四種格式 , 這四種語句創建了不同特性的變量,下面來作詳細的介紹:

(I)Dim 語句,其格式為:

Dim <變量名> [As <數據類型> ]

程序運行時,上述聲明在內存中為變量分配空間,并使 Visual Basic 了解隨后要處理數據的數據類型。

Dim 語句用于在標準模塊( Module )、窗體模塊( Form )或過程( Procedure )中定義變量或數組

Dim 語句在窗體的過程中聲明的變量稱為 局部變量 ,其作用域僅局限在本過程內部,過程一旦執行完畢,其值也就消失了。

例如

Dim Number As Integer ' 聲明 Number Integer (整型)變量。

Dim I As Integer,j As Integer,k As Integer ' 同時聲明為整型變量。

Dim AnyValue,MyValue 'AnyValue MyValue 按缺省情況被聲明為 Variant 類型,同時值被設為 Empty (空)。

Dim AnotherVar, Choice As Boolean, BirthDate As Date ' 在一行中聲明多種類型變量, AnotherVar Variant 類型,因為它的類型被省略了, Choice 為布爾型變量, BirthDate 為日期型變量。

(2)Private 語句.其格式為:

Private <變量名> [As <數據類型> ]

如果要 在一個窗體模塊的所有過程中共享同一個變量 ,則應 在這個窗體模塊的聲明段 Private 語句進行聲明.這種變量稱為 模塊級變量 ,其作用域為整個窗體模塊。這就好比是您家里的電話號碼,它在您所在的城市是通用的,但出了這個范圍就不能單獨使用了。

(3)Public 語句,其格式為:

Public <變量名> [As <數據類型 > ]

用來在標準模塊中定義全局變量或數組 。如果在標準模塊的聲明段中用 Public 關鍵字來聲明模塊級變量,那么這個變量的作用域是整個工程,即它會在整個工程的所有模塊中有效,這種變量稱為 全局變量,也稱公用變量 。這就好比是加了郵政區號的電話號碼,在全國范圍內通用。

(4)static 語句.其格式為:

static <變量名> [As <數據類型> ·

局部變量在過程執行結束后其值不能被保留下來,在每一次過程重新執行時,變量會被重新初始化。如果 希望在該過程結束之后,還能繼續保持過程中局部變量的值 ,就應該用 static 關鍵字將這個變量 聲明為靜態變量 。這樣,即使過程結束,該靜態變量的值也仍然保留著。

例如我們可以為一個窗體編寫下面這樣一程序,可以對用戶在窗體上單擊的次數計數并用顯示出來。

Private Sub Form_click()

Static I As Integer
I = I + 1
Label1.Caption = I

End Sub

再如:

Private Sub Command1_Click()

Static IntCount As Integer
IntCount = IntCount + 1
Select Case IntCount
Case 1
Command1.Caption = " 春眠不覺曉 "
Case 2
Command1.Caption = " 處處聞啼鳥 "
Case 3
Command1.Caption = " 夜來風雨聲 "
Case Else
Command1.Caption = " 花落知多少 "
IntCount = 0
End Select

End Sub

Static 換成 Dim, 運行一下,連續單擊窗體,兩者結果的不同顯而易見。

注意 : 就像在過程中不能使用 Public Private 關鍵字一樣,在模塊的聲明段中不能使用 static 關鍵字,會報錯。

定義完變量,初值的問題:

整數: 0

浮點數: 0.0

字符串:""

Variant Empty (保留字,關鍵字)不同與 null 0 Nothing

判斷它有沒有賦值,就看它的值是不是 empty

變量的聲明和作用域——VB


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产免费久久精品44 | 国产精品国语自产拍在线观看 | 热久久国产欧美一区二区精品 | 一本大道香蕉高清久久 | 99热精品成人免费观看 | videos欧美丰满肥婆 | 欧美 日韩 中字 国产 | 欧美激情日本一道免费视频 | 爱爱免费观看高清视频在线播放 | 老子影院午夜伦手机不四虎 | 日日搞夜夜操 | 国产一级毛片国产 | 久久免费视频在线观看30 | 欧洲精品在线观看 | 牛牛影视免费观看成人 | 欧美激情伦妇在线观看 | 久久久久久久久综合 | 福利网站在线播放 | 国产在线自在拍91精品黑人 | 欧美交换乱理伦片120秒 | 亚洲一级毛片在线播放 | 91久久亚洲精品一区二区 | 特级全黄一级毛片视频 | 国产精品天天影视久久综合网 | 好吊妞视频一区二区 | 97免费在线视频 | 久久精品国产亚洲妲己影院 | 深夜成人影院 | 免费爽视频 | 九九视频免费看 | 性欧美成人依依影院 | 国自产拍在线视频天天更新 | 99在线观看视频免费 | 韩日免费视频 | 亚洲一区二区三区高清 不卡 | 特级毛片网站 | 国产日韩欧美在线观看不卡 | 欧美乱妇高清视频免欢看关 | 亚洲精品va | 久久综合日韩亚洲精品色 | 国产在线一91区免费国产91 |