第三章 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代碼書寫規(guī)則
(1) 程序中不區(qū)分字母的大小寫,,Ab 與AB等效,;
(2) 系統(tǒng)對(duì)用戶程序代碼進(jìn)行自動(dòng)轉(zhuǎn)換:
1)
對(duì)于VB中的關(guān)鍵字,首字母被轉(zhuǎn)換成大寫,,其余轉(zhuǎn)換成小寫
2)
若關(guān)鍵字由多個(gè)英文單詞組成,,則將每個(gè)單詞的首字母轉(zhuǎn)換成大寫
3)
對(duì)于用戶定義的變量、過(guò)程名,,以第一次定義的為準(zhǔn),,以后輸入的自動(dòng)轉(zhuǎn)換成首次定義的形式
3.
語(yǔ)句書寫規(guī)則
(1)在同一行上可以書寫多行語(yǔ)句,,語(yǔ)句間用冒號(hào)(:)分隔
(2)單行語(yǔ)句可以分多行書寫,在本行后加續(xù)行符:空格和下劃線 _
(3) 一行允許多達(dá)255個(gè)字符
4.
程序的注釋方式
(1)整行注釋一般以 Rem開頭,,也可以用撇號(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)是以字母開始以冒號(hào)結(jié)束的字符串,,一般用在GOTO語(yǔ)句(現(xiàn)在很少用)中。
2.2
VB的語(yǔ)言基礎(chǔ)
1.數(shù)據(jù)類型
VB的標(biāo)準(zhǔn)數(shù)據(jù)類型
數(shù)據(jù)類型
|
關(guān)鍵字
|
類型符
|
前綴
|
存儲(chǔ)空間
|
范圍
|
數(shù)值數(shù)據(jù)類型
|
字節(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)存儲(chǔ)各種數(shù)據(jù),但所占用的內(nèi)存比其它類型都多,。為提高運(yùn)行效率(整型效率較高),,或達(dá)到一定的運(yùn)算精確度(浮點(diǎn)型精度較高,但運(yùn)行較慢),,應(yīng)合理的定義數(shù)據(jù)類型,。
2) 邏輯型數(shù)據(jù)只有True 和False兩個(gè)值,轉(zhuǎn)換成整型時(shí),,True=-1 ,,False=0,將其它類型轉(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-22
14:30:20#
Dim
T As Date
T=-2.5
Print T
' 打印出來(lái)的結(jié)果是1899-12-28 12:00:00
5)任何數(shù)據(jù)類型的數(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)
必須以字母或漢字開頭,由字母,、漢字,、數(shù)字或下劃線組成,長(zhǎng)度≤255個(gè)字符,;
2)
不能使用VB中的關(guān)鍵字,,并盡量不與VB中標(biāo)準(zhǔn)函數(shù)名同名;如:Dim ,、Sin
3)VB中不區(qū)分變量的大小寫,,一般變量首字母用大寫,其余用小寫,;常量全部用大寫字母表示
4)為了增加程序的可讀性,,可在變量名前加一個(gè)縮寫的前綴來(lái)表明該變量的數(shù)據(jù)類型。
(2)變量聲明
1)用Dim語(yǔ)句進(jìn)行顯式聲明
語(yǔ)句形式: Dim 變量名 [As 類型]
如:
Dim intX As integer
說(shuō)明:·如果沒(méi)有As
類型,,則默認(rèn)為變體類型,。
·可在變量名后加類型符來(lái)代替As
類型 如: Dim intX%
·一條語(yǔ)句可以同時(shí)定義多個(gè)變量,但每個(gè)變量必須有自己的類型聲明,,類型聲明不能共用,;
·字符串變量根據(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 類型] = 表達(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ù)值類型后再運(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)畫設(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é)果的類型由數(shù)據(jù)和運(yùn)算符共同決定。
(2)表達(dá)式的書寫規(guī)則
1)乘號(hào)不能省略
2)括號(hào)必須成對(duì)出現(xiàn),,均使用圓括號(hào),,可以嵌套,,但必須配對(duì)。
3)表達(dá)式從左到右在同一基準(zhǔn)上書寫,,無(wú)高低,、大小之分。
例:sqr((3*x+y)-z)/(x*y)^4
(3)不同數(shù)據(jù)類型的轉(zhuǎn)換
操作數(shù)的數(shù)據(jù)類型應(yīng)該符合要求,,不同的數(shù)據(jù)應(yīng)該轉(zhuǎn)換成同一類型。在算術(shù)運(yùn)算中,,如果操作數(shù)的數(shù)據(jù)精度不同,,VB規(guī)定運(yùn)算結(jié)果采用精度較高的數(shù)據(jù)類型。
(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è)位置開始向右取n2個(gè)字符
|
Mid("ABsYt",2,3)
|
"BsY"
|
Ucase(x)
|
將x字符串中所有小寫字母改為大寫
|
Ucase("ABsYug")
|
ABSYUG
|
Lcase(x)
|
將x字符串中所有大寫字母改為小寫
|
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ū)分大小寫,省略則區(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開始將C2替代N2次C1,如果沒(méi)有N1表示從1開始
|
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è)字符串類型的值,。如果用戶按了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 按鈕
|
|
|