第三章 VB的程序設(shè)計(jì)基礎(chǔ)
2.1 VB編碼規(guī)則
1. 語(yǔ)言元素
VB的語(yǔ)言基礎(chǔ)是BASIC語(yǔ)言,VB程序的語(yǔ)言元素主要由:
關(guān)鍵字(如: Dim、Print、Cls)
函數(shù)(如:Sin()、Cos()Sqr())
表達(dá)式(如:Abs(-23.5)+45*20/3 )
語(yǔ)句(如:X=X+5 、 IF……ELSE……END IF)等組成。
2. VB代碼書(shū)寫(xiě)規(guī)則
?。?) 程序中不區(qū)分字母的大小寫(xiě),Ab 與AB等效;
(2) 系統(tǒng)對(duì)用戶程序代碼進(jìn)行自動(dòng)轉(zhuǎn)換:
1) 對(duì)于VB中的關(guān)鍵字,首字母被轉(zhuǎn)換成大寫(xiě),其余轉(zhuǎn)換成小寫(xiě)
2) 若關(guān)鍵字由多個(gè)英文單詞組成,則將每個(gè)單詞的首字母轉(zhuǎn)換成大寫(xiě)
3) 對(duì)于用戶定義的變量、過(guò)程名,以第一次定義的為準(zhǔn),以后輸入的自動(dòng)轉(zhuǎn)換成首次定義的形式
3. 語(yǔ)句書(shū)寫(xiě)規(guī)則
(1)在同一行上可以書(shū)寫(xiě)多行語(yǔ)句,語(yǔ)句間用冒號(hào)(:)分隔
(2)單行語(yǔ)句可以分多行書(shū)寫(xiě),在本行后加續(xù)行符:空格和下劃線 _
(3) 一行允許多達(dá)255個(gè)字符
4. 程序的注釋方式
(1)整行注釋一般以 Rem開(kāi)頭,也可以用撇號(hào) ';
(2)用撇號(hào) ' 引導(dǎo)的注釋,既可以是整行的,也可以直接放在語(yǔ)句的后面,最方便;
(3)可以利用“編輯”工具欄的“設(shè)置注釋塊”、“解除注釋塊”來(lái)將設(shè)置多行注釋。
5. 保留行號(hào)和標(biāo)號(hào)
VB源程序接受行號(hào)與標(biāo)號(hào),但不是必須的(早期的BASIC語(yǔ)言中必須用行號(hào))。
標(biāo)號(hào)是以字母開(kāi)始以冒號(hào)結(jié)束的字符串,一般用在GOTO語(yǔ)句(現(xiàn)在很少用)中。
2.2 VB的語(yǔ)言基礎(chǔ)
1.數(shù)據(jù)類(lèi)型
VB的標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型
數(shù)據(jù)類(lèi)型 | 關(guān)鍵字 | 類(lèi)型符 | 前綴 | 存儲(chǔ)空間 | 范圍 | |
數(shù)值數(shù)據(jù)類(lèi)型 | 字節(jié)型 | Byte | Byt | 1 個(gè)字節(jié) | 0 到 255 | |
整型 | Integer | % | Int | 2 個(gè)字節(jié) | -32,768 到 32,767 | |
長(zhǎng)整型 | Long | & | Lng | 4 個(gè)字節(jié) | -2,147,483,648 到 2,147,483,647 | |
單精度型 | Single | ! | Sng | 4 個(gè)字節(jié) | 負(fù)數(shù):-3.402823E38 到 -1.401298E-45;正數(shù):1.401298E-45 到 3.402823E38 | |
雙精度型 | Double | # | Dbl | 8 個(gè)字節(jié) | 負(fù)數(shù): -1.79769313486232E308 - 4.94065645841247E-324; 正數(shù):4.94065645841247E-324 1.79769313486232E308 | |
貨幣型 | Currency | @ | Cur | 8 個(gè)字節(jié) | 從 -922,337,203,685,477.5808 到 922,337,203,685,477.5807 | |
邏輯型 | Boolean | Bln | 2 個(gè)字節(jié) | True 或 False | ||
日期型 | Date | Dtm | 8 個(gè)字節(jié) | 100 年1月 1日 到 9999 年 12 月 31 日 | ||
對(duì)象型 | Object | Obj | 4 個(gè)字節(jié) | 任何 Object 引用 | ||
變長(zhǎng)字符型 | String | $ | Str | 10 字節(jié)加字符串長(zhǎng)度 | 0 到大約 20 億 | |
定長(zhǎng)字符型 | String | $ | Str | 字符串長(zhǎng)度 | 1 到大約 65,400 | |
變體數(shù)字型 | Variant | Vnt | 16 個(gè)字節(jié) | 任何數(shù)字值,最大可達(dá) Double 的范圍 | ||
變體字符型 | Variant | Vnt | 22 個(gè)字節(jié)加字符串長(zhǎng)度 | 與變長(zhǎng) String 有相同的范圍 |
注意:
1)VB中對(duì)沒(méi)有聲明的變量其缺省的數(shù)據(jù)類(lèi)型是變體型,可以用來(lái)存儲(chǔ)各種數(shù)據(jù),但所占用的內(nèi)存比其它類(lèi)型都多。為提高運(yùn)行效率(整型效率較高),或達(dá)到一定的運(yùn)算精確度(浮點(diǎn)型精度較高,但運(yùn)行較慢),應(yīng)合理的定義數(shù)據(jù)類(lèi)型。
2) 邏輯型數(shù)據(jù)只有True 和False兩個(gè)值,轉(zhuǎn)換成整型時(shí),True=-1 ,False=0,將其它類(lèi)型轉(zhuǎn)換成邏輯型時(shí),非0數(shù)轉(zhuǎn)換為True ,0轉(zhuǎn)換為False。
3) 字符型可以包括所有的西文字符和漢字,字符必須用雙引號(hào)括" "起來(lái),如:"abc123"
4)日期型數(shù)據(jù)按8字節(jié)的浮點(diǎn)數(shù)來(lái)存儲(chǔ),日期型數(shù)表示方式有兩種:可以用號(hào)碼符#括起來(lái),也可以用數(shù)字序列表示(小數(shù)點(diǎn)左邊的數(shù)字代表日期,右邊代表時(shí)間,0為午夜,0。5為中午12點(diǎn),負(fù)數(shù)表示是1899年12月31日前的日期和時(shí)間)。
如:#3/22/2002# #2002-3-2214:30:20#
DimT As Date
T=-2.5
Print T ' 打印出來(lái)的結(jié)果是1899-12-28 12:00:00
5)任何數(shù)據(jù)類(lèi)型的數(shù)組都需要 20 個(gè)字節(jié)的內(nèi)存空間,加上每一數(shù)組維數(shù)占 4 個(gè)字節(jié),再加上數(shù)據(jù)本身所占用的空間。數(shù)據(jù)所占用的內(nèi)存空間可以用數(shù)據(jù)元數(shù)目乘上每個(gè)元素的大小加以計(jì)算。例如,以 4 個(gè) 2字節(jié)之 Integer 數(shù)據(jù)元所組成的一維數(shù)組中的數(shù)據(jù),占 8 個(gè)字節(jié)。這 8 個(gè)字節(jié)加上額外的 24 個(gè)字節(jié),使得這個(gè)數(shù)組所需總內(nèi)存空間為 32 個(gè)字節(jié)。
2. 變量與常量
(1)變量或常量的命名規(guī)則
1)必須以字母或漢字開(kāi)頭,由字母、漢字、數(shù)字或下劃線組成,長(zhǎng)度≤255個(gè)字符;
2)不能使用VB中的關(guān)鍵字,并盡量不與VB中標(biāo)準(zhǔn)函數(shù)名同名;如:Dim 、Sin
3)VB中不區(qū)分變量的大小寫(xiě),一般變量首字母用大寫(xiě),其余用小寫(xiě);常量全部用大寫(xiě)字母表示
4)為了增加程序的可讀性,可在變量名前加一個(gè)縮寫(xiě)的前綴來(lái)表明該變量的數(shù)據(jù)類(lèi)型。
(2)變量聲明
1)用Dim語(yǔ)句進(jìn)行顯式聲明
語(yǔ)句形式: Dim 變量名 [As 類(lèi)型] 如:Dim intX As integer
說(shuō)明:·如果沒(méi)有As類(lèi)型,則默認(rèn)為變體類(lèi)型。
·可在變量名后加類(lèi)型符來(lái)代替As類(lèi)型 如: Dim intX%
·一條語(yǔ)句可以同時(shí)定義多個(gè)變量,但每個(gè)變量必須有自己的類(lèi)型聲明,類(lèi)型聲明不能共用;
·字符串變量根據(jù)其存放的長(zhǎng)度是否固定,定義方法不同:
定長(zhǎng)字符串: Dim strA As String*10
表示最多存放10個(gè)字符,如果賦值不足10個(gè),則右補(bǔ)空;若多于10個(gè),則多余部分截去。
不定長(zhǎng)字符串:Dim strA As String ’最多可存放2MB個(gè)字符
2) 隱式聲明
VB中允許變量不經(jīng)過(guò)聲明就直接使用,這種稱為隱式聲明,所有隱式聲明的變量都是變體型的。
隱式聲明容易造成錯(cuò)誤,為了調(diào)試程序方便,一般對(duì)使用的變量都進(jìn)行聲明,可以在通用聲明段使用Option Explicit 語(yǔ)句來(lái)強(qiáng)制顯式聲明所有變量。
(3)常量
1)直接常量
指在程序中直接給出值的數(shù)據(jù),如:123、123&、123.45、1.234E2、123D3分別表示整型、長(zhǎng)整型、單精度浮點(diǎn)型(小數(shù)形式)、單精度浮點(diǎn)型(指數(shù)形式)、雙精度浮點(diǎn)型。
八進(jìn)制常數(shù): 在數(shù)值前加&O ,如 &O123
十六進(jìn)制常數(shù):在數(shù)值前加&H ,如&H123
2)用戶聲明的符號(hào)常量
用Const來(lái)聲明: Const 符號(hào)常量名 [As 類(lèi)型] = 表達(dá)式
如:Const PI=3.14159 '聲明了常量PI,代表3.14159,單精度型
Const MAX As Integer=&O144 ''聲明了常量MAX,代表八進(jìn)制數(shù)144,整型
Const COUNT#=45.67 '聲明了常量COUNT,代表45.67,雙精度型
3)系統(tǒng)提供的常量
系統(tǒng)定義的常量位于對(duì)象庫(kù)中,在對(duì)象瀏覽器中的Visual Basic(VB)和Visual Basic for Aplication(VBA)等對(duì)象庫(kù)中列出了VB的常量。這些常量可以與應(yīng)用程序的對(duì)象、方法、屬性一起使用。
如:Form1.WindowsState=vbMaximized 表示將窗口極大化。
3. 運(yùn)算符
(1) 算術(shù)運(yùn)算符
運(yùn)算符 | 含義 | 優(yōu)先級(jí) | 示例 | 結(jié)果 |
^ | 乘方 | 1 | Ia^2 | 9 |
- | 負(fù)號(hào) | 2 | -iA | -3 |
* | 乘 | 3 | IA* iA* iA | 27 |
/ | 除 | 3 | 10/iA | 3.33333333333333 |
\ | 整除 | 4 | 10\iA | 3 |
Mod | 取模 | 5 | 10 Mod iA | 1 |
+ | 加 | 6 | 10+iA | 13 |
- | 減 | 7 | IA-10 | -7 |
說(shuō)明:設(shè)表中的變量iA=3, 為整型。
算術(shù)運(yùn)算符兩邊的操作數(shù)應(yīng)該是數(shù)值型,若是數(shù)字字符或邏輯型,則自動(dòng)轉(zhuǎn)換為數(shù)值類(lèi)型后再運(yùn)算。
(2) 字符串運(yùn)算符
運(yùn)算符 | 作用 | 區(qū)別 | 示例 | 結(jié)果 |
& | 將兩個(gè)字符串拼接起來(lái) | 連接符兩旁的操作數(shù)不管是字符型還是數(shù)值型,系統(tǒng)先將操作數(shù)轉(zhuǎn)換成字符,然后再連接。 | "123"&55 "abc"+12 | "12355" "abc12" |
+ | 連接符兩旁的操作數(shù)均為字符型;若均為數(shù)值型則進(jìn)行算術(shù)加法運(yùn)算;若一個(gè)為數(shù)字字符型,一個(gè)數(shù)值型,則自動(dòng)將數(shù)字字符轉(zhuǎn)換為數(shù)值,然后進(jìn)行算術(shù)加;若一個(gè)為非數(shù)字字符型,一個(gè)數(shù)值型,則出錯(cuò)。 | "123"+55 "abc"+12 | 178 出錯(cuò) |
(3) 關(guān)系運(yùn)算符
運(yùn)算符 | 含義 | 示例 | 結(jié)果 |
= | 等于 | "ABCDE"="ABR" | False |
> | 大于 | "ABCDE">"ABR" | False |
>= | 大于等于 | "bc">="大小" | False |
< | 小于 | 23<3 | False |
<= | 小于等于 | "23"<="3" | True |
<> | 不等于 | "abc"<>"ABC" | True |
Like | 字符串匹配 | "ABCDEFG" Like "*DE*" | True |
Is | 對(duì)象引用比較 |
注意:
1) 如果兩個(gè)操作數(shù)都是數(shù)值型,則按其大小比較
2) 如果兩個(gè)操作數(shù)都是字符型,則按字符的ASCII碼值從左到右一一比較
3) 漢字字符大于西文字符
4) 關(guān)系運(yùn)算符的優(yōu)先級(jí)相同
5) VB6.0中Like運(yùn)算符與通配符的使用:
?——表示任何單一字符
*——表示0個(gè)或多個(gè)字符
#——表示任何一個(gè)數(shù)字(0 - 9)
[字符列表]——表示字符列表中的任何單一字符
[!字符列表]—— 表示不在字符列表中的任何單一字符
(4) 邏輯運(yùn)算符
運(yùn)算符 | 含義 | 優(yōu)先級(jí) | 說(shuō)明 | 示例 | 結(jié)果 |
Not | 取反 | 1 | 當(dāng)操作數(shù)為假時(shí),結(jié)果為真 | Not F Not T | T F |
And | 與 | 2 | 兩個(gè)操作數(shù)均為真時(shí),結(jié)果才為真 | T And T F And F T And F F And T | T F F F |
Or | 或 | 3 | 兩個(gè)操作數(shù)中有一個(gè)為真時(shí),結(jié)果為真 | T Or T F Or F T Or F F Or T | T F T T |
Xor | 異或 | 3 | 兩個(gè)操作數(shù)不相同,結(jié)果才為真,否則為假 | T Xor F T Xor T | T F |
Eqv | 等價(jià) | 4 | 兩個(gè)操作數(shù)相同時(shí),結(jié)果才為真 | T Eqv F T Eqv T | F T |
Imp | 蘊(yùn)含 | 5 | 第一個(gè)操作數(shù)為真,第二個(gè)操作數(shù)為假時(shí),結(jié)果才為假,其余都為真 | T Imp F T Imp T | F T |
說(shuō)明:
1)若有多個(gè)條件時(shí),And必須全部條件為真才為真;Or只要有一個(gè)條件為真就為真。
2)如果邏輯運(yùn)算符對(duì)數(shù)值進(jìn)行運(yùn)算,則以數(shù)字的二進(jìn)制值逐位進(jìn)行邏輯運(yùn)算。And運(yùn)算常用于屏蔽某些位;Or運(yùn)算常用于把某些位置1。
如:12 And 7 表示對(duì)1100與0111進(jìn)行And運(yùn)算,得到二進(jìn)制值100,結(jié)果為十進(jìn)制4。
3)對(duì)一個(gè)數(shù)連續(xù)進(jìn)行兩次Xor操作,可恢復(fù)原值。在動(dòng)畫(huà)設(shè)計(jì)中,用Xor可恢復(fù)原來(lái)的背景。
4.表達(dá)式
(1)表達(dá)式的組成
表達(dá)式由常量、變量、運(yùn)算符、函數(shù)和圓括號(hào)按一定的規(guī)則組成,通過(guò)運(yùn)算后有一個(gè)結(jié)果,運(yùn)算結(jié)果的類(lèi)型由數(shù)據(jù)和運(yùn)算符共同決定。
(2)表達(dá)式的書(shū)寫(xiě)規(guī)則
1)乘號(hào)不能省略
2)括號(hào)必須成對(duì)出現(xiàn),均使用圓括號(hào),可以嵌套,但必須配對(duì)。
3)表達(dá)式從左到右在同一基準(zhǔn)上書(shū)寫(xiě),無(wú)高低、大小之分。
例:sqr((3*x+y)-z)/(x*y)^4
(3)不同數(shù)據(jù)類(lèi)型的轉(zhuǎn)換
操作數(shù)的數(shù)據(jù)類(lèi)型應(yīng)該符合要求,不同的數(shù)據(jù)應(yīng)該轉(zhuǎn)換成同一類(lèi)型。在算術(shù)運(yùn)算中,如果操作數(shù)的數(shù)據(jù)精度不同,VB規(guī)定運(yùn)算結(jié)果采用精度較高的數(shù)據(jù)類(lèi)型。
(4)優(yōu)先級(jí)
同一表達(dá)式中,不同運(yùn)算符的優(yōu)先級(jí)是:算術(shù)運(yùn)算符 > 字符運(yùn)算符 > 關(guān)系運(yùn)算符 > 邏輯運(yùn)算符
注意:對(duì)于存在多種運(yùn)算符的表達(dá)式,可增加圓括號(hào)改變優(yōu)先級(jí)或使表達(dá)式更清晰。
2.3 VB的公共函數(shù)
1. 數(shù)學(xué)函數(shù)
VB中常用的數(shù)學(xué)函數(shù)
函數(shù)名 | 功能 | 示例 | 結(jié)果 |
Sqr(x) | 求平方根 | Sqr(9) | 3 |
Log(x) | 求自然對(duì)數(shù),x>0 | Log(10) | 2.3 |
Exp(x) | 求以e為底的冪值,即求ex | Exp(3) | 20.086 |
Abs(x) | 求x的絕對(duì)值 | Abs(-2.5) | 2.5 |
Hex[$](x) | 求x的十六進(jìn)制數(shù),返回的是字符型值 | Hex[$](28) | "1C" |
Oct[$](x) | 求x的八進(jìn)制數(shù),返回的是字符型值 | Oct[$](10) | "12" |
Sgn(x) | 求x的符號(hào), 當(dāng)x>0, 返回1 ;x=0, 返回0; x<0, 返回-1 | Sgn(15) | 1 |
Rnd(x) | 產(chǎn)生一個(gè)在(0,1)區(qū)間均勻分布的隨機(jī)數(shù),每次的值都不同;若x=0,則給出的是上一次本函數(shù)產(chǎn)生的隨機(jī)數(shù) | Rnd(x) | 0-1之間的數(shù) |
Sin(x) | 求x的正弦值,x的單位是弧度 | Sin(0) | 0 |
Cos(x) | 求x的余弦值,x的單位是弧度 | Cos(1) | 0.54 |
Tan(x) | 求x的正切值,x的單位是弧度 | Tan(1) | 1.56 |
Atn(x) | 求x的反正切值,x的單位是弧度,函數(shù)返回的是弧度值 | Atn(1) | 0.79 |
2. 字符函數(shù)
(1)字符串編碼
在Windows采用的DBCS(Double Byte Character Set)編碼方案中,一個(gè)漢字在計(jì)算機(jī)內(nèi)存中占2個(gè)字節(jié),一個(gè)西文字符(ASCII碼)占1個(gè)字節(jié),但在VB中采用的是Unicode(ISO字符標(biāo)準(zhǔn))來(lái)存儲(chǔ)字符的,所有字符都占2個(gè)字節(jié)。為方便使用,可以用StrConv函數(shù)來(lái)對(duì)Unicode 與DBCS進(jìn)行轉(zhuǎn)換,可以用函數(shù)Len()函數(shù)求字符串的字符數(shù),用 LenB()函數(shù)求字符串的字節(jié)數(shù)。
(2)常用的字符串函數(shù)
函數(shù)名 | 功能 | 示例 | 結(jié)果 |
Len(x) | 求x字符串的字符長(zhǎng)度(個(gè)數(shù)) | Len("ab技術(shù)") | 4 |
LenB(x) | 求x字符串的字節(jié)個(gè)數(shù) | LenB("ab技術(shù)") | 8 |
Left(x,n) | 從x字符串左邊取n個(gè)字符 | Left("ABsYt",2) | "AB" |
Right(x,n) | 從x字符串右邊取n個(gè)字符 | Right("ABsYt",2) | "Yt" |
Mid(x,n1,n2) | 從x字符串左邊第n1個(gè)位置開(kāi)始向右取n2個(gè)字符 | Mid("ABsYt",2,3) | "BsY" |
Ucase(x) | 將x字符串中所有小寫(xiě)字母改為大寫(xiě) | Ucase("ABsYug") | ABSYUG |
Lcase(x) | 將x字符串中所有大寫(xiě)字母改為小寫(xiě) | Ucase("ABsYug") | absyug |
Ltrim(x) | 去掉x左邊的空格 | Lrim(" ABC ") | "ABC " |
Rtrim(x) | 去掉x右邊的空格 | Trim(" ABC ") | " ABC" |
Trim(x) | 去掉x兩邊的空格 | Trim(" ABC ") | "ABC" |
Instr(x,"字符", M) | 在x中查找給定的字符,返回該字符在x中的位置,M=1不區(qū)分大小寫(xiě),省略則區(qū)分 | Instr("WBAC","B") | 2 |
String(n,"字符") | 得到由n個(gè)首字符組成的一個(gè)字符串 | String(3,"abcd") | "aaa" |
Space (n) | 得到n個(gè)空格 | Space (3) | "□□□" |
Replace(C,C1,C2,N1,N2) | 在C字符串中從N1開(kāi)始將C2替代N2次C1,如果沒(méi)有N1表示從1開(kāi)始 | Replace("ABCASAA","A","12",2,2) | "ABC12S12A" |
StrReverse (C) | 將字符串反序 | StrReverse ("abcd") | "dcba" |
3. 日期與時(shí)間函數(shù)
常用的日期與時(shí)間函數(shù)
函數(shù)名 | 含義 | 示例 | 結(jié)果 | |
Date () | 返回系統(tǒng)日期 | Date () | 02-3-19 | |
Time() | 返回系統(tǒng)時(shí)間 | Time() | 3:30 :00 PM | |
Now | 返回系統(tǒng)時(shí)間和日期 | Now | 02-3-19 3:30 :00 | |
Month(C) | 返回月份代號(hào)(1-12) | Month("02,03,19") | 3 | |
Year(C) | 返回年代號(hào)(1752-2078) | Year("02-03-19") | 2002 | |
Day(C) | 返回日期代號(hào)(1-31) | Day("02,03,19") | 19 | |
MonthName(N) | 返回月份名 | MonthName(1) | 一月 | |
WeekDay() | 返回星期代號(hào)(1-7),星期日為1 | WeekDay("02,03,17") | 1 | |
WeekDayName(N) | 根據(jù)N返回星期名稱, 1為星期日 | WeekDayName(4) | 星期三 | |
增減日期函數(shù): DateAdd(要增減日期形式,增減量,要增減的日期變量)
例:計(jì)算期末考試日期:DateAdd("ww",15,#2002/3/19#)
求日期之差函數(shù): DateDiff(要間隔日期形式,日期一,日期二)
例:計(jì)算距畢業(yè)天數(shù): DateDiff("d",Now, #2005/6/30#)
日期形式
日期形式 | yyyy | q | m | y | d | w | ww | h | n | s |
意義 | 年 | 季 | 月 | 一年的天數(shù) | 日 | 一周的天數(shù) | 星期 | 時(shí) | 分 | 秒 |
4. 轉(zhuǎn)換函數(shù)
函數(shù)名 | 功能 | 示例 | 結(jié)果 |
Str (x) | 將數(shù)值數(shù)據(jù)x轉(zhuǎn)換成字符串 | Str (45.2) | "45.2" |
Val(x) | 將字符串x中的數(shù)字轉(zhuǎn)換成數(shù)值 | Val("23ab") | 23 |
Chr(x) | 返回以x為ASCII碼的字符 | Chr(65) | "A" |
Asc(x) | 給出字符x的ASCII碼值,十進(jìn)制數(shù) | Asc("a") | 97 |
Cint(x) | 將數(shù)值型數(shù)據(jù)x的小數(shù)部分四舍五入取整 | Cint(3.6) | 4 |
Int(x) | 取小于等于x的最大整數(shù) | Int(-3.5) Int(3.5) | -4 3 |
Fix(x) | 將數(shù)值型數(shù)據(jù)x的小數(shù)部分舍去 | Fix(-3.5) | - 3 |
CBool(x) | 將任何有效的數(shù)字字符串或數(shù)值轉(zhuǎn)換成邏輯型 | CBool(2) CBool("0") | True False |
CByte(x) | 將0-255之間的數(shù)值轉(zhuǎn)換成字節(jié)型 | CByte(6) | 6 |
CDate(x) | 將有效的日期字符串轉(zhuǎn)換成日期 | CDate(#1990,2,23#) | 1990-2-23 |
CCur(x) | 將數(shù)值數(shù)據(jù)x轉(zhuǎn)換成貨幣型 | CCur(25.6) | 25.6 |
Round(x,N) | 在保留N位小數(shù)的情況下四舍五入取整 | Round(2.86,1) | 2.9 |
CStr(x) | 將x轉(zhuǎn)換成字符串型 | CStr(12) | "12" |
CVar(x) | 將數(shù)值型數(shù)據(jù)x轉(zhuǎn)換成變體型 | CVar("23")+"A" | "23A" |
CSng(x) | 將數(shù)值數(shù)據(jù)x轉(zhuǎn)換成單精度型 | CSng(23.5125468) | 23.51255 |
CDbl(x) | 將數(shù)值數(shù)據(jù)x轉(zhuǎn)換成雙精度型 | CDbl(23.5125468) | 23.5125468 |
5. 格式輸出Format函數(shù)
Format函數(shù)用于制定字符串或數(shù)字的輸出格式。
語(yǔ)法:x = Format (expression, fmt )
expression是所輸出的內(nèi)容。fmt是指輸出的格式,這是一個(gè)字符串型的變量,這一項(xiàng)若省略的話,那么Format函數(shù)將和Str函數(shù)的功能差不多。如:
語(yǔ)句 | 輸出 |
Format (2, “0.00”) | 2.00 |
Format (.7, “0%”) | 70% |
Format (1140, “$#,##0”) | $1,140 |
fmt字符的意義
字符 | 意義 | 字符 | 意義 |
0 | 顯示一數(shù)字,若此位置沒(méi)有數(shù)字則補(bǔ)0 | . | 小數(shù)點(diǎn) |
# | 顯示一數(shù)字,若此位置沒(méi)有數(shù)字則不顯示 | , | 千位的分隔符 |
% | 數(shù)字乘以100并在右邊加上”%”號(hào) | - + $ ( ) | 這些字出現(xiàn)在fmt里將原樣打出 |
Format函數(shù)對(duì)時(shí)間進(jìn)行輸出時(shí)的意義
fmt | 輸出 | fmt | 輸出 |
m/d/yy | 8/16/96 | h:mm:ss a/p | 10:41:29 p |
d-mmmm-yy | 16-August-96 | h:mm | 22:41 |
d-mmmm | 16-August | h:mm:ss | 22:41:29 |
mmmm-yy | august-96 | m/d/yy h:mm | 8/16/96 22:41 |
hh:mm AM/PM | 10:41 PM |
6.InputBox函數(shù)與MsgBox函數(shù)
(1)InputBox函數(shù)
語(yǔ)法:x = InputBox (prompt, title, default, xpos, ypos, helpfile, context)
其中,prompt是提示的字符串,這個(gè)參數(shù)是必須的。title是對(duì)話框的標(biāo)題,是可選的。default是文本框里的缺省值,也是可選的。xpos,ypos決定輸入框的位置。helpfile,context用于顯示與該框相關(guān)的幫助屏幕。返回值 x 將是用戶在文本框里輸入的數(shù)據(jù),x是一個(gè)字符串類(lèi)型的值。如果用戶按了Cancel鈕,則x 將為空字符串。
(2)MsgBox函數(shù)
語(yǔ)法:Action = MsgBox (msg, type, title)
數(shù)值 | 符號(hào)常量 | 意義 |
0 | vbOKOnly | 只顯示 Ok 按鈕 |
1 | vbOKCancel | 顯示 Ok Cancel 按鈕 |
2 | vbAbortRetryIgnore | 顯示 Abor Retry Ignore 按鈕 |
3 | vbYesNoCancel | 顯示 Yes No Cancel 按鈕 |
4 | vbYesNo | 顯示 Yes No 按鈕 |
5 | vbRetryCancel | 顯示 Retry Cancel 按鈕 |
16 | vbCritical | Stop Sign對(duì)極其重要的問(wèn)題提醒用戶 |
32 | vbQuestion | Question Mark增亮沒(méi)有危險(xiǎn)的問(wèn)題 |
48 | vbExclamation | Exclamation Mark強(qiáng)調(diào)警告用戶必須知道的事情 |
64 | vbInformation | Information Mark可以使乏味的信息變得有趣 |
0 | vbDefaultButton1 | 第一個(gè)按鈕缺省 |
256 | vbDefaultButton2 | 第二個(gè)按鈕缺省 |
512 | vbDefaultButton3 | 第三個(gè)按鈕缺省 |
Action的值
返回值 | 含義 | 返回值 | 含義 |
1 | 選擇 Ok 按鈕 | 5 | 選擇 Ignore 按鈕 |
2 | 選擇 Cancel 按鈕 | 6 | 選擇 Yes 按鈕 |
3 | 選擇 Abort 按鈕 | 7 | 選擇 No 按鈕 |
4 | 選擇 Retry 按鈕 |
聯(lián)系客服