Visual-Basic-語言的基本成分課件_第1頁
Visual-Basic-語言的基本成分課件_第2頁
Visual-Basic-語言的基本成分課件_第3頁
Visual-Basic-語言的基本成分課件_第4頁
Visual-Basic-語言的基本成分課件_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本章主要內(nèi)容

基本數(shù)據(jù)類型直接常量變量符號常量運(yùn)算符表達(dá)式常用內(nèi)部函數(shù)

第3章

VB語言的基本成分1本章主要內(nèi)容第3章VB語言的基本成分13.1基本數(shù)據(jù)類型

數(shù)據(jù)是程序處理的對象。為了更好地處理各種各樣的數(shù)據(jù),VB定義了多種數(shù)據(jù)類型

數(shù)值型

數(shù)據(jù)類型

字符型邏輯型日期型對象型變體型整數(shù):整型/長整型字節(jié)型浮點(diǎn)型:單/雙精度貨幣型23.1基本數(shù)據(jù)類型數(shù)據(jù)是程序處理的對數(shù)值型數(shù)值型數(shù)據(jù)一般分為整型數(shù)和浮點(diǎn)數(shù)兩類。整型數(shù)分為整數(shù)(Integer)和長整數(shù)(Long),浮點(diǎn)數(shù)分為單精度浮點(diǎn)數(shù)(Single)和雙精度浮點(diǎn)數(shù)(Double)。有時也把貨幣型數(shù)據(jù)(Currency)和字節(jié)型數(shù)據(jù)(Byte)劃歸數(shù)值型數(shù)據(jù)。3數(shù)值型3整型(Integer)整數(shù)是不帶小數(shù)點(diǎn)和指數(shù)符號的數(shù);存儲:2字節(jié);取值范圍:-32768~32767。長整數(shù)(Long)存儲:4字節(jié);取值范圍:-2147483648~2147483647。浮點(diǎn)數(shù)浮點(diǎn)數(shù)也稱為實(shí)型數(shù)或?qū)崝?shù)。由符號、指數(shù)和尾數(shù)組成,分單精度浮點(diǎn)數(shù)(Single)和雙精度浮點(diǎn)數(shù)(Double),其指數(shù)部分分別用“E”(或“e”)和“D”(或“d”)表示。4整型(Integer)4單精度浮點(diǎn)數(shù):存儲:4個字節(jié)(32個二進(jìn)制位)范圍:-3.4028*1038~3.4028*1038雙精度浮點(diǎn)數(shù):存儲:用8個字節(jié)(64個二進(jìn)制位);范圍:-1.79769*10308~1.79769*10308。5單精度浮點(diǎn)數(shù):5貨幣型(Currency)專門為處理貨幣而設(shè)計的數(shù)據(jù)類型,小數(shù)點(diǎn)前有15位,小數(shù)點(diǎn)后有4位,其余的數(shù)字被舍去。存儲:用8位字節(jié)存儲;取值范圍:-922337203685477.5808~

922337203685477.5807。字節(jié)型(Byte)存儲:用1個字節(jié)的無符號二進(jìn)制數(shù)存儲;取值范圍:0~255。6貨幣型(Currency)6String類型字符串是用雙引號括起來的一串字符序列,兩種類型字符串:變長字符串和定長字符串。

例如,“Canton”、”1+2=?”、”Good└┘Morning”

在VB中,把漢字作為一個字符來處理。

注意:①零字符串用“”表示,而“”則表示有一個空格的字符串;②另外在字符串中必須用兩個連續(xù)的雙引號來表示字符串有一個雙引號。如字符串:”abc””計算機(jī)””abc”;③變長字符串存儲需多10個字節(jié)。7String類型7Boolean類型邏輯型數(shù)據(jù)只有兩個值:真(True)和假(False),用2字節(jié)二進(jìn)制數(shù)存儲,經(jīng)常用來表示邏輯判斷的結(jié)果。當(dāng)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為邏輯型數(shù)據(jù)時,0會轉(zhuǎn)換為Flase,其它非0值轉(zhuǎn)換為True。反之,當(dāng)把邏輯型數(shù)據(jù)轉(zhuǎn)換為數(shù)值型時,F(xiàn)lase轉(zhuǎn)換為0,True轉(zhuǎn)換為-1。8Boolean類型8Date類型日期型數(shù)據(jù)按64位浮點(diǎn)數(shù)值存儲,表示的日期從公元100年1月1日~9999年12月31日,時間范圍為0:00:00~23:59:59。任何在字面上可以被認(rèn)作日期的文本都可以賦值給日期變量,且日期文字必須用符號“#”括起來,如#January15,2002##1985-10-19:45:00PM#

9Date類型9Object類型對象類型的數(shù)據(jù)主要是以變量形式存在的,Object變量通過32位(4字節(jié))來存儲,該地址可以引用應(yīng)用程序中的對象。利用Set語句,聲明為Object的變量可以被賦值并被任何對象所引用。Set對象變量名=對象名10Object類型10Variant數(shù)據(jù)類型

變體型數(shù)據(jù)是一種可變的數(shù)據(jù)類型,可以存放任何類型的數(shù)據(jù)。

存儲:N:16字節(jié)C:串+22

未聲明的變量系統(tǒng)默認(rèn)為Variant型。

例:Temp=“22”’字符串

Temp=Temp-1’數(shù)值

Temp=#01/01/2002#’日期

11Variant數(shù)據(jù)類型11

常量是指在程序運(yùn)行過程中,其值保持不變的量。包括直接常量和符號常量。

直接常量:在程序代碼中直接給出的數(shù)據(jù)。例如:123,-263,"VisualBasic","12.57"等

符號常量:符號常量是在程序中用符號表示的常量。用戶定義、系統(tǒng)常量。

例如:

ConstPI=3.14159AsSingleS=PI*R*R

3.2直接常量12常量是指在程序運(yùn)行過程中,其值保持不變的量。包括整型和長整型常量

整型:十進(jìn)制、八進(jìn)制和和長整型例如:888&O555&H888

長整型:在整型常量之后加上后綴&例如:999999&&O555&O555&&H888&H888&13整型和長整型常量13浮點(diǎn)型常量有兩種表示方法:日常記數(shù)法

一般書寫方法。如果整數(shù)或小數(shù)部分為零時,可以省略零,但是小數(shù)點(diǎn)不能省略。在浮點(diǎn)型常量后面可加上類型聲明符“!”、“#”來指明該浮點(diǎn)型常量是單精度浮點(diǎn)型常量還是雙精度浮點(diǎn)型常量。例如:0.123!,.123,12.#,0.014浮點(diǎn)型常量14科學(xué)記數(shù)法

用指數(shù)形式來表示浮點(diǎn)型常量,用mEn表示m×10n。其中,m稱為尾數(shù),它可以是一個帶有正負(fù)號的小數(shù);n稱為指數(shù),它只能是一個帶有正負(fù)號的整數(shù)。

標(biāo)準(zhǔn)科學(xué)記數(shù)法:尾數(shù)的小數(shù)點(diǎn)前有且僅有一位非零數(shù)字。也可用mDn表示m×10n。

例如:0.123E-4,-12.34e8,1.23D-3,-1.23d315科學(xué)記數(shù)法15字符串型常量字符串型常量是指用雙引號括起來的一串字符。例如:“大家好!”、“abD123”、“”、“”“”是含有三個空格的字符串,長度為3。“”是一個空字符串,長度為0?!按蠹液?!”,長度為8。16字符串型常量16邏輯型常量邏輯型常量只有兩個值:True和False,分別表示邏輯真和邏輯假。17邏輯型常量17日期時間型常量日期時間型常量:用“#”括起來的一串日期和時間,它可以表示一個日期,也可以表示一個時間,還可以同時表示日期和時間。例如:#1/31/2003##2003.3.8##May1,2003##11:30:22AM##3/1/200312:22:09#18日期時間型常量18變量是指在程序運(yùn)行過程中,其值可以改變的量。

3.3變量變量的命名規(guī)則變量名必須是以字母開始的,由字母(A~Z和a~z)、數(shù)字(0~9)或下劃線(_)組成。長度不能超過255個字符。自定義的標(biāo)識符不能和VisualBasic中的運(yùn)算符、語句以及系統(tǒng)已有的函數(shù)、過程名等關(guān)鍵字同名,同時也不能與系統(tǒng)已有的方法和屬性同名。最好做到“見名知意”??墒褂孟聞澗€改變長變量名的可讀性。用默認(rèn)前綴。19變量是指在程序運(yùn)行過程中,其值可以改變量的存取語法格式如下:一般:[Let]變量名或?qū)傩悦?表達(dá)式對象型:

Set對象變量名=對象名

20變量的存取20變量的聲明聲明變量就是事先將變量通知給程序,由此使變量的使用合法。聲明變量時需要指明:變量名、變量類型、變量的作用域和生存期。變量聲明后,系統(tǒng)為該變量分配內(nèi)存空間,確定其數(shù)值范圍、作用范圍和生存周期。

21變量的聲明21

聲明變量的語句所放的位置不同,其作用范圍不同。過程級變量

過程級變量:在某個過程中定義的變量。其特點(diǎn)是只在其定義變量的過程中有效,當(dāng)過程代碼執(zhí)行完時,變量立即從內(nèi)存中釋放掉。

1)過程級變量、模塊級變量和應(yīng)用程序級變量221)過程級變量、模塊級變量和應(yīng)用程序級變量22聲明過程級變量的語句格式:

Dim|Static變量名As類型名說明:●用Dim聲明的變量的生存周期短,進(jìn)入此過程時,系統(tǒng)為變量分配存儲單元,退出此過程時,系統(tǒng)釋放存儲單元,變量消失。●用Static聲明的變量叫靜態(tài)變量,第一次進(jìn)入此過程時,系統(tǒng)為變量分配存儲單元,退出此過程時,存儲單元保留,變量失效。重新進(jìn)入此過程時,該變量被激活,變量值仍存在,可以繼續(xù)使用。

例:23聲明過程級變量的語句格式:23模塊級變量在模塊通用聲明段中聲明的變量,在模塊中的所有過程有效,模塊的運(yùn)行結(jié)束后被釋放。語句格式:

Dim|Private變量名As類型名說明:Dim和Private是等效的。24模塊級變量24應(yīng)用程序級變量應(yīng)用程序級變量是指在整個工程的任何模塊中都有效的變量。又叫全局變量。在標(biāo)準(zhǔn)模塊的聲明段中聲明。語句格式:

Public變量名As類型名

例如:Dima1AsIntegerStatica2AsIntegerPrivatea3AsIntegerPublica4AsInteger25應(yīng)用程序級變量25

①定長字符串變量與變長字符串變量的聲明

變長字符串變量:

Dim|Private變量名AsString變長字符串變量包含字符的個數(shù)是可變的,所占用的存儲空間是該字符串的長度加上10個字節(jié)。例:PrivateStra1AsStringStra1=“abc”2)幾種特殊變量的聲明26①定長字符串變量與變長字符串變量的聲明例:Private定長字符串變量:

Dim|Private變量名AsString*字符串長度定長字符串變量包含字符的個數(shù)是固定的,所占用的存儲空間是就是聲明語句中指定的字符串長度。多出的截掉,不夠的補(bǔ)空格。

注意:不能在窗體模塊或類模塊中聲明全局定長字符串變量。2727對象型變量語句格式:

Dim變量名AsObject|Control|對象類型名使用Object聲明的變量可以引用任何一種類型的對象。使用Control聲明的變量可以引用所有的控件對象。使用“對象類型名”聲明的變量只能引用這種類型的對象。例如:Dimobj1AsObjectDimobj1AsControlDimobj1AsCommandButton28對象型變量28變體類型變量聲明變體類型變量的語句格式:

Dim|Private|Public變量名[AsVariant]變體類型變量可以存儲除了定長字符串和自定義類型外的所有變量。例如:DimVnta1AsVariantDima29變體類型變量29聲明變量的注意事項(xiàng)一條語句中聲明多個變量,例如:DimaAsInteger,bAsString,cAsDatePrivatea,b,cAsDate變量被聲明時,VB自動設(shè)定默認(rèn)值。P45數(shù)據(jù)的類型可在數(shù)據(jù)之后加上一個類型符來表示,例如:a%,413&,86!,104.67#等。P46

30聲明變量的注意事項(xiàng)30變量類型的轉(zhuǎn)換不同數(shù)據(jù)類型的數(shù)據(jù)參加運(yùn)算、賦值時,VB通過類型轉(zhuǎn)換的方法先把不同類型的數(shù)據(jù)轉(zhuǎn)換成相同類型的數(shù)據(jù),然后再進(jìn)行運(yùn)算、賦值。類型轉(zhuǎn)換有兩種方式:

隱式轉(zhuǎn)換顯式轉(zhuǎn)換31變量類型的轉(zhuǎn)換31隱式轉(zhuǎn)換當(dāng)不同數(shù)據(jù)類型的數(shù)據(jù)參加運(yùn)算、賦值時,VB自動將不同類型的數(shù)據(jù)轉(zhuǎn)換成相同的類型。

在表達(dá)式中,不同的數(shù)據(jù)類型總是朝著表示范圍大,精度高的數(shù)據(jù)類型轉(zhuǎn)換。

在賦值語句中,右邊的數(shù)據(jù)以左邊的變量為基準(zhǔn),朝著左邊變量的數(shù)據(jù)類型轉(zhuǎn)換。

32隱式轉(zhuǎn)換32數(shù)值型數(shù)據(jù)之間的轉(zhuǎn)換整型

實(shí)型:將整型數(shù)值轉(zhuǎn)換成實(shí)型數(shù)值,然后再賦值給實(shí)型變量。實(shí)型

整型:將實(shí)型數(shù)值轉(zhuǎn)換成整型數(shù)值,然后再賦值給整型變量。方法:小數(shù)部分四舍五入取整,如果小數(shù)部分正好是0.5,則向最近的偶數(shù)靠攏取整。33數(shù)值型數(shù)據(jù)之間的轉(zhuǎn)換33字符串型數(shù)據(jù)的隱式轉(zhuǎn)換:數(shù)值

字符串:直接將數(shù)值轉(zhuǎn)換成字符串。字符串

數(shù)值:直接轉(zhuǎn)換。如果字符串中含有非數(shù)字字符,則VB不能轉(zhuǎn)換,顯示“類型不匹配”錯誤。34字符串型數(shù)據(jù)的隱式轉(zhuǎn)換:34邏輯型數(shù)據(jù)的隱式轉(zhuǎn)換:邏輯

數(shù)值:False轉(zhuǎn)換成0,True轉(zhuǎn)換成-1。數(shù)值

邏輯:0轉(zhuǎn)換成False,非零轉(zhuǎn)換成True。邏輯

字符串:False轉(zhuǎn)換成“False”,True轉(zhuǎn)換成“True”。字符串

邏輯:“False”轉(zhuǎn)換成False,“True”轉(zhuǎn)換成True。其它字符串不能轉(zhuǎn)換,否則顯示錯誤信息。35邏輯型數(shù)據(jù)的隱式轉(zhuǎn)換:35日期時間型數(shù)據(jù)的隱式轉(zhuǎn)換:日期時間

數(shù)值:日期部分轉(zhuǎn)換為數(shù)值的整數(shù)部分,它的值為該日期距1899年12月30日的天數(shù);時間部分轉(zhuǎn)換為數(shù)值的小數(shù)部分,它的值為從午夜零點(diǎn)到該時刻占一整天24小時的比例。數(shù)值

日期:規(guī)則與上面剛好相反。36日期時間型數(shù)據(jù)的隱式轉(zhuǎn)換:36顯式轉(zhuǎn)換使用轉(zhuǎn)換函數(shù)進(jìn)行數(shù)值類型的轉(zhuǎn)換。Cbool()轉(zhuǎn)換為Boolean類型Cdate()轉(zhuǎn)換為Date類型Clng()轉(zhuǎn)換為Long類型Cdbl()轉(zhuǎn)換為Double類型Csng()轉(zhuǎn)換為Single類型Ccur()轉(zhuǎn)換為Currency類型Cvar()轉(zhuǎn)換為Variant類型Cbyte()轉(zhuǎn)換為Byte類型Cint()轉(zhuǎn)換為Integer類型Cstr()轉(zhuǎn)換為String類型37顯式轉(zhuǎn)換37VB有兩種辦法強(qiáng)制變量聲明:在模塊開始的聲明段中加上一條語句:

OptionExplicit

表示該模塊中的變量必須聲明了才能使用,否則會引起“變量未定義”的錯誤。強(qiáng)制變量聲明38VB有兩種辦法強(qiáng)制變量聲明:強(qiáng)制變量聲明386.自定義數(shù)據(jù)類型定義數(shù)據(jù)類型定義格式如下:[Public|Private]Type數(shù)據(jù)類型名成員名1As已定義的數(shù)據(jù)類型名成員名2As已定義的數(shù)據(jù)類型名…成員名nAs已定義的數(shù)據(jù)類型名EndType396.自定義數(shù)據(jù)類型39例如:自定義學(xué)生基本情況數(shù)據(jù)類型PrivateTypeStudentStrnameAsStringIntSexAsIntegerDtmBirthdayAsDateStrTelAsStringStrAddAsStringEndType40例如:自定義學(xué)生基本情況數(shù)據(jù)類型40聲明變量只有聲明了自定義數(shù)據(jù)類型變量后,VB才為該變量分配相應(yīng)的內(nèi)存單元,此變量才能使用。例如:DimUdtZhangAsStudent41聲明變量41變量引用引用格式如下:變量名.成員名=表達(dá)式例如:UdtZhang.StrName=“張三”UdtZhang.IntSex=1UdtZhang.StrTel=“87654321”UdtZhang.StrAdd=“學(xué)生3樓506室”UdtZhang.DtmBirthday=#1984-8-26#42變量引用42浮點(diǎn)數(shù)的精度浮點(diǎn)數(shù)在機(jī)器內(nèi)部表示是不精確的,一個單精度浮點(diǎn)數(shù)在機(jī)器內(nèi)部占用四個字節(jié),它小數(shù)點(diǎn)后有7位小數(shù);一個雙精度浮點(diǎn)數(shù)在機(jī)器內(nèi)部占用八個字節(jié),它小數(shù)點(diǎn)后有15位小數(shù)。例如:SngVar0=12.1234567SngVar1=12.123456789SngVar2=12.123456781SngVar3=SngVar1-SngVar243浮點(diǎn)數(shù)的精度43符號常量也稱為用戶自定義常量。過程級符號常量聲明格式:

Const常量名[As類型名]=表達(dá)式

3.4符號常量

模塊級符號常量聲明格式:

[Private]Const常量名[As類型名]=表達(dá)式

44符號常量也稱為用戶自定義常量。3.全局符號常量聲明格式:

PublicConst常量名[As類型名]=表達(dá)式說明:聲明語句要放在標(biāo)準(zhǔn)模塊的聲明段中聲明。45全局符號常量45聲明符號常量時應(yīng)注意的地方:當(dāng)省略了[As類型名]時,默認(rèn)為Variant常量。不能在窗體模塊和類模塊中聲明全局常量。表達(dá)式中不能使用函數(shù)和Is運(yùn)算符??梢允褂靡粭l語句聲明多個常量,方法與聲明變量類似。常量取名時建議加上Con前綴。46聲明符號常量時應(yīng)注意的地方:46算術(shù)運(yùn)算符

^-*/\Mod+-加運(yùn)算符(X+Y)功能:用來求X和Y兩個數(shù)值表達(dá)式之和。減運(yùn)算符(X–Y)功能:用來求X、Y兩個數(shù)值表達(dá)式之差。乘運(yùn)算符(X*Y)功能:用來求X、Y兩個數(shù)值表達(dá)式的乘積。除運(yùn)算符(X/Y)功能:用來進(jìn)行X除以Y的運(yùn)算并返回一個浮點(diǎn)數(shù)。運(yùn)算符:算術(shù)、關(guān)系、字符、邏輯3.5運(yùn)算符47算術(shù)運(yùn)算符運(yùn)算符:算術(shù)、關(guān)系、字符、邏輯3.5運(yùn)算符整除運(yùn)算符(X\Y)功能:用來進(jìn)行X除以Y的運(yùn)算并返回一個整數(shù)。求模運(yùn)算符(XModY)功能:用來進(jìn)行X除以Y的運(yùn)算并且只返回余數(shù)。乘方運(yùn)算符(X^Y)功能:乘方運(yùn)算,用來求X的Y次方。48整除運(yùn)算符(X\Y)48注意:日期時間±數(shù)值型:將日期時間型數(shù)據(jù)的日期部分加上(減去)數(shù)值型數(shù)據(jù)的整數(shù)部分以形成新的日期。將日期時間型數(shù)據(jù)的時間部分加上(減去)數(shù)值型數(shù)據(jù)的小數(shù)部分以形成新的時間。

②日期型±日期型:兩個日期時間型數(shù)據(jù)進(jìn)行減法運(yùn)算時,結(jié)果是一個數(shù)值,表示兩個日期之間的天數(shù);進(jìn)行加法運(yùn)算時,將后一個轉(zhuǎn)換成數(shù)值再加。③日期型±邏輯型:49注意:②日期型±日期型:③日期型±邏輯型:49例如:#5/1/2003#+31結(jié)果是#6/1/2003##5/1/20036:00:00PM#-1.25結(jié)果是#4/30/200312:00:00AM##6/1/2003#-#5/1/2003#結(jié)果是31#5/1/2002#+#1/1/2002#相當(dāng)于#5/1/2002#+37257#5/1/2002#+True相當(dāng)于#5/1/2002#+-150例如:50整除運(yùn)算符“\”:運(yùn)算前先將兩個運(yùn)算量按四舍五入的方法轉(zhuǎn)換成整型數(shù)值,如果小數(shù)部分正好是0.5,則向最近的偶數(shù)靠攏,然后再參加運(yùn)算,運(yùn)算結(jié)果只截取整數(shù)部分。51整除運(yùn)算符“\”:運(yùn)算前先將兩個運(yùn)算量按四舍五入的方法轉(zhuǎn)換成例如:17\2結(jié)果是817.3\2結(jié)果是817.5\2結(jié)果是917.8\2結(jié)果是916.5\2結(jié)果是852例如:52求模運(yùn)算符:“AModB”的結(jié)果是取A除以B的余數(shù),運(yùn)算結(jié)果的符號與A保持一致;在運(yùn)算前先將兩個運(yùn)算量按四舍五入的方法轉(zhuǎn)換成整型數(shù)值,如果小數(shù)部分正好是0.5,則向最近的偶數(shù)靠攏,然后再參加運(yùn)算。絕對值小于或等于0.5的數(shù)不能作為被除數(shù)。53求模運(yùn)算符:“AModB”的結(jié)果是取A除以B的余數(shù),運(yùn)算例如:17mod3結(jié)果是2-17mod3結(jié)果是-217mod-3結(jié)果是217.5mod3結(jié)果是018.5mod3結(jié)果是054例如:54字符串運(yùn)算符&和+&、+運(yùn)算符都能用于兩個字符串的連接。

&運(yùn)算符:強(qiáng)制兩個表達(dá)式按字符串連接,盡管被連接的表達(dá)式不是字符串也是如此。

+運(yùn)算符:當(dāng)兩個表達(dá)式都是字符串時按字符串連接,否則視具體情況會有不同結(jié)果。一般使用&運(yùn)算符。

例如:“西安”&“財院”“西安財院”

55字符串運(yùn)算符&和+55XYX&YX+Y"1234""5""12345""12345"12345"12345"1239"1234"5"12345"1239"123A"5"123A5"報錯&和+運(yùn)算符的比較56XYX&YX+Y"1234""5""12345""1關(guān)系運(yùn)算符<<=>>=<>=IsLike關(guān)系運(yùn)算符包括:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、<>(不等于)和=(等于),用來反映兩個數(shù)值或字符串表達(dá)式之間的關(guān)系。關(guān)系成立,返回True(真);關(guān)系不成立,返回False(假);兩個表達(dá)式中若有Null,則返回Null。關(guān)系運(yùn)算符使用說明,如表5-4所示。57關(guān)系運(yùn)算符575858注意:關(guān)系運(yùn)算符的運(yùn)算結(jié)果只有True和False兩個。注意“等于”和“賦值號”的區(qū)別。在模塊的聲明部分添加一行代碼:OptionCompareText則英文字母的比較運(yùn)算就不區(qū)分大小寫。日期時間型數(shù)據(jù)做關(guān)系運(yùn)算時,較晚的日期時間大于較早的日期時間。59注意:59Is運(yùn)算符也稱為對象比較運(yùn)算符,它用來比較兩個對象變量。如果它們引用的是同一個對象,則運(yùn)算結(jié)果為True,否則為False。例如:DimObjvar1AsObjectDimObjvar2AsObjectDimBlnvar3AsBooleanBlnvar3=Objvar1IsNothingSetObjvar1=Cmd1SetObjvar2=Cmd2Blnvar3=Objvar1IsObjvar260Is運(yùn)算符60Like運(yùn)算符字符串匹配運(yùn)算符,它將字符串與給定的“模板”進(jìn)行匹配,若匹配成功,結(jié)果為True,否則為False。格式:

Strvar1LikeStrvar2其中:Strvar1是被比較的字符串,Strvar2是“模板”。

例如:P54

“xyz”Like“x*”“xyz”Like“x?z”61Like運(yùn)算符61“xyz”Like“xyz”“xyz”Like“x?z”“xyz”Like“x*z”“xyz1”Like“xyz#”“c”Like[abcd]“c”Like[!abcd]“c”Like[a-d]“c”Like[!a-d]“e”Like[abcd]“e”Like[!a-d]62“xyz”Like“xyz邏輯運(yùn)算符NotAndOrXorEquImp

雙目運(yùn)算符:And(與)、Or(或)、Xor(異或)、Equ(邏輯等于)和Imp(邏輯蘊(yùn)涵)。單目運(yùn)算符:Not(非),只有一個操作數(shù)。

說明:邏輯運(yùn)算時,只要參與運(yùn)算的表達(dá)式中有一個為Null,則將返回Null。

63邏輯運(yùn)算符63邏輯運(yùn)算符運(yùn)算結(jié)果比較操作數(shù)ANOTATrueFalseFalseTrue64邏輯運(yùn)算符運(yùn)算結(jié)果比較操作數(shù)ANOTATrueFals按位邏輯運(yùn)算邏輯運(yùn)算符的操作數(shù)若是整型量,則VB采用的是“按位邏輯運(yùn)算”。方法:先把操作數(shù)轉(zhuǎn)換為補(bǔ)碼表示的二進(jìn)制數(shù),然后,對該數(shù)的每一個數(shù)值位進(jìn)行邏輯運(yùn)算,運(yùn)算規(guī)則與邏輯運(yùn)算符相同。說明:按位邏輯運(yùn)算的結(jié)果也是一個整型值。65按位邏輯運(yùn)算65表達(dá)式是表示某種運(yùn)算的式子,是指用運(yùn)算符和括號將屬性、常量、變量和函數(shù)連接起來的有意義的式子。3.6表達(dá)式66表達(dá)式是表示某種運(yùn)算的式子,是指用運(yùn)算符和括號將屬性、表達(dá)式的書寫規(guī)則水平書寫,表達(dá)式中無上下角標(biāo),無上分子下分母,所有的符號都寫在一行上;大括號、中括號、小括號都用圓括號代替;符號用英文字母、漢語拼音;運(yùn)算符采用VB標(biāo)準(zhǔn)表示方法。

例:P5767表達(dá)式的書寫規(guī)則67運(yùn)算符的優(yōu)先級與結(jié)合性在一個表達(dá)式中,優(yōu)先級高的運(yùn)算符先計算,優(yōu)先級低的運(yùn)算符后計算;優(yōu)先級相同的運(yùn)算符按從左到右的順序計算。優(yōu)先級從高到底的順序:算術(shù)運(yùn)算符—>字符串運(yùn)算符(&)—>關(guān)系運(yùn)算符—>邏輯運(yùn)算符

算術(shù)運(yùn)算符優(yōu)先級由高至低是:^、–(負(fù)數(shù))、*/、\(整數(shù)除法)、Mod、+和–、&(字符串連接)。邏輯運(yùn)算符優(yōu)先級由高至低是:Not、And、Or、Xor、Eqv、Imp。68運(yùn)算符的優(yōu)先級與結(jié)合性68求表達(dá)式的值一個復(fù)雜的表達(dá)式可能由不同類型的運(yùn)算符,不同類型的常量和變量組成。一個簡單的表達(dá)式可以是單個的常量、變量、屬性和函數(shù)調(diào)用等而沒有運(yùn)算符。69求表達(dá)式的值69例:設(shè)a=1,b=2,c=3,d=4,求下面表達(dá)式的值。Nota+b+c-1Andd+9/2c>aXorNot“Vbasic”Like“V*B*”b/2+1>-1+dOrb*2=63>2>170例:設(shè)a=1,b=2,c=3,d=4,求下面表達(dá)式的值。70為了免去重復(fù)編寫常用函數(shù)程序的麻煩,系統(tǒng)開發(fā)者們預(yù)先編好了大量的常用函數(shù)程序,集成在對應(yīng)的語言環(huán)境中,供用戶直接調(diào)用,這些函數(shù)通常稱為系統(tǒng)內(nèi)部函數(shù)。分為:

數(shù)學(xué)函數(shù)轉(zhuǎn)換函數(shù)字符串函數(shù)數(shù)組函數(shù)日期與時間函數(shù)其它函數(shù)與語句與用戶交互函數(shù)常用內(nèi)部函數(shù)3.7常用內(nèi)部函數(shù)

71為了免去重復(fù)編寫常用函數(shù)程序的麻煩,系統(tǒng)開3.7.1數(shù)學(xué)函數(shù)函

數(shù)說

明實(shí)例結(jié)果Sin返回弧度的正弦Sin(1).841470984807897Cos返回弧度的余弦Cos(1).54030230586814Atn返回用弧度表示的反正切值A(chǔ)tn(1).785398163397448Tan返回弧度的正切Tan(1)1.5574077246549Abs返回數(shù)的絕對值A(chǔ)bs(-2.4)2.4Exp返回e的指定次冪Exp(1)2.71828182845905723.7.1數(shù)學(xué)函數(shù)函數(shù)說3.7.1數(shù)學(xué)函數(shù)函

數(shù)說

明實(shí)例結(jié)果Log返回一個數(shù)值的自然對數(shù)Log(1)0Rnd返回小于1且大于或等于0的隨機(jī)數(shù)Rnd0~1之間的隨機(jī)數(shù)Sgn返回數(shù)的符號值Sgn(-100)-1Sqr返回數(shù)的平方根Sqr(16)4Int返回不大于給定數(shù)的最大整數(shù)Int(3.6)3Fix返回數(shù)的整數(shù)部分Fix(-3.6)-3733.7.1數(shù)學(xué)函數(shù)函數(shù)說3.7.2轉(zhuǎn)換函數(shù)Str(x)Str函數(shù)的作用是將一個數(shù)值表達(dá)式轉(zhuǎn)換為一個字符串,且表達(dá)式的類型不變。其語法格式為:Str(number)參數(shù)number為一Long型數(shù)值表達(dá)式,其中可包含任何有效的數(shù)值表達(dá)式。當(dāng)一數(shù)字轉(zhuǎn)成字符串時,總會在前頭保留一空位來表示正負(fù)。如果number為正,返回的字符串包含一前導(dǎo)空格暗示有一正號。743.7.2轉(zhuǎn)換函數(shù)Str(x)743.7.2轉(zhuǎn)換函數(shù)Val(str)

Val函數(shù)的作用是返回包含于字符串內(nèi)的數(shù)字,字符串中是一個適當(dāng)類型的數(shù)值。其語法格式為:Val(string)Chr(x)Chr函數(shù)求一個ASCⅡ碼值所對應(yīng)的ASCⅡ碼字符。其語法格式為:Chr(charcode)。參數(shù)charcode是一個用來識別某字符的Long型數(shù)。charcode的正常范圍為0–255。0到31之間的數(shù)字與標(biāo)準(zhǔn)的非打印ASCII代碼相同。例如,Chr(10)可以返回?fù)Q行字符。753.7.2轉(zhuǎn)換函數(shù)Val(str)753.7.2轉(zhuǎn)換函數(shù)Asc(string)Asc函數(shù)用來求一個字符串首字符的ASCⅡ碼值,其語法格式為:Asc(string)參數(shù)string可以是任何有效的字符串表達(dá)式。如果string中沒有包含任何字符,則會產(chǎn)生運(yùn)行時錯誤。Hex(number)Hex函數(shù)返回代表十六進(jìn)制數(shù)值的String。Oct函數(shù)返回Variant(String),代表一數(shù)值的八進(jìn)制值。它們的語法格式為:Hex(number)Oct(number)

參數(shù)number為任何有效的數(shù)值表達(dá)式或字符串表達(dá)式。如果number不是一個整數(shù),那么在執(zhí)行前會先被四舍五入成最接近的整數(shù)。763.7.2轉(zhuǎn)換函數(shù)Asc(string)763.7.2轉(zhuǎn)換函數(shù)Format(Exp[,format])使用Format函數(shù)首先將Exp表達(dá)式變成字符串類型,然后將Exp表達(dá)式的值轉(zhuǎn)成format指定的格式,如日期、時間、貨幣或其他用戶自定義格式。與Str不同的是,F(xiàn)ormat函數(shù)不包含前導(dǎo)空格來放置number的正負(fù)號。773.7.2轉(zhuǎn)換函數(shù)Format(Exp[,format3.7.2轉(zhuǎn)換函數(shù)783.7.2轉(zhuǎn)換函數(shù)783.7.2轉(zhuǎn)換函數(shù)793.7.2轉(zhuǎn)換函數(shù)79常用的數(shù)值型格式說明字符字符說

明#數(shù)字占位符。顯示一位數(shù)字或什么都不顯示。如果表達(dá)式在格式字符串中#的位置上有數(shù)字存在,那么就顯示出來,否則,該位置什么都不顯示0數(shù)字占位符。顯示一位數(shù)字或是零。如果表達(dá)式在格式字符串中0的位置上有一位數(shù)字存在,那么就顯示出來,否則就以零顯示.小數(shù)點(diǎn)占位符,千分位符號占位符80常用的數(shù)值型格式說明字符字符說常用的數(shù)值型格式說明字符字符說

明%百分比符號占位符。表達(dá)式乘以100。而百分比字符(%)會插入到格式字符串中出現(xiàn)的位置上$在數(shù)字前強(qiáng)加$+在數(shù)字前強(qiáng)加+-在數(shù)字前強(qiáng)加-E+用指數(shù)表示E-用指數(shù)表示81常用的數(shù)值型格式說明字符字符說常用的時間日期型格式說明字符符號作用符號作用Yyyy四位數(shù)顯示年份(0100~9999)q季度數(shù)(1~4)D顯示日期(1~31),個位前不加0dd顯示日期(01~31),個位前加0ddddddddww顯示星期縮寫(Sun~Sat)星期為數(shù)字(1~7,1是星期日)顯示完整日期(yy/mm/dd)ddddddddddww顯示星期全名(Sunday~Saturday)顯示完整長日期(yyyy年m月d日)一年中的星期數(shù)(1~53)M顯示月份(1~12),個位前不加0mm顯示月份(01~12),個位前加0Nmm顯示月份縮寫(Jan~Dec)mmmm月份全名(January~December)82常用的時間日期型格式說明字符符號作用符號作用Yyyy四位數(shù)顯常用的時間日期型格式說明字符符號作用符號作用Y顯示一年中的天(1~366)yy兩位數(shù)顯示年份(00~99)H顯示小時(0~23),個位前不加0hh顯示小時(0~23),個位前加0M在h后顯示分(0~59),個位前不加0mm在h后顯示分(0~59),個位前加0S顯示秒(0~9),個位前不加0ss顯示秒(00~59),個位前加0tttt顯示完整時間(小時、分和秒)默認(rèn)格式為hh:mm:ssAM/PMAm/pm12小時的時鐘,中午前AM或am中午后PM或pmA/P,a/p12小時的時鐘,中午前A或a中午后P或p83常用的時間日期型格式說明字符符號作用符號作用Y顯示一年中的天常用的字符型格式說明字符字符說明實(shí)例結(jié)果@字符占位符。顯示字符或是空白。如果字符串在格式字符串中@的位置有字符存在,那么就顯示出來;否則就在那個位置上顯示空白。除非有驚嘆號字符(!)在格式字符串中,否則字符占位符將由右到左被填充Format(“ABCD”,”@@@@@@”)”ABCD”84常用的字符型格式說明字符字符說明實(shí)例結(jié)果@字符占位符。顯示字常用的字符型格式說明字符字符說明實(shí)例結(jié)果&字符占位符。顯示字符或什么都不顯示,如果字符串在格式字符串中和號&的位置有字符存在,那么就顯示出來否則就在那個位置上顯示空白。除非有驚嘆號字符(?。┰诟袷阶址?,否則字符占位符將由右到左被填充Format(“ABCD”,“&&&&&&”)“ABCD”<強(qiáng)制小寫。將所有字符以小寫格式顯示Format(“ABCD”,“<&&&&&&”)“abcd”>強(qiáng)制大寫。將所有字符以大寫格式顯示Format(“abcd”,“>&&&&&&”)“ABCD”!強(qiáng)制由左至右填充字符占位符。缺省值是由右至左填充字符占位符Format(“ABCD”,“!&&&&&&”)“ABCD”85常用的字符型格式說明字符字符說明實(shí)例結(jié)果&字符占3.7.3字符串函數(shù)下表為字符串函數(shù),參數(shù)為字符型,函數(shù)值大多為字符型,也可能為其他類型。字符串函數(shù)常以符號“$”標(biāo)識,如Left()函數(shù)可寫為Left$()。863.7.3字符串函數(shù)下表為字符串常用字符串函數(shù)函

數(shù)說

實(shí)例結(jié)果Ltrim$(C)返回刪除字符串左端空格后的字符串LTrim$("

MyName")"MyName"Rtrim$(C)返回刪除字符串右端空格后的字符串RTrim$("MyName

")"MyName"Trim(C)返回刪除字符串前導(dǎo)和尾隨空格后的字符串Trim$("

MyName

")"MyName"Left$(C,N)返回從字符串左邊開始的指定數(shù)目的字符Left$("MyName",2)"My"87常用字符串函數(shù)函數(shù)說明實(shí)例結(jié)果常用字符串函數(shù)函

數(shù)說

實(shí)例結(jié)果Right$(C,N)返回從字符串右端開始的指定數(shù)目的字符Right$("MyName",4)"Name"Mid$(C,N1[,N2])返回從字符串指定位置開始的指定數(shù)目的字符Mid$("MyName",2,3)"yNa"Len(C)返回字符串的長度Len("MyName=王青")9Instr([N1,]C1,C2[,M])返回字符串在給定的字符串中出現(xiàn)的開始位置InStr(7,"ASDFDFDFSDSF","DF")788常用字符串函數(shù)函數(shù)說明實(shí)例結(jié)果常用字符串函數(shù)Space$(N)返回由指定數(shù)目空格字符組成的字符串Space$(5)"

"StrComp(str1,str2[,CompMode])str1>str2,返回1;str1<str2,返回-1;str1=str2,返回0;CompMode決定比較方法StrComp(“asd”,”abd”)StrComp(“aBd”,”abd”,1)10String$(N,C)返回包含一個字符重復(fù)指定次數(shù)的字符串String$(2,"ABCD")"AA"*StrReverse(C)將字符串反序排列StrReverse("ABCD")"DCBA"Lcase(C)返回以小寫字母組成的字符串LCase("ABCabc")"abcabc"Ucase(C)返回以大寫字母組成的字符串LCase("ABCabc")"ABCABC"89常用字符串函數(shù)Space$(N)返回由指定數(shù)目空格字符組成的3.7.4數(shù)組函數(shù)LBound(ArrayName[,Dimension])LBound(ArrayName[,Dimension])函數(shù)返回數(shù)組名為ArrayName的第Dimension維下標(biāo)的下界,如果省略Dimension參數(shù),則返回第一維下標(biāo)的下界。UBound(ArrayName[,Dimension])UBound(ArrayName[,Dimension])函數(shù)返回數(shù)組名為ArrayName的第Dimension維下標(biāo)的上界,如果省略Dimension參數(shù),則返回第一維下標(biāo)的上界。903.7.4數(shù)組函數(shù)LBound(ArrayName[3.7.4數(shù)組函數(shù)Array(ArgList)Array(ArgList)函數(shù)定義一個一維變體類型的數(shù)組,其參數(shù)列表ArgList中逗號分隔的多個值就是該數(shù)組各元素的值。如果ArgList省略,則定義一個無元素的數(shù)組。913.7.4數(shù)組函數(shù)Array(ArgList)913.7.5日期與時間函數(shù)函

數(shù)說

實(shí)例結(jié)果Now返回系統(tǒng)日期和時間(yy-mm-ddhh:mm:ss)Now2001-12-1816:19:10Date[$][()]返回當(dāng)前日期(yy-mm-dd)Date$()2001-12-18DateSerial(年,月,日)返回一個日期形式DateSerial(1,2,3)2001-2-3DateAdd(str,n,dtm)返回在dtm上增加一段時間間隔的日期DateAdd(“m”,1,#1/22/2003#)2003-2-22Day(C|N)返回月中第幾天(1~31)Day("2002-3-5")5WeekDay(C|N)返回是星期幾(1~7)WeekDay("2002-3-5")3(星期二)923.7.5日期與時間函數(shù)函數(shù)說明實(shí)例3.7.5日期與時間函數(shù)函

數(shù)說

實(shí)例結(jié)果DateDiff(str,dtm1,dtm2)返回兩個日期之間的差,返回值的單位由str決定DateDiff(“m”,#3/22/2003#,#1/2/2003#)2DatePart(str,dtm)返回日期時間的某個部分的值DatePart(“m”,#1/22/2003#)1Month(C|N)返回一年中的某月(1~12)Month("2002-3-5")3Year(C|N)返回年份(yyyy)Year("2002-3-5")2002Hour(C|N)返回小時(0~23)Hour(Now)16(由系統(tǒng)決定)Minute(C|N)返回分鐘(0~!59)Minute(Now)31(由系統(tǒng)決定)933.7.5日期與時間函數(shù)函數(shù)說明實(shí)例3.7.5日期與時間函數(shù)函

數(shù)說

實(shí)例結(jié)果Second(C|N)返回秒(

溫馨提示

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

評論

0/150

提交評論