一個變量聲明后,并不是在任何地方都能使用它。每個變量都有它的作用域。變量的作用域決定了哪些子過程和函數(shù)過程可使用該變量。變量的聲明方式和聲明位置決定了它的作用域。
在理解變量的作用域之前,首先需要了解一個應用程序的組成。一般應用程序的組成如圖3.6所示。
關于在工程中添加窗體與模塊的操作在第2章中已經介紹過了。本書只涉及到窗體模塊和標準模塊。標準模塊主要要來定義一些公用的變量和過程,以供各窗體模塊中的事件過程引用。
變量的作用域可分為3個層次:局部變量、模塊級變量和全局變量。表3.2中列出了變量的作用范圍及使用規(guī)則。
注意:如不加特別說明,模塊是指對窗體模塊與標準模塊的統(tǒng)稱。
1.局部變量。
局部變量是指在過程內部使用Dim語句或Static語句聲明的變量。在過程內不加聲明而直接使用的變量也是局部變量。我們知道,一個應用程序包含若干個模塊,模塊中又包含若干個過程。對于局部變量,只能在聲明它的過程中使用,本模塊的其他過程以及其他模塊均不可訪問。
在不同的過程中可以聲明相同名稱的變量,它們相互獨立,互不干擾。
2.模塊級變量。
模塊級變量是指在模塊的任何過程之外,即在模塊的聲明部分使用Dim語句或Private語句聲明的變量?杀槐灸K的任何過程訪問。
3.全局變量。
全局變量是指在模塊的任何過程之外,即在模塊的"通用聲明"段使用Public語句聲明的變量?杀槐灸K的任何過程訪問。需要注意的是。在窗體模塊聲明的全局變量,在訪問時需要在變量名前加窗體名。而在標準模塊中聲明的全局變量可以直接訪問。
例如,在窗體模塊中定義了四個變量A、B、C和D,如圖3.7示。則A為全局變量,B為模塊級變量,C和D為局部變量。
需要說明的是,在VB中作用域不同的變量的名稱可以相同,并且作用域小的變量的優(yōu)先級高。
在過程中,既可以使用Dim語句聲明局部變量,也可以使用Static語句聲明局部變量。并且Static語句的一般形式與Dim語句相同:
Static變量名As數(shù)據類型。
使用Static語句聲明的變量稱為靜態(tài)變量,它與用Dim語句聲明的變量的不同之處在于:當一個過程結束時,過程中所用到的靜態(tài)變量的值會保留,下次再調用此過程時,變量的初值是上次調用結束時被保留的值。
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |