vb第2章1VisualBasic的語言基礎_第1頁
vb第2章1VisualBasic的語言基礎_第2頁
vb第2章1VisualBasic的語言基礎_第3頁
vb第2章1VisualBasic的語言基礎_第4頁
vb第2章1VisualBasic的語言基礎_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第2章VisualBasic的語言基礎為應用程序建立界面編寫代碼,對用戶和系統(tǒng)事件做出響應以執(zhí)行任務。VB使用BASIC語言為語言基礎,可以通過語言流程結(jié)構控制程序,可以處理VB的對象和控件。2.1標準數(shù)據(jù)類型數(shù)據(jù):描述客觀事物的數(shù)、字符以及所有能輸入到計算機中并被計算機程序加工處理的符號的集合。數(shù)據(jù)是計算機程序處理的對象,也是運算產(chǎn)生的結(jié)果,表2-1列出了VB中定義的全部標準數(shù)據(jù)類型。

表2-1VB6.0的標準數(shù)據(jù)類型類型名稱存儲空間(Byte)范圍

整型Integer2-32768~32767,小數(shù)部分四舍五入

長整型Long4-2147483648~2147483647,小數(shù)部分四舍五入

單精度浮點型Single4負數(shù):-3.402823E38~-1.401298E45正數(shù):1.401298E-45~3.402823E38雙精度浮點型Double8貨幣型Currency8字節(jié)型Byte10~255變長字符串String字符串長度0~大約20億字節(jié)

定長字符串String*Sizesizel~65535字節(jié)(64KB)

布爾型Boolean2True或False

日期型Date8100.1.l~9999.12.31

對象型Object4任何對象的引用

可變類型(數(shù)值)Variant16任何數(shù)值,最大可達Double的范圍可變類型(字符)Variant字符串長度與可變長度字符串有相同的范圍

2.1.1數(shù)值(Numeric)型數(shù)據(jù)6種:整型、長整型、單精度浮點型、雙精度浮點型、貨幣型和字節(jié)數(shù)據(jù)類型。1.常規(guī)整型(Integer)占2個字節(jié),范圍為-32768到+32767簡稱為整型,表示不帶小數(shù)點和指數(shù)符號的數(shù),十進制整數(shù)只能包含數(shù)字0~9、正負號(正號可以省略)。十進制整型數(shù)的范圍為-32768到+32767。例如:10,2566,-38,0。十六進制數(shù)由數(shù)字0~9、A~F或a~f組成,并以&H引導,其后面的數(shù)據(jù)位數(shù)<=4位,其范圍為&HO到&HFFFF。八進制數(shù)由數(shù)字0~7組成,并以&O或&引導,其后面的數(shù)據(jù)位數(shù)<=6位,其范圍為&O0至&O177777。2.長整型數(shù)(Long)占4個字節(jié),范圍為-2147483648到+2147483647(-231到231-1)十進制長整數(shù)的范圍為-2147483648到+2147483647。如:32768,-2567898十六進制長整數(shù)以&H開頭,以&結(jié)尾,其范圍為&HO&到&HFFFFFFFF&。八進制數(shù)長整數(shù)以&O或&開頭,以&結(jié)尾,其范圍為&O0&到&O37777777777&。

3.單精度數(shù)(Single)占4個字節(jié),范圍為-3.402823E38~3.402823E38??杀硎咀疃?位有效數(shù)字的數(shù)。用定點形式和浮點形式單精度數(shù)的定點形式是在該范圍內(nèi)含有小數(shù)的數(shù)。例如+1.234.00669-31.24683單精度數(shù)的浮點形式是用科學計數(shù)法,即以10的整數(shù)次冪表示的數(shù),以“E”來表示底數(shù)10。例如-3.4X105,l.234X10-12分別表示為:

-3.4E5,l.234E-124,雙精度數(shù)(Double)占8個字節(jié),范圍為:

-1.79769313486232D308~1.79769313486232D308。可表示最多15位有效數(shù)字的數(shù)雙精度數(shù)也有定點和浮點兩種形式。

雙精度數(shù)的定點形式是在該范圍內(nèi)含有小數(shù)的數(shù)。例如:-31.1234567890123雙精度數(shù)的浮點形式是用科學計數(shù)法,以“D”來代表指數(shù)的底的數(shù)。例如:-3.1234567D5212O.1234568D-45

5.貨幣型(Currency)占8個字節(jié),范圍為:-922337203685477.5808~922337203685477.5807Currency數(shù)據(jù)類型支持小數(shù)點右面4位

和小數(shù)點左面15位,精確的定點數(shù)據(jù)類型,適用于貨幣計算。6.字節(jié)型(Byte)表示無符號的整數(shù),占1個字節(jié),范圍為:0~255。說明:(1)如果數(shù)據(jù)包含小數(shù),則應使用Single、Double或Currency型。(2)所有數(shù)值變量都可相互賦值,將浮點數(shù)賦予整數(shù)(四舍五入)。2.1.2字符(String)型數(shù)據(jù)字符型數(shù)據(jù)是指一切可打印的字符和字符串,是用雙引號括起來的一串字符。一個西文字符占一個字節(jié),一個漢字或全角字符占兩個字節(jié)。兩種類型字符串:變長字符串和定長字符串1.變長字符串,范圍:0~大約20億字節(jié)格式:Dim變量名AsString指字符串長度不固定,等于所賦字符串的長度。沒有定義定長的字符串屬于變長。

例如:”VisualBasic”,”可視化編程”。2.定長字符串范圍:1~65535字節(jié)格式:Dim變量名StringAs*size

定長字符串是長度不變的字符串。例如,一個長度為10個字符的字符串變量:

DimAAsString*10

A=“Beijing,China”如果賦予字符串的字符少于10個,則用空格將A的不足部分填滿。如果賦予字符串的長度超過10個,則截去超出部分的字符。2.1.3布爾(Boolean)型布爾型數(shù)據(jù)有兩個值:真(True)和假(False),用來表示邏輯判斷的結(jié)果。

如“True/False”、“Yes/No”、“On/Off”等,當把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為Boolean型時,0會轉(zhuǎn)換為False,其他非0值轉(zhuǎn)換為True。當把Boolean值轉(zhuǎn)換為數(shù)值型時,F(xiàn)alse轉(zhuǎn)換為0,True轉(zhuǎn)換成-12.1.4日期(Date)型數(shù)據(jù)Date型數(shù)據(jù)用來表示日期和時間,可以表示多種格式的日期和時間。Date型數(shù)據(jù)用兩個“?!狈柊驯硎救掌诤蜁r間的值括起來,就像字符串數(shù)據(jù)用雙引號括起來一樣。例如:#11/18/1999#,#1999-11-18#,#11/18/1999110:28:56pm#。2.1.5對象(Object)型數(shù)據(jù)可用來表示應用程序中的對象??梢杂肧et語句指定一個對象型(Object)的變量去引用應用程序所識別的任何實際對象。例如:

DimobjDbAsObject

SetObjDb=OpenDatabase(“C:\Vb6\Biblio.mdb”)

2.1.6可變(Variant)類型數(shù)據(jù)如果沒有聲明變量,VB缺省使用“可變類型(Variant)”的數(shù)據(jù)類型。能夠表示所有系統(tǒng)定義類型的數(shù)據(jù),當把它們賦予Variant型時,不必在這些數(shù)據(jù)的類型間進行轉(zhuǎn)換,VB會自動完成任何必要的轉(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ù)類型,以避免發(fā)生錯誤如果連接兩個字符串,則應該用“&”操作符,而不要用“+”操作符。2.2變量變量就是命名的存儲數(shù)據(jù)的內(nèi)存單元,每個變量為一個盒子,盒子有一個名字,

盒子中存放的是數(shù)據(jù)。變量有兩個特性:名字和數(shù)據(jù)類型。變量的名字用于在程序中標識變量和使用變量的值,

數(shù)據(jù)類型則確定變量中能保存哪種數(shù)據(jù)。如果某一個變量在程序運行中數(shù)據(jù)發(fā)生變化,則

現(xiàn)行值將取代原來的數(shù)據(jù)。例如將6放到變量a中,則a的值變?yōu)?,原來的數(shù)被清除。VB變量形式屬性變量和內(nèi)存變量。屬性變量:在窗體中設計用戶界面時,VB會自動為產(chǎn)生的對象(包括窗體本身)創(chuàng)建一組變量,并為每個變量設置其默認值。這類變量可供程序員直接使用,如引用其值或賦予新值。內(nèi)存變量則要靠程序員根據(jù)程序需要創(chuàng)建,2.2.l變量的命名規(guī)則1)變量名的第1個字符必須是字母。如:sum,a2。不能為2a。2)變量名中不能包含小數(shù)點。如不能為:int.sum。3)組成變量名的字符數(shù)不得超過255個字符。4)變量名在同一個范圍內(nèi)必須是唯一的。5)不能用VB的關鍵字做變量名。指VB中系統(tǒng)己經(jīng)定義的詞,如語句、函數(shù)、運算符名。6)最好使用有意義和容易記憶以及簡單明了的變量名

2.2.2變量的聲明與其他語言不同,VB不要求程序員在使用變量前特別聲明。如果沒有聲明變量,VB使用稱為“可變類型(Variant)”的缺省數(shù)據(jù)類型。缺點:一是它會浪費內(nèi)存空間,二是可變類型可能無效。1.聲明變量

用一個語句來定義變量的類型,又稱為顯式聲明。聲明語句的語法為

{Dim|Private|Static|Public}(變量名)[As<類型>][,<變量名2>[As<類型2>]]…說明:(l)工程-模塊-過程Public語句用來聲明公有的模塊級變量Private或Dim語句用來聲明私有的模塊級變量,Dim或Private或Static語句來聲明過程級局部變量(參見第8章)。(2)(變量名)遵循標準的變量命名約定。(3)(類型)用來定義被聲明(變量名)的數(shù)據(jù)類型或?qū)ο箢愋?。變量的?shù)據(jù)類型可以是表2-1中的類型,也可以是用戶自定義的類型。例如:DimCountAsIntegerPrivatestrNameAsstringPrivateNamelASString*8PublicYnAsBooleanDimaa’若沒有指定類型,變量是Variant類型使用聲明語句建立一個變量后,VB自動將數(shù)值類型的變量賦初值0,將字符或Variant類型的變量賦空串,將布爾型的變量賦False。使用變量時,VB會自動轉(zhuǎn)換變量值的類型,使變量的數(shù)據(jù)與變量相匹配。

例如,聲明變量為DimCountAsIntegerCount=1.5‘數(shù)1.5為單精度浮點型Single變量Count將自動將1.5轉(zhuǎn)換為整型數(shù)(Integer)2(四舍五入)。強制顯式聲明變量語句OptionExplicit為了避免寫錯變量名引起的錯誤,可以規(guī)定在使用變量前,必須先聲明,否則VB將發(fā)出警告“Vaiablenotdefined”(變量未定義)。要強制顯式聲明變量,可以在類模塊、窗體模塊或標準模塊的聲明段中加人語句

OptionExplicit方法:激活代碼編輯窗口,從對象下拉列表框中選擇“(通用)”,從過程下拉列表框中選擇‘/聲明/’,在圖2-2所示的位置輸入OptionExplicit。2.3常量常量是指在程序運行過程中始終保持不變的常數(shù)、字符串等。在VB中,有兩種形式的常量:直接常量和符號常量直接常量就是在程序代碼中,以直接明顯的形式給出的數(shù)據(jù)。2.3.l直接常量分為:字符串常量、數(shù)值常量、布爾常量、日期常量。1.字符串常量

字符串常量就是用雙引號括起來的一串字符。例如:”A”,”123”。空串:如果一個字符串僅有雙引號(即雙引號中無任何字符,也不含空格),即””2.數(shù)值常量就是常數(shù),共有5種數(shù)值類型:整數(shù)、長整數(shù)、單精度、雙精度和字節(jié)數(shù)。3.布爾常量布爾常量只有True(真)和False(假)兩個值。4.日期常量用兩個“#”符號把表示日期和時間的值括起來表示日期常量。例如:#06/20/2000#。2.3.2符號常量符號常量:如果在程序中多次出現(xiàn)一些很大的數(shù)字或很長的字符串,給其賦予一個名字,以后用到就用名字代表,便于程序修改和閱讀。符號常量有點像變量,但不能像變量那樣賦以新值。符號常量又分為兩種:內(nèi)部(系統(tǒng)定義)常量和符號(用戶定義)常量。1.系統(tǒng)內(nèi)部定義的常量

內(nèi)部或系統(tǒng)定義的常量是VB和控件提供的,在

代碼中可以直接使用它們??梢栽凇皩ο鬄g覽器”中

的查看內(nèi)部常量。選擇“視圖”菜單中的“對象瀏覽

器”,則打開“對象瀏覽器”窗口,如圖2-3上所示。2.用戶定義的符號常量使用Const語句來給用戶定義符號常量分配名字、值和類型。聲明常量的語法為

[Public|Private]Const<常量名>[AS<數(shù)據(jù)類型>]=(表達式)…說明:(1)<常量名>的命名規(guī)則與建立變量名的規(guī)則一樣。(2)(表達式)由數(shù)值常量、字符串等常量及運算符組成.Const語句可以表示數(shù)值或Date/Time量:ConstconPi=3.14159265358979PublicConstconMaxPlanetsASInteger=9ConstconReleaseDate=#12/18/99#也可用Const語句定義字符串常量:PublicConstconVersion=“07.1O.A”

,conCodeName=“Enigma”

可以用逗號進行分隔,舉例:CONSTpi=3.1416r=5length=2*pi*rPRINTlength

2.4表達式運算是對數(shù)據(jù)進行加工的過程,運算符:描述各種不同運算的符號。操作數(shù):參與運算的數(shù)據(jù)。表達式用來表示某個求值規(guī)則,它由運算符和配對的圓括號將常量、變量、函數(shù)、對象等操作數(shù)以合理的形式組合而成。表達式用來運算,都產(chǎn)生唯一的值。在VB中有5類運算符和表達式:算術運算符和表達式、字符串運算符和表達式、日期運算符和表達式、關系運算符和表達式、布爾運算符和表達式。本章先介紹前3類,將在第4章中作詳細介紹。2.4.l算術表達式算術表達式也稱數(shù)值型表達式,由算術運算符、數(shù)值型常量、變量、函數(shù)組成,結(jié)果為一數(shù)值。例如:50*2+(70-6)/8的運算結(jié)果為:108算術表達式的格式為:<數(shù)值1><算術運算符1><數(shù)值2>[<算術算符2><數(shù)值3>]1.算術運算符VB有7個算術運算符,見表2-2。取負“-”是單目運算符,其他均為雙目運算符。加(+)、減(-)、乘(*)、浮點除法(/)、整除(\)、乘方(^)

表2-2算術運算符┌────┬──────┐

│運算符│名稱│

├────┼──────┤

│^│乘方│

├────┼──────┤

│*│乘法│

├────┼──────┤

│/│浮點除法│

├────┼──────┤

│\│整數(shù)除法│

├────┼──────┤

│Mod│求余運算(取模)│

├────┼──────┤

│+│加法│

├────┼──────┤

│-│減法│

└────┴──────┘

(1)/和\的區(qū)別:1/2=0.5,l\2=0整除號\用于整數(shù)除法,運算的數(shù)據(jù)含有小數(shù),首先將它們四舍五入,使其成為整數(shù),結(jié)果取其整數(shù)部分(截去小數(shù))8.6\2.4(2)模運算符Mod用來求整型除法的余數(shù)。例如:9Mod7的值為2,16Mod25的值是16。運算的數(shù)據(jù)含有小數(shù),首先將它們四舍五入,使其成為整數(shù),然后再進行運算,若表達式為:25.4Mod6.9=4-25Mod7(3)進行除法(包括整除)運算時,除數(shù)為0,錯誤信息。2.表達式的書寫規(guī)則與數(shù)學表達式寫法區(qū)別,(1)每個符號占1格,所有符號都必須并排寫在同一橫線上,不能寫上標或下標。例如:23要寫成2^3,x1+x2要寫成x1+x2(2)在數(shù)學表達式中省略的內(nèi)容必須重新寫上。例如:2X要寫成2*X。(3)都用小括號(),必須配對例如:3[x+2(y+z)]必須寫成3*(x+2*(y+z))。3.算術運算符的優(yōu)先級算術運算符的運算優(yōu)先順序(表2-3)表2-3運算符的優(yōu)先順序┌────┬──────────┐

│優(yōu)先順序│運算符│

├────┼──────────┤

│l│^(指數(shù)運算)│

├────┼──────────┤

│2│-(取負)│

├────┼──────────┤

│3│*、/(乘法和除法)│

├────┼──────────┤

│4│\(整數(shù)除法)│

├────┼──────────┤

│5│Mod(求模運算)│

├────┼──────────┤

│6│+、-(加法和減法)│

└────┴──────────┘2.4.2字符串表達式由字符串常量、變量、函數(shù)和運算符組成。VB只有一種字符串運算符,即連接運算符“&”,用于連接兩個或更多的字符串。格式為:<字符串1>&<字符串2>[&<字符串3>]還可以用“+”把兩個字符串連接成一個字符串。為了避免與加法運算符產(chǎn)生混淆,應該用“&”號?!埃Α睍詣訉⒎亲址愋偷臄?shù)據(jù)轉(zhuǎn)換成字符串后進行連接而“+”則不能自動轉(zhuǎn)換。例如:123&456&"abc"'連接后結(jié)果為:"123456abc“2.4.3日期表達式日期型表達式由算術運算符“+、-”、算術表達式、日期型常量、變量和函數(shù)組成。日期型數(shù)據(jù)是一種特殊的數(shù)值型數(shù)據(jù),只能進行加“+”、減“-”運算。有下面3種情況:(1)兩個日期型數(shù)據(jù)可以相減,結(jié)果是一個數(shù)值型數(shù)據(jù)(兩個日期相差的天數(shù))。例如:#12/19/1999#-#11/16/1999#‘結(jié)果為數(shù)值型數(shù)據(jù):33(2)一個表示天數(shù)的數(shù)值型數(shù)據(jù)可加到日期型數(shù)據(jù)中,其結(jié)果仍然為一日期型數(shù)據(jù)(向后推算日期)例如:

#11/16/1999#+33’結(jié)果為日期型數(shù)據(jù):#1999-12-19#(3)一個表示天數(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ù)是一種特定的運算,在程序中給出函數(shù)名和需要的參數(shù),就能得到它的函數(shù)值。在VB中,有兩類函數(shù):內(nèi)部函數(shù)和用戶定義函數(shù)內(nèi)部函數(shù)也稱標準函數(shù)可分為:轉(zhuǎn)換函數(shù)、數(shù)學函數(shù)、字符串函數(shù)、

日期時間函數(shù)、隨機函數(shù)。2.5.1數(shù)學運算函數(shù)數(shù)學運算函數(shù)用于各種數(shù)學運算。sin30°VB表示為Sin(30*3.142/180)lgxVB表示為Log(X)/Log(10)Int(X):得到不大于x的最大整數(shù).如:Int(9.5)=9;Int(-9.5)=-10;應用:四舍五入保留小數(shù)位:如:X=1.2345保留小數(shù)兩位,可以寫成Int((X*100)+.5)/100

┌───┬─────────────┐

│函數(shù)│說明│

├───┼─────────────┤

│Sin│返回弧度的正弦│

├───┼─────────────┤

│Cos│返回弧度的余弦│

├───┼─────────────┤

│Tan│返回弧度的正切│

├───┼─────────────┤

│Atn│返回用弧度表示的反正切值│

├───┼─────────────┤

│Abs│返回數(shù)的絕對值│

├───┼─────────────┤

│Exp│返回e的指定次冪│

├───┼─────────────┤

│log│返回一個數(shù)值的自然對數(shù)│

├───┼─────────────┤

│Sgn│返回數(shù)的符號值│

├───┼─────────────┤

│Sqr│返回數(shù)的平方根│

├───┼─────────────┤

│Int│返回不大于給定數(shù)的最大整數(shù)│

├───┼─────────────┤

│Fix│返回數(shù)的整數(shù)部分│

└───┴─────────────┘2.5.2字符串函數(shù)VB提供了字符串函數(shù)具有強大的處理能力如表2-5所示。2.5.3日期和時間函數(shù)能向用戶顯示日期和時間,提供某個事件何時發(fā)生及持續(xù)時間長短的信息。時間和日期函數(shù)如表2-6所示。┌──────────────┬────────────────────┐

│函數(shù)│說明│

├──────────────┼────────────────────┤

│Ltrim│返回刪除字符串左端空格后的字符串│

├──────────────┼────────────────────┤

│Rtrim│返回刪除字符串右端空格后的字符串│

├──────────────┼────────────────────┤

│Trim│返回刪除字符串前導和尾隨空格后的字符串│

├──────────────┼────────────────────┤

│Left│返回從字符串左邊開始的指定數(shù)目的字符│

├──────────────┼────────────────────┤

│Right│返回從字符串右端開始的指定數(shù)目的字符│

├──────────────┼────────────────────┤

│Mid│返回從字符串指定位置開始的指定數(shù)目字符│

├──────────────┼────────────────────┤

│Len│返回字符串的長度│

├──────────────┼────────────────────┤

│Instr│返回字符串在給定的字符串中出現(xiàn)的開始位置│

├──────────────┼────────────────────┤

│Space│返回由指定數(shù)目空格字符組成的字符串│

├──────────────┼────────────────────┤

│String│返回包含一個字符重復指定次數(shù)的字符串│

├──────────────┼────────────────────┤

│lcase│返回以小寫字母組成的子符串│

├──────────────┼────────────────────┤

│Ucase│返回以大寫字母組成的字符串│

├──────────────┼────────────────────┤

│str│返回把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符型后的字符串│

├──────────────┼────────────────────┤

│Val│把一個數(shù)字字符串轉(zhuǎn)換為相應的數(shù)值│

└──────────────┴────────────────────┘ASC(字符串表達式)求字符串的第一個字符ASC碼ASC碼函數(shù)Asc("ABC"),ASC(“586”)CHR(數(shù)值表達式)求ASC碼對應的字母函數(shù)CHR(48)->”0”,CHR(65)->”A”LEFT(字符串,個數(shù))求左子串函數(shù)LEFT(“中國人民”,2)RIGHT(字符串,個數(shù))求右子串函數(shù)right("中國人民",2)MID(字符串,

開始位置,個數(shù))求中間子串函數(shù)mid("中國人民",3,2)LEN(字符串表達式)求字符串字符串個數(shù):LEN(“ABC”),LEN(“中國”)STR(數(shù)值表達式)數(shù)值轉(zhuǎn)換成字符串Str(72+18)正數(shù):把正數(shù)轉(zhuǎn)換成字符串,自動在前加一個空格;Len(Str(72+18))VAL(字符串表達式)字符串轉(zhuǎn)換成數(shù)值:1)val函數(shù)忽略所有空格2)val函數(shù)只把最左邊的數(shù)字串(符號和小數(shù)點)轉(zhuǎn)換成數(shù)值VAL(STR(72+18))結(jié)果90,Val(“72.5.9+18”)結(jié)果72.5LCASE(字符串表達式)轉(zhuǎn)成小寫字母函數(shù)LCASE(“AbCdEf”)UCASE(字符串表達式)轉(zhuǎn)成大寫字母函數(shù)UCASE(“AbCdEf”)STRING(數(shù)字n,字符串)產(chǎn)生n個相同字符函數(shù):STRING(20,"*#")LTRIM(字符串表達式)刪除字符串左端空格函數(shù)“ABC”+LTRIM(“123”)RTRIM(字符串表達式)刪除字符串右端空格函數(shù)RTRIM(“123”)+“ABC”SPACE(數(shù)值表達式n)產(chǎn)生n個空格函數(shù):PRINT"*"&SPACE(10)&"*"INSTR([開始位置],主串1,子字串2)查子串位置函數(shù)INSTR(3,"CHINA","IN")為3表2-6常用日期和時間函數(shù)┌─────┬────────────────────┐

│函數(shù)│說明│

├─────┼────────────────────┤

│NOW│返回系統(tǒng)日期和時間(yy-mm-ddhh:mm:ss)│

├─────┼────────────────────┤

│Date│返回當前日期(yy-mm-dd)│

├─────┼────────────────────┤

│Day│返回月中第幾天(1~31)│

├─────┼────────────────────┤

│WeekDay│返回是星期幾(l~7)│

├─────┼────────────────────┤

│Month│返回一年中的某月(l~12)│

├─────┼────────────────────┤

│Year│返回年份(yyyy)│

├─────┼────────────────────┤

│Hour│返回小時(0~23)│

├─────┼────────────────────┤

│Minute│返回分鐘(0~59)│

├─────┼────────────────────┤

│Second│返回秒(0~59)│

├─────┼────────────────────┤

│Timer│返回從午夜算起已過的秒數(shù)│

├─────┼────────────────────┤

│Time│返回當前時間(hh:mm:ss)│

└─────┴────────────────────┘2.5.4.格式輸出函數(shù)Format()使數(shù)值、日期或字符型數(shù)據(jù)按指定的格式輸出。格式為Format(<表達式>,<格式字符串>)說明:(1)(表達式)可以是數(shù)值型、日期型或字符型的表達式。(2)<格式字符串>是一個字符串常量或變量,由專門的格式說明字符組成,決定了數(shù)據(jù)項(表達式)的顯示格式和長度。(3)當〈格式字符串〉是字符串常量的時候,必須放在雙引號中。(4)返回一個Variant類型的值。格式說明字符按照類型可以分為數(shù)值型、日期型和字符型,例如表2-7、表2-8、表2-9所示。表2-7常用數(shù)值型格式說明字符┌───┬─────────────────────────────────┬─

────────────┐

│字符│說明│例

子│

├───┼─────────────────────────────────┼─

────────────┤

│#│數(shù)字占位符。顯示一位數(shù)字或什么都不顯示。如果表達式在格式字符申中│

Format(l23.45,"####.###")│

││#的位置上有數(shù)字存在,那么就顯示出來;否則,該位置就什么都不顯示│返

回:123.45│

├───┼─────────────────────────────────┼─

────────────┤

│0│數(shù)字占位符。顯示一位數(shù)字或是零。如果表達式在格式字符串中0的位置│

Format(l23.45,"####.###")│

││上有一位數(shù)字存在,那么就顯示出來;否則,就以零顯示│返

回:0123.450│

├───┼─────────────────────────────────┼─

────────────┤

│.│小數(shù)點占位符│

├───┼─────────────────────────────────┼─

────────────┤

│,│千分位符號占位符│

Format(1234.5,"#,###,##")│

│││返

回:l,234.5│

├───┼─────────────────────────────────┼─

────────────┤

│%│百分比符號占位符。表達式乘以100。而百分比字符(%)會插入到格式│Format

(0.12345,“0.00%”)│

││字符串中出現(xiàn)的位置上│返

回:12.35%│

└───┴─────────────────────────────────┴─

────────────┘

表2-7常用日期型格式說明字符┌──────┬────────────────────────────────

─┬───────────────┐

│字符│說明

│例子│

├──────┼────────────────────────────────

─┼───────────────┤

│dddddd│以完整日期表示法顯示日期系列數(shù)(包括年、月、日)│

Format(Date,"dddddd")│

││

│返回:2000年5月15日│

├──────┼────────────────────────────────

─┼───────────────┤

││以全稱來表示月(January~December)

│format(Date,"mmmm")│

││

│返回:May│

├──────┼────────────────────────────────

─┼───────────────┤

│yyyy│以四位數(shù)來表示年

│Foramt(Date,"yyyy")│

││

│返回:2000│

├──────┼────────────────────────────────

─┼───────────────┤

│Hh│以有前導零的數(shù)字來顯示小時(00~23)

││

├──────┼────────────────────────────────

─┼───────────────┤

│Nn│以有前導零的數(shù)字來顯示分(00~59)

││

├──────┼────────────────────────────────

─┼───────────────┤

│Ss│以有前導零的數(shù)字來顯示秒(0~59)

│Format(Time,"Hh:Nn:Ss")│

││

│返回:20:56:01│

├──────┼────────────────────────────────

─┼───────────────┤

│ttttt│以完整時間表示法顯示(包括時、分、秒),用系統(tǒng)識別的時間格式定義

│Format(Time,"tttttt")│

││的時間分隔符進行格式化。缺省的時間格式為h:mm:SS

│返回:20:57:06│

├──────┼────────────────────────────────

─┼───────────────┤

│AM/PM│在中午前以12小時配合大寫AM符號來使用;在中午和11:59P.M.間以

12│FOrmat(Time,"tttttAM/PM")│

││小時配合人寫PM來使用

│返回:2o:57:46PM│

└──────┴────────────────────────────────

─┴───────────────┘

表2-9常用的字符型格式說明字符┌────┬─────────────────────────────────┬

─────────────────────┐

│字符│說明│

例子│

├────┼─────────────────────────────────┼

─────────────────────┤

││字符占位符。顯示字符或是空白。如果字符串在格式字符申中@的位│

Format("ABab","@@@@@@")│

││置有字符存在,那么就顯示出來:否則,就在那個位置上顯示空白。除│

返回:"ABab"│

│@│非有驚嘆號字符(!)在格式字符串中,否則字符占位符將由右而左被填充│

│││

├────┼─────────────────────────────────┼

─────────────────────┤

││字符占位符。顯示字符或什么都不顯示。如果字符串在格式字符串中│

Format("ABab","&&&&&&")│

││和號(&)的位置有字符存在,那么就顯示出來;否則,就什么都不顯示。│

返回:"ABab"│

│&│除非有驚嘆號字符(?。┰诟袷阶址曛?,否則,字符占位符將由右而左被│

││填充、。│

├────┼─────────────────────────────────┼

─────────────────────┤

│<│強制小寫。將所有字符以小寫格式顯示│

Format("ABab","<@@@@@@")│

│││

返回:"abab"│

├────┼─────────────────────────────────┼

─────────────────────┤

│>│強制大寫。將所有字符以大寫格式顯示│

Format("ABab","<@@@@@@")│

│││

返回:"ABAB"│

├────┼─────────────────────────────────┼

─────────────────────┤

│!│強制由左而右填充字符占位符。缺省值是由右而左填充字符占位符│

Format("ABab","!@@@@@@")│

│││

返回:"ABab"│

└────┴─────────────────────────────────┴

─────────────────────┘2.5.5隨機數(shù)語句和函數(shù)

在測試、模擬和游戲程序中,經(jīng)常要使用隨機數(shù),隨機數(shù)語句和函數(shù)如表2-10所示。表2-10隨機數(shù)函數(shù)和語句┌────────┬──────────┐

│函數(shù)和語句│說明│

├────────┼──────────┤

│Randomize語句│產(chǎn)生隨機數(shù)的種子│

├────────┼──────────┤

│Rnd函數(shù)│產(chǎn)生0~l之間的隨機數(shù)│

└────────┴──────────┘Rnd[(X)]得到隨機數(shù)[0~1)半閉半開區(qū)間 RND(x)=RND2.5.6數(shù)據(jù)類型轉(zhuǎn)換函數(shù)在VB中,一些數(shù)據(jù)類型可以自動轉(zhuǎn)換,例如數(shù)字字符串可以自動轉(zhuǎn)換為數(shù)值型,但是多數(shù)類型不能自動轉(zhuǎn)換,需要用類型轉(zhuǎn)換函數(shù)。轉(zhuǎn)換函數(shù)如表2-11所示。

表2-11數(shù)據(jù)類型轉(zhuǎn)換函數(shù)┌──────────┬──────────────┬─────────────

──────────────────────┐

│函數(shù)│返回類型│參數(shù)范圍

├──────────┼──────────────┼─────────────

──────────────────────┤

│Cbool│Boolean│任何有效的字符串或數(shù)值表達

式│

├──────────┼──────────────┼─────────────

──────────────────────┤

│Cbyte│Byte│0~255

├──────────┼──────────────┼─────────────

──────────────────────┤

│Ccur│Currency│-922337203685477.58O8~

922337203685477.5807│

├──────────┼──────────────┼─────────────

──────────────────────┤

│Cdate│Date│任何有效的日期表達式

├──────────┼──────────────┼─────────────

──────────────────────┤

│CDbl│Double│負數(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│負數(shù):-3.402823E38~-

1.401298E-45:正數(shù):1.401298E-45~3.402823E38│

├──────────┼──────────────┼─────────────

──────────────────────┤

│CStr│String│依據(jù)參數(shù)返回cstr

├──────────┼──────────────┼─────────────

──────────────────────┤

│CVar│Variant│若為數(shù)值,則范圍與D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論