- Visual Basic 開發從入門到精通
- 陳強
- 980字
- 2019-01-05 00:46:45
2.7 技術解惑
2.7.1 公用變量與局部變量的比較
在不同的范圍內也可以有同名變量。例如,可以有名為Temp的公用變量,然后在過程中聲明名為Temp的局部變量。在過程內通過引用名字Temp來訪問局部變量,而在過程外則通過引用名字Temp來訪問公用變量。通過用模塊名限定模塊級變量就可在過程內訪問這樣的變量。
Public Temp As Integer Sub Test () Dim Temp As Integer Temp=2 'Temp的值為 2 MsgBox Form1.Temp 'Form1.Temp的值為 1 End Sub Private Sub Form_Load () Temp=1 ' 將Form1.Temp的值設置成 1 End Sub Private Sub Command1_Click () Test End Sub
一般說來,當變量名稱相同而范圍不同時,局限性大的變量總會用“陰影”遮住局限性不太大的變量(即優先訪問局限性大的變量)。所以,如果還有名為Temp的過程級變量,則它會用“陰影”遮住模塊內部的公用變量Temp。
2.7.2 體會靜態變量
除了范圍之外,變量還有存活期,在這一期間變量能夠保持它們的值。在應用程序的存活期內一直保持模塊級變量和公用變量的值。但是,對于Dim聲明的局部變量以及聲明局部變量的過程,僅當過程在執行時這些局部變量才存在。通常,當一個過程執行完畢,它的局部變量的值就已經不存在,而且變量所占據的內存也被釋放。當下一次執行該過程時,它的所有局部變量將重新初始化。
但是可以將局部變量定義成靜態的,從而保留變量的值。在過程內部用Static關鍵字聲明一個或多個變量,其用法和Dim語句完全一樣。
Static Depth
例如,下面的函數將存儲在靜態變量Accumulate中的以前的運營總值與一個新值相加,以計算運營總值。
Function RunningTotal (num) Static ApplesSold ApplesSold = ApplesSold + num RunningTotal = ApplesSold End Function
如果用Dim而不用Static聲明ApplesSold,則以前的累計值不會通過調用函數保留下來,函數只會簡單地返回調用它的那個相同值。
2.7.3 標識符本身的原則
Visual Basic 6.0標識符的含義比較容易理解,但是在具體使用時必須遵循它本身的原則。具體說明如下所示。
? 只能由字母、數字和下劃線組成。
? 第一個字符必須是字母。
? 標識符的長度不能超過255個字符。
? 自定義的標識符不能和程序內的運算符、函數和過程名的關鍵字相同,也不能和系統對象的方法和屬性同名。
? Visual Basic 6.0標識符不區分大小寫。
2.7.4 Visual Basic表達式的特點
Visual Basic表達式有如下5個特點。
? 乘號不能省略。
? 括號必須成對出現,均使用圓括號,可以嵌套,但必須配對。
? 表達式從左到右在同一基準上書寫,無高低、大小之分。
? 操作數的數據類型應該符合要求,不同的數據應該轉換成同一類型。在算術運算中,如果操作數的數據精度不同,VB規定運算結果采用精度較高的數據類型。
? 同一表達式中,不同運算符的優先級是:算術運算符 > 字符運算符 > 關系運算符 >邏輯運算符。
- Unreal Engine Physics Essentials
- C#程序設計實訓指導書
- Python for Secret Agents:Volume II
- 精通軟件性能測試與LoadRunner實戰(第2版)
- HTML5+CSS3+JavaScript Web開發案例教程(在線實訓版)
- Mastering Ext JS
- INSTANT Passbook App Development for iOS How-to
- Microsoft Dynamics AX 2012 R3 Financial Management
- 愛上micro:bit
- C#程序設計(項目教學版)
- 軟件工程基礎與實訓教程
- OpenCV 3計算機視覺:Python語言實現(原書第2版)
- 交互式程序設計(第2版)
- Learning C++ by Creating Games with UE4
- Raspberry Pi Blueprints