變數
什麼是變數?
變數是記憶體中可存放資料的位置,存放的內容在應用程式執行階段可能會改變,因此稱為變數。程式宣告變數的是為了存放資料,並在程式需要用到資料的時候從變數中取出來。
每個變數都會有名稱,程式在需要時會根據變數的名稱找出存放在變數中的資料。變數在宣告時須指明型態,以便變數準備用來存放哪一類的資料。(在 VB 中,變數可以不宣告)
在 VB 中,變數可以存放文字、數值、物件,或是未知的資料型態。VB 支援下列幾種型態:
- 文字
- 數值
- Byte 位元組
- nteger 整數
- Long 長整數
- Single 單精度浮點數
- Double 倍精度浮點數
- 其它
- boolean 布林函數
- Variant 自由型態
- Object 物件
- Currency貨幣
- Date 日期
VB並沒有強迫規定變數在宣告變數時須指定資料型態,不過有指定型態會讓程式可靠度更好,佔用的記憶體也比較少。如果宣告變數時未指定資料型態,VB會使用 Variant 當做變數的型態。 Variant 型態可以用來存放文字、數值、物件,和null等任何的資料。
命名原則
開發程式時,命名的原則是一件很重要的事。變數命名要簡單明瞭且大家一致遵循,特別是當別人需要閱讀或維護我們所寫的程式時。
底下先列出一些基本的規定:
- 第一個字元必須是英文字母。
- 名稱中不可有空格。
- 名稱中不可有(.)或型別宣告字元(%、&、!、#、@或$)。
接著列出一些慣用的前導字:
| * String | str |
| * Byte | byt |
| * Integer | int |
| * Long | lng |
| * Single | sng |
| * Double | dbl |
| * Boolean | bln |
| * Currency | cur |
| * Date | dt |
| * Variant | var |
| * Object | 使用物件當前導字(frm.txt等等) |
物件的前導字
| !!!!! 物件 | !!!!! 前導字 | !!!!!範例 |
| Check box | chk | chkTmp |
| Combo box | cbo | cboTmp |
| Command button | cmd | cmdTmpl |
| Data | dat | datTmp |
| Directory list box | dir | dirTmp |
| Drive list box | drv | drvTmp |
| File list box | fil | filTmp |
| Form | frm | frmTmp |
| Frame | fra | fraTmp |
| Grid | grd | grdTmp |
| Horizontal scroll bar | hsb | hsbTmp |
| Image | img | imgTmp |
| Label | lbl | lblTmp |
| Line | lin | linTmp |
| List box | lst | lstTmp |
| Menu | mnu | mnuTmp |
| OLE | ole | oleTmp |
| Option button | opt | optTmp |
| Picture box | pic | picTmp |
| Shape | shp | shpTmp |
| Text box | txt | txtTmp |
| Timer | tmr | tmrTmp |
| Vertical scroll bar | vsb | vsbTmp |
宣告變數
在撰寫程式碼時,於最前面打上
dim varName As Interger
則可宣告一個變數其名稱為 varName,型態為 Interger(整數)
建議在 vb 程式的第一行加上 Option Explicit 強迫變數須經宣告才可使用
或在 『工具 / 選項 / 編輯器』將『要求變數宣告』打勾即可。
變數型態的轉換
在程式設計的過程中,變數的型態可能須要轉換才能運算,因此 VB 提供了以下的轉換函數
| 轉換成何種資料型態 | 使用的轉換函數 |
| Boolean | CBool |
| Byte | CByte |
| Currency | CCur |
| Date | CDate |
| Decimals | CDec |
| Double | CDbl |
| Integer | CInt |
| Long | CLng |
| Single | CSng |
| String | CStr |
| Variant | CVar |
| Error | CVErr |
陣列
陣列可視為是變數的集合,宣告變數後,所有的值都可以放在同一個變數中,每一個值都會有一個
編號,要用時再以變數名稱加上編號即可。陣列的大小需在使用前先宣告,此大小即陣列可放多少
的值。
宣告陣列
dim id(x) ' id 為陣列變數名稱, x 為陣列的大小 (實際大小為 x+1)
dim id(1 To 15) As Integer '陣列從 1 到 15