




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章VisualBasic的語(yǔ)言基礎(chǔ)為應(yīng)用程序建立界面編寫(xiě)代碼,對(duì)用戶和系統(tǒng)事件做出響應(yīng)以執(zhí)行任務(wù)。VB使用BASIC語(yǔ)言為語(yǔ)言基礎(chǔ),可以通過(guò)語(yǔ)言流程結(jié)構(gòu)控制程序,可以處理VB的對(duì)象和控件。2.1標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型數(shù)據(jù):描述客觀事物的數(shù)、字符以及所有能輸入到計(jì)算機(jī)中并被計(jì)算機(jī)程序加工處理的符號(hào)的集合。數(shù)據(jù)是計(jì)算機(jī)程序處理的對(duì)象,也是運(yùn)算產(chǎn)生的結(jié)果,表2-1列出了VB中定義的全部標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型。
表2-1VB6.0的標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型類(lèi)型名稱存儲(chǔ)空間(Byte)范圍
整型Integer2-32768~32767,小數(shù)部分四舍五入
長(zhǎng)整型Long4-2147483648~2147483647,小數(shù)部分四舍五入
單精度浮點(diǎn)型Single4負(fù)數(shù):-3.402823E38~-1.401298E45正數(shù):1.401298E-45~3.402823E38雙精度浮點(diǎn)型Double8貨幣型Currency8字節(jié)型Byte10~255變長(zhǎng)字符串String字符串長(zhǎng)度0~大約20億字節(jié)
定長(zhǎng)字符串String*Sizesizel~65535字節(jié)(64KB)
布爾型Boolean2True或False
日期型Date8100.1.l~9999.12.31
對(duì)象型Object4任何對(duì)象的引用
可變類(lèi)型(數(shù)值)Variant16任何數(shù)值,最大可達(dá)Double的范圍可變類(lèi)型(字符)Variant字符串長(zhǎng)度與可變長(zhǎng)度字符串有相同的范圍
2.1.1數(shù)值(Numeric)型數(shù)據(jù)6種:整型、長(zhǎng)整型、單精度浮點(diǎn)型、雙精度浮點(diǎn)型、貨幣型和字節(jié)數(shù)據(jù)類(lèi)型。1.常規(guī)整型(Integer)占2個(gè)字節(jié),范圍為-32768到+32767簡(jiǎn)稱為整型,表示不帶小數(shù)點(diǎn)和指數(shù)符號(hào)的數(shù),十進(jìn)制整數(shù)只能包含數(shù)字0~9、正負(fù)號(hào)(正號(hào)可以省略)。十進(jìn)制整型數(shù)的范圍為-32768到+32767。例如:10,2566,-38,0。十六進(jìn)制數(shù)由數(shù)字0~9、A~F或a~f組成,并以&H引導(dǎo),其后面的數(shù)據(jù)位數(shù)<=4位,其范圍為&HO到&HFFFF。八進(jìn)制數(shù)由數(shù)字0~7組成,并以&O或&引導(dǎo),其后面的數(shù)據(jù)位數(shù)<=6位,其范圍為&O0至&O177777。2.長(zhǎng)整型數(shù)(Long)占4個(gè)字節(jié),范圍為-2147483648到+2147483647(-231到231-1)十進(jìn)制長(zhǎng)整數(shù)的范圍為-2147483648到+2147483647。如:32768,-2567898十六進(jìn)制長(zhǎng)整數(shù)以&H開(kāi)頭,以&結(jié)尾,其范圍為&HO&到&HFFFFFFFF&。八進(jìn)制數(shù)長(zhǎng)整數(shù)以&O或&開(kāi)頭,以&結(jié)尾,其范圍為&O0&到&O37777777777&。
3.單精度數(shù)(Single)占4個(gè)字節(jié),范圍為-3.402823E38~3.402823E38??杀硎咀疃?位有效數(shù)字的數(shù)。用定點(diǎn)形式和浮點(diǎn)形式單精度數(shù)的定點(diǎn)形式是在該范圍內(nèi)含有小數(shù)的數(shù)。例如+1.234.00669-31.24683單精度數(shù)的浮點(diǎn)形式是用科學(xué)計(jì)數(shù)法,即以10的整數(shù)次冪表示的數(shù),以“E”來(lái)表示底數(shù)10。例如-3.4X105,l.234X10-12分別表示為:
-3.4E5,l.234E-124,雙精度數(shù)(Double)占8個(gè)字節(jié),范圍為:
-1.79769313486232D308~1.79769313486232D308。可表示最多15位有效數(shù)字的數(shù)雙精度數(shù)也有定點(diǎn)和浮點(diǎn)兩種形式。
雙精度數(shù)的定點(diǎn)形式是在該范圍內(nèi)含有小數(shù)的數(shù)。例如:-31.1234567890123雙精度數(shù)的浮點(diǎn)形式是用科學(xué)計(jì)數(shù)法,以“D”來(lái)代表指數(shù)的底的數(shù)。例如:-3.1234567D5212O.1234568D-45
5.貨幣型(Currency)占8個(gè)字節(jié),范圍為:-922337203685477.5808~922337203685477.5807Currency數(shù)據(jù)類(lèi)型支持小數(shù)點(diǎn)右面4位
和小數(shù)點(diǎn)左面15位,精確的定點(diǎn)數(shù)據(jù)類(lèi)型,適用于貨幣計(jì)算。6.字節(jié)型(Byte)表示無(wú)符號(hào)的整數(shù),占1個(gè)字節(jié),范圍為:0~255。說(shuō)明:(1)如果數(shù)據(jù)包含小數(shù),則應(yīng)使用Single、Double或Currency型。(2)所有數(shù)值變量都可相互賦值,將浮點(diǎn)數(shù)賦予整數(shù)(四舍五入)。2.1.2字符(String)型數(shù)據(jù)字符型數(shù)據(jù)是指一切可打印的字符和字符串,是用雙引號(hào)括起來(lái)的一串字符。一個(gè)西文字符占一個(gè)字節(jié),一個(gè)漢字或全角字符占兩個(gè)字節(jié)。兩種類(lèi)型字符串:變長(zhǎng)字符串和定長(zhǎng)字符串1.變長(zhǎng)字符串,范圍:0~大約20億字節(jié)格式:Dim變量名AsString指字符串長(zhǎng)度不固定,等于所賦字符串的長(zhǎng)度。沒(méi)有定義定長(zhǎng)的字符串屬于變長(zhǎng)。
例如:”VisualBasic”,”可視化編程”。2.定長(zhǎng)字符串范圍:1~65535字節(jié)格式:Dim變量名StringAs*size
定長(zhǎng)字符串是長(zhǎng)度不變的字符串。例如,一個(gè)長(zhǎng)度為10個(gè)字符的字符串變量:
DimAAsString*10
A=“Beijing,China”如果賦予字符串的字符少于10個(gè),則用空格將A的不足部分填滿。如果賦予字符串的長(zhǎng)度超過(guò)10個(gè),則截去超出部分的字符。2.1.3布爾(Boolean)型布爾型數(shù)據(jù)有兩個(gè)值:真(True)和假(False),用來(lái)表示邏輯判斷的結(jié)果。
如“True/False”、“Yes/No”、“On/Off”等,當(dāng)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為Boolean型時(shí),0會(huì)轉(zhuǎn)換為False,其他非0值轉(zhuǎn)換為T(mén)rue。當(dāng)把Boolean值轉(zhuǎn)換為數(shù)值型時(shí),F(xiàn)alse轉(zhuǎn)換為0,True轉(zhuǎn)換成-12.1.4日期(Date)型數(shù)據(jù)Date型數(shù)據(jù)用來(lái)表示日期和時(shí)間,可以表示多種格式的日期和時(shí)間。Date型數(shù)據(jù)用兩個(gè)“?!狈?hào)把表示日期和時(shí)間的值括起來(lái),就像字符串?dāng)?shù)據(jù)用雙引號(hào)括起來(lái)一樣。例如:#11/18/1999#,#1999-11-18#,#11/18/1999110:28:56pm#。2.1.5對(duì)象(Object)型數(shù)據(jù)可用來(lái)表示應(yīng)用程序中的對(duì)象??梢杂肧et語(yǔ)句指定一個(gè)對(duì)象型(Object)的變量去引用應(yīng)用程序所識(shí)別的任何實(shí)際對(duì)象。例如:
DimobjDbAsObject
SetObjDb=OpenDatabase(“C:\Vb6\Biblio.mdb”)
2.1.6可變(Variant)類(lèi)型數(shù)據(jù)如果沒(méi)有聲明變量,VB缺省使用“可變類(lèi)型(Variant)”的數(shù)據(jù)類(lèi)型。能夠表示所有系統(tǒng)定義類(lèi)型的數(shù)據(jù),當(dāng)把它們賦予Variant型時(shí),不必在這些數(shù)據(jù)的類(lèi)型間進(jìn)行轉(zhuǎn)換,VB會(huì)自動(dòng)完成任何必要的轉(zhuǎn)換。例如:SomeValue=“18”‘SomeValue包含“18”(雙字符的串),字符型
SomeValue=SomeValue-15‘現(xiàn)在SomeValue包含數(shù)值3,數(shù)值型
SomeValue=“U”&SomeValue’現(xiàn)在SomeValue包含“U3”(雙字符的串),字符型要盡量少用Variant數(shù)據(jù)類(lèi)型,以避免發(fā)生錯(cuò)誤如果連接兩個(gè)字符串,則應(yīng)該用“&”操作符,而不要用“+”操作符。2.2變量變量就是命名的存儲(chǔ)數(shù)據(jù)的內(nèi)存單元,每個(gè)變量為一個(gè)盒子,盒子有一個(gè)名字,
盒子中存放的是數(shù)據(jù)。變量有兩個(gè)特性:名字和數(shù)據(jù)類(lèi)型。變量的名字用于在程序中標(biāo)識(shí)變量和使用變量的值,
數(shù)據(jù)類(lèi)型則確定變量中能保存哪種數(shù)據(jù)。如果某一個(gè)變量在程序運(yùn)行中數(shù)據(jù)發(fā)生變化,則
現(xiàn)行值將取代原來(lái)的數(shù)據(jù)。例如將6放到變量a中,則a的值變?yōu)?,原來(lái)的數(shù)被清除。VB變量形式屬性變量和內(nèi)存變量。屬性變量:在窗體中設(shè)計(jì)用戶界面時(shí),VB會(huì)自動(dòng)為產(chǎn)生的對(duì)象(包括窗體本身)創(chuàng)建一組變量,并為每個(gè)變量設(shè)置其默認(rèn)值。這類(lèi)變量可供程序員直接使用,如引用其值或賦予新值。內(nèi)存變量則要靠程序員根據(jù)程序需要?jiǎng)?chuàng)建,2.2.l變量的命名規(guī)則1)變量名的第1個(gè)字符必須是字母。如:sum,a2。不能為2a。2)變量名中不能包含小數(shù)點(diǎn)。如不能為:int.sum。3)組成變量名的字符數(shù)不得超過(guò)255個(gè)字符。4)變量名在同一個(gè)范圍內(nèi)必須是唯一的。5)不能用VB的關(guān)鍵字做變量名。指VB中系統(tǒng)己經(jīng)定義的詞,如語(yǔ)句、函數(shù)、運(yùn)算符名。6)最好使用有意義和容易記憶以及簡(jiǎn)單明了的變量名
2.2.2變量的聲明與其他語(yǔ)言不同,VB不要求程序員在使用變量前特別聲明。如果沒(méi)有聲明變量,VB使用稱為“可變類(lèi)型(Variant)”的缺省數(shù)據(jù)類(lèi)型。缺點(diǎn):一是它會(huì)浪費(fèi)內(nèi)存空間,二是可變類(lèi)型可能無(wú)效。1.聲明變量
用一個(gè)語(yǔ)句來(lái)定義變量的類(lèi)型,又稱為顯式聲明。聲明語(yǔ)句的語(yǔ)法為
{Dim|Private|Static|Public}(變量名)[As<類(lèi)型>][,<變量名2>[As<類(lèi)型2>]]…說(shuō)明:(l)工程-模塊-過(guò)程Public語(yǔ)句用來(lái)聲明公有的模塊級(jí)變量Private或Dim語(yǔ)句用來(lái)聲明私有的模塊級(jí)變量,Dim或Private或Static語(yǔ)句來(lái)聲明過(guò)程級(jí)局部變量(參見(jiàn)第8章)。(2)(變量名)遵循標(biāo)準(zhǔn)的變量命名約定。(3)(類(lèi)型)用來(lái)定義被聲明(變量名)的數(shù)據(jù)類(lèi)型或?qū)ο箢?lèi)型。變量的數(shù)據(jù)類(lèi)型可以是表2-1中的類(lèi)型,也可以是用戶自定義的類(lèi)型。例如:DimCountAsIntegerPrivatestrNameAsstringPrivateNamelASString*8PublicYnAsBooleanDimaa’若沒(méi)有指定類(lèi)型,變量是Variant類(lèi)型使用聲明語(yǔ)句建立一個(gè)變量后,VB自動(dòng)將數(shù)值類(lèi)型的變量賦初值0,將字符或Variant類(lèi)型的變量賦空串,將布爾型的變量賦False。使用變量時(shí),VB會(huì)自動(dòng)轉(zhuǎn)換變量值的類(lèi)型,使變量的數(shù)據(jù)與變量相匹配。
例如,聲明變量為DimCountAsIntegerCount=1.5‘?dāng)?shù)1.5為單精度浮點(diǎn)型Single變量Count將自動(dòng)將1.5轉(zhuǎn)換為整型數(shù)(Integer)2(四舍五入)。強(qiáng)制顯式聲明變量語(yǔ)句OptionExplicit為了避免寫(xiě)錯(cuò)變量名引起的錯(cuò)誤,可以規(guī)定在使用變量前,必須先聲明,否則VB將發(fā)出警告“Vaiablenotdefined”(變量未定義)。要強(qiáng)制顯式聲明變量,可以在類(lèi)模塊、窗體模塊或標(biāo)準(zhǔn)模塊的聲明段中加人語(yǔ)句
OptionExplicit方法:激活代碼編輯窗口,從對(duì)象下拉列表框中選擇“(通用)”,從過(guò)程下拉列表框中選擇‘/聲明/’,在圖2-2所示的位置輸入OptionExplicit。2.3常量常量是指在程序運(yùn)行過(guò)程中始終保持不變的常數(shù)、字符串等。在VB中,有兩種形式的常量:直接常量和符號(hào)常量直接常量就是在程序代碼中,以直接明顯的形式給出的數(shù)據(jù)。2.3.l直接常量分為:字符串常量、數(shù)值常量、布爾常量、日期常量。1.字符串常量
字符串常量就是用雙引號(hào)括起來(lái)的一串字符。例如:”A”,”123”??沾喝绻粋€(gè)字符串僅有雙引號(hào)(即雙引號(hào)中無(wú)任何字符,也不含空格),即””2.?dāng)?shù)值常量就是常數(shù),共有5種數(shù)值類(lèi)型:整數(shù)、長(zhǎng)整數(shù)、單精度、雙精度和字節(jié)數(shù)。3.布爾常量布爾常量只有True(真)和False(假)兩個(gè)值。4.日期常量用兩個(gè)“#”符號(hào)把表示日期和時(shí)間的值括起來(lái)表示日期常量。例如:#06/20/2000#。2.3.2符號(hào)常量符號(hào)常量:如果在程序中多次出現(xiàn)一些很大的數(shù)字或很長(zhǎng)的字符串,給其賦予一個(gè)名字,以后用到就用名字代表,便于程序修改和閱讀。符號(hào)常量有點(diǎn)像變量,但不能像變量那樣賦以新值。符號(hào)常量又分為兩種:內(nèi)部(系統(tǒng)定義)常量和符號(hào)(用戶定義)常量。1.系統(tǒng)內(nèi)部定義的常量
內(nèi)部或系統(tǒng)定義的常量是VB和控件提供的,在
代碼中可以直接使用它們??梢栽凇皩?duì)象瀏覽器”中
的查看內(nèi)部常量。選擇“視圖”菜單中的“對(duì)象瀏覽
器”,則打開(kāi)“對(duì)象瀏覽器”窗口,如圖2-3上所示。2.用戶定義的符號(hào)常量使用Const語(yǔ)句來(lái)給用戶定義符號(hào)常量分配名字、值和類(lèi)型。聲明常量的語(yǔ)法為
[Public|Private]Const<常量名>[AS<數(shù)據(jù)類(lèi)型>]=(表達(dá)式)…說(shuō)明:(1)<常量名>的命名規(guī)則與建立變量名的規(guī)則一樣。(2)(表達(dá)式)由數(shù)值常量、字符串等常量及運(yùn)算符組成.Const語(yǔ)句可以表示數(shù)值或Date/Time量:ConstconPi=3.14159265358979PublicConstconMaxPlanetsASInteger=9ConstconReleaseDate=#12/18/99#也可用Const語(yǔ)句定義字符串常量:PublicConstconVersion=“07.1O.A”
,conCodeName=“Enigma”
可以用逗號(hào)進(jìn)行分隔,舉例:CONSTpi=3.1416r=5length=2*pi*rPRINTlength
2.4表達(dá)式運(yùn)算是對(duì)數(shù)據(jù)進(jìn)行加工的過(guò)程,運(yùn)算符:描述各種不同運(yùn)算的符號(hào)。操作數(shù):參與運(yùn)算的數(shù)據(jù)。表達(dá)式用來(lái)表示某個(gè)求值規(guī)則,它由運(yùn)算符和配對(duì)的圓括號(hào)將常量、變量、函數(shù)、對(duì)象等操作數(shù)以合理的形式組合而成。表達(dá)式用來(lái)運(yùn)算,都產(chǎn)生唯一的值。在VB中有5類(lèi)運(yùn)算符和表達(dá)式:算術(shù)運(yùn)算符和表達(dá)式、字符串運(yùn)算符和表達(dá)式、日期運(yùn)算符和表達(dá)式、關(guān)系運(yùn)算符和表達(dá)式、布爾運(yùn)算符和表達(dá)式。本章先介紹前3類(lèi),將在第4章中作詳細(xì)介紹。2.4.l算術(shù)表達(dá)式算術(shù)表達(dá)式也稱數(shù)值型表達(dá)式,由算術(shù)運(yùn)算符、數(shù)值型常量、變量、函數(shù)組成,結(jié)果為一數(shù)值。例如:50*2+(70-6)/8的運(yùn)算結(jié)果為:108算術(shù)表達(dá)式的格式為:<數(shù)值1><算術(shù)運(yùn)算符1><數(shù)值2>[<算術(shù)算符2><數(shù)值3>]1.算術(shù)運(yùn)算符VB有7個(gè)算術(shù)運(yùn)算符,見(jiàn)表2-2。取負(fù)“-”是單目運(yùn)算符,其他均為雙目運(yùn)算符。加(+)、減(-)、乘(*)、浮點(diǎn)除法(/)、整除(\)、乘方(^)
表2-2算術(shù)運(yùn)算符┌────┬──────┐
│運(yùn)算符│名稱│
├────┼──────┤
│^│乘方│
├────┼──────┤
│*│乘法│
├────┼──────┤
│/│浮點(diǎn)除法│
├────┼──────┤
│\│整數(shù)除法│
├────┼──────┤
│Mod│求余運(yùn)算(取模)│
├────┼──────┤
│+│加法│
├────┼──────┤
│-│減法│
└────┴──────┘
(1)/和\的區(qū)別:1/2=0.5,l\2=0整除號(hào)\用于整數(shù)除法,運(yùn)算的數(shù)據(jù)含有小數(shù),首先將它們四舍五入,使其成為整數(shù),結(jié)果取其整數(shù)部分(截去小數(shù))8.6\2.4(2)模運(yùn)算符Mod用來(lái)求整型除法的余數(shù)。例如:9Mod7的值為2,16Mod25的值是16。運(yùn)算的數(shù)據(jù)含有小數(shù),首先將它們四舍五入,使其成為整數(shù),然后再進(jìn)行運(yùn)算,若表達(dá)式為:25.4Mod6.9=4-25Mod7(3)進(jìn)行除法(包括整除)運(yùn)算時(shí),除數(shù)為0,錯(cuò)誤信息。2.表達(dá)式的書(shū)寫(xiě)規(guī)則與數(shù)學(xué)表達(dá)式寫(xiě)法區(qū)別,(1)每個(gè)符號(hào)占1格,所有符號(hào)都必須并排寫(xiě)在同一橫線上,不能寫(xiě)上標(biāo)或下標(biāo)。例如:23要寫(xiě)成2^3,x1+x2要寫(xiě)成x1+x2(2)在數(shù)學(xué)表達(dá)式中省略的內(nèi)容必須重新寫(xiě)上。例如:2X要寫(xiě)成2*X。(3)都用小括號(hào)(),必須配對(duì)例如:3[x+2(y+z)]必須寫(xiě)成3*(x+2*(y+z))。3.算術(shù)運(yùn)算符的優(yōu)先級(jí)算術(shù)運(yùn)算符的運(yùn)算優(yōu)先順序(表2-3)表2-3運(yùn)算符的優(yōu)先順序┌────┬──────────┐
│優(yōu)先順序│運(yùn)算符│
├────┼──────────┤
│l│^(指數(shù)運(yùn)算)│
├────┼──────────┤
│2│-(取負(fù))│
├────┼──────────┤
│3│*、/(乘法和除法)│
├────┼──────────┤
│4│\(整數(shù)除法)│
├────┼──────────┤
│5│Mod(求模運(yùn)算)│
├────┼──────────┤
│6│+、-(加法和減法)│
└────┴──────────┘2.4.2字符串表達(dá)式由字符串常量、變量、函數(shù)和運(yùn)算符組成。VB只有一種字符串運(yùn)算符,即連接運(yùn)算符“&”,用于連接兩個(gè)或更多的字符串。格式為:<字符串1>&<字符串2>[&<字符串3>]還可以用“+”把兩個(gè)字符串連接成一個(gè)字符串。為了避免與加法運(yùn)算符產(chǎn)生混淆,應(yīng)該用“&”號(hào)。“&”會(huì)自動(dòng)將非字符串類(lèi)型的數(shù)據(jù)轉(zhuǎn)換成字符串后進(jìn)行連接而“+”則不能自動(dòng)轉(zhuǎn)換。例如:123&456&"abc"'連接后結(jié)果為:"123456abc“2.4.3日期表達(dá)式日期型表達(dá)式由算術(shù)運(yùn)算符“+、-”、算術(shù)表達(dá)式、日期型常量、變量和函數(shù)組成。日期型數(shù)據(jù)是一種特殊的數(shù)值型數(shù)據(jù),只能進(jìn)行加“+”、減“-”運(yùn)算。有下面3種情況:(1)兩個(gè)日期型數(shù)據(jù)可以相減,結(jié)果是一個(gè)數(shù)值型數(shù)據(jù)(兩個(gè)日期相差的天數(shù))。例如:#12/19/1999#-#11/16/1999#‘結(jié)果為數(shù)值型數(shù)據(jù):33(2)一個(gè)表示天數(shù)的數(shù)值型數(shù)據(jù)可加到日期型數(shù)據(jù)中,其結(jié)果仍然為一日期型數(shù)據(jù)(向后推算日期)例如:
#11/16/1999#+33’結(jié)果為日期型數(shù)據(jù):#1999-12-19#(3)一個(gè)表示天數(shù)的數(shù)值型數(shù)據(jù)可從日期型數(shù)據(jù)中減掉它,其結(jié)果仍然為一日期型數(shù)據(jù)(向前推算日期)。例如:
#99-12-19#-33‘結(jié)果為日期型數(shù)據(jù):#1999-11-16#2.5常用內(nèi)部函數(shù)函數(shù)是一種特定的運(yùn)算,在程序中給出函數(shù)名和需要的參數(shù),就能得到它的函數(shù)值。在VB中,有兩類(lèi)函數(shù):內(nèi)部函數(shù)和用戶定義函數(shù)內(nèi)部函數(shù)也稱標(biāo)準(zhǔn)函數(shù)可分為:轉(zhuǎn)換函數(shù)、數(shù)學(xué)函數(shù)、字符串函數(shù)、
日期時(shí)間函數(shù)、隨機(jī)函數(shù)。2.5.1數(shù)學(xué)運(yùn)算函數(shù)數(shù)學(xué)運(yùn)算函數(shù)用于各種數(shù)學(xué)運(yùn)算。sin30°VB表示為Sin(30*3.142/180)lgxVB表示為L(zhǎng)og(X)/Log(10)Int(X):得到不大于x的最大整數(shù).如:Int(9.5)=9;Int(-9.5)=-10;應(yīng)用:四舍五入保留小數(shù)位:如:X=1.2345保留小數(shù)兩位,可以寫(xiě)成Int((X*100)+.5)/100
┌───┬─────────────┐
│函數(shù)│說(shuō)明│
├───┼─────────────┤
│Sin│返回弧度的正弦│
├───┼─────────────┤
│Cos│返回弧度的余弦│
├───┼─────────────┤
│Tan│返回弧度的正切│
├───┼─────────────┤
│Atn│返回用弧度表示的反正切值│
├───┼─────────────┤
│Abs│返回?cái)?shù)的絕對(duì)值│
├───┼─────────────┤
│Exp│返回e的指定次冪│
├───┼─────────────┤
│log│返回一個(gè)數(shù)值的自然對(duì)數(shù)│
├───┼─────────────┤
│Sgn│返回?cái)?shù)的符號(hào)值│
├───┼─────────────┤
│Sqr│返回?cái)?shù)的平方根│
├───┼─────────────┤
│Int│返回不大于給定數(shù)的最大整數(shù)│
├───┼─────────────┤
│Fix│返回?cái)?shù)的整數(shù)部分│
└───┴─────────────┘2.5.2字符串函數(shù)VB提供了字符串函數(shù)具有強(qiáng)大的處理能力如表2-5所示。2.5.3日期和時(shí)間函數(shù)能向用戶顯示日期和時(shí)間,提供某個(gè)事件何時(shí)發(fā)生及持續(xù)時(shí)間長(zhǎng)短的信息。時(shí)間和日期函數(shù)如表2-6所示。┌──────────────┬────────────────────┐
│函數(shù)│說(shuō)明│
├──────────────┼────────────────────┤
│Ltrim│返回刪除字符串左端空格后的字符串│
├──────────────┼────────────────────┤
│Rtrim│返回刪除字符串右端空格后的字符串│
├──────────────┼────────────────────┤
│Trim│返回刪除字符串前導(dǎo)和尾隨空格后的字符串│
├──────────────┼────────────────────┤
│Left│返回從字符串左邊開(kāi)始的指定數(shù)目的字符│
├──────────────┼────────────────────┤
│Right│返回從字符串右端開(kāi)始的指定數(shù)目的字符│
├──────────────┼────────────────────┤
│Mid│返回從字符串指定位置開(kāi)始的指定數(shù)目字符│
├──────────────┼────────────────────┤
│Len│返回字符串的長(zhǎng)度│
├──────────────┼────────────────────┤
│Instr│返回字符串在給定的字符串中出現(xiàn)的開(kāi)始位置│
├──────────────┼────────────────────┤
│Space│返回由指定數(shù)目空格字符組成的字符串│
├──────────────┼────────────────────┤
│String│返回包含一個(gè)字符重復(fù)指定次數(shù)的字符串│
├──────────────┼────────────────────┤
│lcase│返回以小寫(xiě)字母組成的子符串│
├──────────────┼────────────────────┤
│Ucase│返回以大寫(xiě)字母組成的字符串│
├──────────────┼────────────────────┤
│str│返回把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符型后的字符串│
├──────────────┼────────────────────┤
│Val│把一個(gè)數(shù)字字符串轉(zhuǎn)換為相應(yīng)的數(shù)值│
└──────────────┴────────────────────┘ASC(字符串表達(dá)式)求字符串的第一個(gè)字符ASC碼ASC碼函數(shù)Asc("ABC"),ASC(“586”)CHR(數(shù)值表達(dá)式)求ASC碼對(duì)應(yīng)的字母函數(shù)CHR(48)->”0”,CHR(65)->”A”LEFT(字符串,個(gè)數(shù))求左子串函數(shù)LEFT(“中國(guó)人民”,2)RIGHT(字符串,個(gè)數(shù))求右子串函數(shù)right("中國(guó)人民",2)MID(字符串,
開(kāi)始位置,個(gè)數(shù))求中間子串函數(shù)mid("中國(guó)人民",3,2)LEN(字符串表達(dá)式)求字符串字符串個(gè)數(shù):LEN(“ABC”),LEN(“中國(guó)”)STR(數(shù)值表達(dá)式)數(shù)值轉(zhuǎn)換成字符串Str(72+18)正數(shù):把正數(shù)轉(zhuǎn)換成字符串,自動(dòng)在前加一個(gè)空格;Len(Str(72+18))VAL(字符串表達(dá)式)字符串轉(zhuǎn)換成數(shù)值:1)val函數(shù)忽略所有空格2)val函數(shù)只把最左邊的數(shù)字串(符號(hào)和小數(shù)點(diǎn))轉(zhuǎn)換成數(shù)值VAL(STR(72+18))結(jié)果90,Val(“72.5.9+18”)結(jié)果72.5LCASE(字符串表達(dá)式)轉(zhuǎn)成小寫(xiě)字母函數(shù)LCASE(“AbCdEf”)UCASE(字符串表達(dá)式)轉(zhuǎn)成大寫(xiě)字母函數(shù)UCASE(“AbCdEf”)STRING(數(shù)字n,字符串)產(chǎn)生n個(gè)相同字符函數(shù):STRING(20,"*#")LTRIM(字符串表達(dá)式)刪除字符串左端空格函數(shù)“ABC”+LTRIM(“123”)RTRIM(字符串表達(dá)式)刪除字符串右端空格函數(shù)RTRIM(“123”)+“ABC”SPACE(數(shù)值表達(dá)式n)產(chǎn)生n個(gè)空格函數(shù):PRINT"*"&SPACE(10)&"*"INSTR([開(kāi)始位置],主串1,子字串2)查子串位置函數(shù)INSTR(3,"CHINA","IN")為3表2-6常用日期和時(shí)間函數(shù)┌─────┬────────────────────┐
│函數(shù)│說(shuō)明│
├─────┼────────────────────┤
│NOW│返回系統(tǒng)日期和時(shí)間(yy-mm-ddhh:mm:ss)│
├─────┼────────────────────┤
│Date│返回當(dāng)前日期(yy-mm-dd)│
├─────┼────────────────────┤
│Day│返回月中第幾天(1~31)│
├─────┼────────────────────┤
│WeekDay│返回是星期幾(l~7)│
├─────┼────────────────────┤
│Month│返回一年中的某月(l~12)│
├─────┼────────────────────┤
│Year│返回年份(yyyy)│
├─────┼────────────────────┤
│Hour│返回小時(shí)(0~23)│
├─────┼────────────────────┤
│Minute│返回分鐘(0~59)│
├─────┼────────────────────┤
│Second│返回秒(0~59)│
├─────┼────────────────────┤
│Timer│返回從午夜算起已過(guò)的秒數(shù)│
├─────┼────────────────────┤
│Time│返回當(dāng)前時(shí)間(hh:mm:ss)│
└─────┴────────────────────┘2.5.4.格式輸出函數(shù)Format()使數(shù)值、日期或字符型數(shù)據(jù)按指定的格式輸出。格式為Format(<表達(dá)式>,<格式字符串>)說(shuō)明:(1)(表達(dá)式)可以是數(shù)值型、日期型或字符型的表達(dá)式。(2)<格式字符串>是一個(gè)字符串常量或變量,由專(zhuān)門(mén)的格式說(shuō)明字符組成,決定了數(shù)據(jù)項(xiàng)(表達(dá)式)的顯示格式和長(zhǎng)度。(3)當(dāng)〈格式字符串〉是字符串常量的時(shí)候,必須放在雙引號(hào)中。(4)返回一個(gè)Variant類(lèi)型的值。格式說(shuō)明字符按照類(lèi)型可以分為數(shù)值型、日期型和字符型,例如表2-7、表2-8、表2-9所示。表2-7常用數(shù)值型格式說(shuō)明字符┌───┬─────────────────────────────────┬─
────────────┐
│字符│說(shuō)明│例
子│
├───┼─────────────────────────────────┼─
────────────┤
│#│數(shù)字占位符。顯示一位數(shù)字或什么都不顯示。如果表達(dá)式在格式字符申中│
Format(l23.45,"####.###")│
││#的位置上有數(shù)字存在,那么就顯示出來(lái);否則,該位置就什么都不顯示│返
回:123.45│
├───┼─────────────────────────────────┼─
────────────┤
│0│數(shù)字占位符。顯示一位數(shù)字或是零。如果表達(dá)式在格式字符串中0的位置│
Format(l23.45,"####.###")│
││上有一位數(shù)字存在,那么就顯示出來(lái);否則,就以零顯示│返
回:0123.450│
├───┼─────────────────────────────────┼─
────────────┤
│.│小數(shù)點(diǎn)占位符│
│
├───┼─────────────────────────────────┼─
────────────┤
│,│千分位符號(hào)占位符│
Format(1234.5,"#,###,##")│
│││返
回:l,234.5│
├───┼─────────────────────────────────┼─
────────────┤
│%│百分比符號(hào)占位符。表達(dá)式乘以100。而百分比字符(%)會(huì)插入到格式│Format
(0.12345,“0.00%”)│
││字符串中出現(xiàn)的位置上│返
回:12.35%│
└───┴─────────────────────────────────┴─
────────────┘
表2-7常用日期型格式說(shuō)明字符┌──────┬────────────────────────────────
─┬───────────────┐
│字符│說(shuō)明
│例子│
├──────┼────────────────────────────────
─┼───────────────┤
│dddddd│以完整日期表示法顯示日期系列數(shù)(包括年、月、日)│
Format(Date,"dddddd")│
││
│返回:2000年5月15日│
├──────┼────────────────────────────────
─┼───────────────┤
││以全稱來(lái)表示月(January~December)
│format(Date,"mmmm")│
││
│返回:May│
├──────┼────────────────────────────────
─┼───────────────┤
│yyyy│以四位數(shù)來(lái)表示年
│Foramt(Date,"yyyy")│
││
│返回:2000│
├──────┼────────────────────────────────
─┼───────────────┤
│Hh│以有前導(dǎo)零的數(shù)字來(lái)顯示小時(shí)(00~23)
││
├──────┼────────────────────────────────
─┼───────────────┤
│Nn│以有前導(dǎo)零的數(shù)字來(lái)顯示分(00~59)
││
├──────┼────────────────────────────────
─┼───────────────┤
│Ss│以有前導(dǎo)零的數(shù)字來(lái)顯示秒(0~59)
│Format(Time,"Hh:Nn:Ss")│
││
│返回:20:56:01│
├──────┼────────────────────────────────
─┼───────────────┤
│ttttt│以完整時(shí)間表示法顯示(包括時(shí)、分、秒),用系統(tǒng)識(shí)別的時(shí)間格式定義
│Format(Time,"tttttt")│
││的時(shí)間分隔符進(jìn)行格式化。缺省的時(shí)間格式為h:mm:SS
│返回:20:57:06│
├──────┼────────────────────────────────
─┼───────────────┤
│AM/PM│在中午前以12小時(shí)配合大寫(xiě)AM符號(hào)來(lái)使用;在中午和11:59P.M.間以
12│FOrmat(Time,"tttttAM/PM")│
││小時(shí)配合人寫(xiě)PM來(lái)使用
│返回:2o:57:46PM│
└──────┴────────────────────────────────
─┴───────────────┘
表2-9常用的字符型格式說(shuō)明字符┌────┬─────────────────────────────────┬
─────────────────────┐
│字符│說(shuō)明│
例子│
├────┼─────────────────────────────────┼
─────────────────────┤
││字符占位符。顯示字符或是空白。如果字符串在格式字符申中@的位│
Format("ABab","@@@@@@")│
││置有字符存在,那么就顯示出來(lái):否則,就在那個(gè)位置上顯示空白。除│
返回:"ABab"│
│@│非有驚嘆號(hào)字符(?。┰诟袷阶址?,否則字符占位符將由右而左被填充│
│
│││
│
├────┼─────────────────────────────────┼
─────────────────────┤
││字符占位符。顯示字符或什么都不顯示。如果字符串在格式字符串中│
Format("ABab","&&&&&&")│
││和號(hào)(&)的位置有字符存在,那么就顯示出來(lái);否則,就什么都不顯示。│
返回:"ABab"│
│&│除非有驚嘆號(hào)字符(!)在格式字符申中,否則,字符占位符將由右而左被│
│
││填充、。│
│
├────┼─────────────────────────────────┼
─────────────────────┤
│<│強(qiáng)制小寫(xiě)。將所有字符以小寫(xiě)格式顯示│
Format("ABab","<@@@@@@")│
│││
返回:"abab"│
├────┼─────────────────────────────────┼
─────────────────────┤
│>│強(qiáng)制大寫(xiě)。將所有字符以大寫(xiě)格式顯示│
Format("ABab","<@@@@@@")│
│││
返回:"ABAB"│
├────┼─────────────────────────────────┼
─────────────────────┤
│!│強(qiáng)制由左而右填充字符占位符。缺省值是由右而左填充字符占位符│
Format("ABab","!@@@@@@")│
│││
返回:"ABab"│
└────┴─────────────────────────────────┴
─────────────────────┘2.5.5隨機(jī)數(shù)語(yǔ)句和函數(shù)
在測(cè)試、模擬和游戲程序中,經(jīng)常要使用隨機(jī)數(shù),隨機(jī)數(shù)語(yǔ)句和函數(shù)如表2-10所示。表2-10隨機(jī)數(shù)函數(shù)和語(yǔ)句┌────────┬──────────┐
│函數(shù)和語(yǔ)句│說(shuō)明│
├────────┼──────────┤
│Randomize語(yǔ)句│產(chǎn)生隨機(jī)數(shù)的種子│
├────────┼──────────┤
│Rnd函數(shù)│產(chǎn)生0~l之間的隨機(jī)數(shù)│
└────────┴──────────┘Rnd[(X)]得到隨機(jī)數(shù)[0~1)半閉半開(kāi)區(qū)間 RND(x)=RND2.5.6數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)在VB中,一些數(shù)據(jù)類(lèi)型可以自動(dòng)轉(zhuǎn)換,例如數(shù)字字符串可以自動(dòng)轉(zhuǎn)換為數(shù)值型,但是多數(shù)類(lèi)型不能自動(dòng)轉(zhuǎn)換,需要用類(lèi)型轉(zhuǎn)換函數(shù)。轉(zhuǎn)換函數(shù)如表2-11所示。
表2-11數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)┌──────────┬──────────────┬─────────────
──────────────────────┐
│函數(shù)│返回類(lèi)型│參數(shù)范圍
│
├──────────┼──────────────┼─────────────
──────────────────────┤
│Cbool│Boolean│任何有效的字符串或數(shù)值表達(dá)
式│
├──────────┼──────────────┼─────────────
──────────────────────┤
│Cbyte│Byte│0~255
│
├──────────┼──────────────┼─────────────
──────────────────────┤
│Ccur│Currency│-922337203685477.58O8~
922337203685477.5807│
├──────────┼──────────────┼─────────────
──────────────────────┤
│Cdate│Date│任何有效的日期表達(dá)式
│
├──────────┼──────────────┼─────────────
──────────────────────┤
│CDbl│Double│負(fù)數(shù):-
1.79769313486232E308~-4.94065645841247E-324;│
│││正數(shù):
4.94065645841247E-324~l.79769313486232E308│
├──────────┼──────────────┼─────────────
──────────────────────┤
│Cint│Integer│-32768~32767,小數(shù)部分四
舍五人│
├──────────┼──────────────┼─────────────
──────────────────────┤
│CLong│Long│-2147483648~2147483
647,小數(shù)部分四舍五入│
├──────────┼──────────────┼─────────────
──────────────────────┤
│CSng│Single│負(fù)數(shù):-3.402823E38~-
1.401298E-45:正數(shù):1.401298E-45~3.402823E38│
├──────────┼──────────────┼─────────────
──────────────────────┤
│CStr│String│依據(jù)參數(shù)返回cstr
│
├──────────┼──────────────┼─────────────
──────────────────────┤
│CVar│Variant│若為數(shù)值,則范圍與D
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年護(hù)士執(zhí)業(yè)資格考試題庫(kù)(外科護(hù)理學(xué)專(zhuān)項(xiàng))-外科護(hù)理實(shí)踐試題
- 2025至2030年中國(guó)八甲基三硅氧烷行業(yè)發(fā)展預(yù)測(cè)及投資策略報(bào)告
- 2025年4-氨基-3-三氟甲基苯甲酸項(xiàng)目可行性研究報(bào)告
- 2025年音源線項(xiàng)目可行性研究報(bào)告
- 培訓(xùn)室租賃合同
- 電子商務(wù)產(chǎn)業(yè)園合作合同
- 生物技術(shù)企業(yè)技術(shù)授權(quán)協(xié)議
- 物業(yè)管理費(fèi)用結(jié)算及支付協(xié)議
- 快遞業(yè)無(wú)接觸配送創(chuàng)新模式
- 2025年貼角線項(xiàng)目可行性研究報(bào)告
- 內(nèi)蒙古地區(qū)歷年中考語(yǔ)文現(xiàn)代文之記敘文閱讀63篇(截至2024年)
- 2023年4月信息素養(yǎng)系列培訓(xùn)講座
- 2025年度馬鈴薯種薯產(chǎn)業(yè)扶貧與鄉(xiāng)村振興合作合同4篇
- 挖掘機(jī)司機(jī)崗位安全培訓(xùn)課件
- 《退役鋰電池清潔循環(huán)利用技術(shù)規(guī)范》編制說(shuō)明
- 2024年中國(guó)浴室套件市場(chǎng)調(diào)查研究報(bào)告
- 電爐煉鋼工職業(yè)技能知識(shí)考試題(附答案)
- 交通法律法規(guī)知識(shí)培訓(xùn)
- 依法治縣業(yè)務(wù)培訓(xùn)
- 網(wǎng)絡(luò)安全課件:防范釣魚(yú)攻擊與社工庫(kù)檢測(cè)分析
- 房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)(2024版)宣傳海報(bào)
評(píng)論
0/150
提交評(píng)論