




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章
VisualBasic語言基礎(chǔ)VB語言的基本概念數(shù)據(jù)類型和常量、變量運(yùn)算符和表達(dá)式常用內(nèi)部函數(shù)InputBox、MsgBox函數(shù)和Print方法2.1VB語言的基本概念2.1.1標(biāo)識(shí)符標(biāo)識(shí)符是編程時(shí)為變量、常量、數(shù)據(jù)類型、過程、函數(shù)、類等定義的名字。關(guān)鍵字是VB保留下來的作為程序中有固定含義的標(biāo)識(shí)符,不能被重新定義。例如,And、If、End等都是關(guān)鍵字。VB中所有的標(biāo)識(shí)符都有相同的命名規(guī)則,命名規(guī)則如下:(1)標(biāo)識(shí)符由字母、數(shù)字或下劃線(_)組成,不能包含標(biāo)點(diǎn)符號(hào)、空格等。例如,a.b、a%b、ab等都是不合法的。(2)標(biāo)識(shí)符必須以字母開頭,不能以數(shù)字或其他字符開頭。例如,2a、1_1等都是不合法的。(3)標(biāo)識(shí)符最長(zhǎng)不能超過
255個(gè)字符。(4)自定義的變量、過程名等不能和VB中的關(guān)鍵字同名。例如,變量名不能是False、If、End等。2.1.2書寫規(guī)范1.VB代碼中字母的大小寫(1)VB代碼中不區(qū)分字母的大小寫。(2)VB中的關(guān)鍵字首字母總被轉(zhuǎn)換成大寫,其余字母被轉(zhuǎn)換成小寫。若關(guān)鍵字由多個(gè)英文單詞組成,自動(dòng)將每個(gè)單詞首字母轉(zhuǎn)換成大寫。例如,關(guān)鍵字If、False、As等首字母為大寫。(3)對(duì)于用戶自定義的變量、過程名等,VB以第一次定義的大小寫為準(zhǔn),以后每次輸入的變量或過程名自動(dòng)按第一次定義的格式轉(zhuǎn)換。例如,當(dāng)?shù)谝淮味x變量名為Number1,則以后不論使用大小寫,當(dāng)該語句寫完換行時(shí)就自動(dòng)按Number1的大小寫格式轉(zhuǎn)換。2.1.2書寫規(guī)范2.語句按行書寫(1)VB的語句按行書寫,每行最多允許255個(gè)字符。(2)可以將多個(gè)語句合并到同一行上,語句間用“:”號(hào)分隔。例如,在一行上寫三個(gè)語句:a=1:b=2:c=3(3)單行語句可以通過續(xù)行符“
_”(由一個(gè)空字符和一個(gè)下劃線字符組成)將一行分成若干行書寫。一行語句最多只能有25個(gè)續(xù)行。例如,將一行語句分成兩行書寫:Label1.Caption=_"你好!"2.1.2書寫規(guī)范3.注釋語句注釋語句用于在代碼中添加注釋。代碼段中的注釋語句VB并不運(yùn)行,只是提高程序的可讀性,便于程序的維護(hù)和調(diào)試。VB提供了兩種方法來添加注釋。(1)Rem語句語法:
Rem注釋文本例如,添加注釋說明按鈕Command1的Click事件的功能: PrivateSubCommand1_Click() Rem單擊按鈕在標(biāo)簽中顯示"你好!"或者在一行上寫注釋: PrivateSubCommand1_Click():Rem單擊按鈕在標(biāo)簽中顯示"你好!"2.1.2書寫規(guī)范(2)單引號(hào)“'”注釋符語法:
'注釋文本使用“'”加注釋更加靈活也更常用。例如: PrivateSubCommand1_Click() '單擊按鈕在標(biāo)簽中顯示"你好!"或者在一行上寫注釋: PrivateSubCommand1_Click() '單擊按鈕在標(biāo)簽中顯示"你好!"2.2數(shù)據(jù)類型和常量、變量2.2.1數(shù)據(jù)類型1.?dāng)?shù)值型
數(shù)值型數(shù)據(jù)包含兩類共五種數(shù)據(jù)類型。(1)整數(shù)數(shù)據(jù)存放整數(shù)數(shù)據(jù)的有Integer(整型)和Long(長(zhǎng)整型)。(2)小數(shù)數(shù)據(jù)存放小數(shù)數(shù)據(jù)的有Single(單精度浮點(diǎn)型)、Double(雙精度浮點(diǎn)型)和
Currency(貨幣型),Currency型的數(shù)據(jù)小數(shù)點(diǎn)前面可以有15位小數(shù)點(diǎn)后有4位。2.字節(jié)型(Byte)Byte型用于存儲(chǔ)二進(jìn)制數(shù)據(jù),0~255的整數(shù)可以用Byte型表示。
3.字符型(String)字符型用于存放字符串,字符串是用雙引號(hào)("")括起來的一串字符,字符型有變長(zhǎng)和定長(zhǎng)兩種,分別表示固定長(zhǎng)度和可變長(zhǎng)度的字符串。變長(zhǎng)字符串型是根據(jù)存放的字符串長(zhǎng)度可增可減。2.2.1數(shù)據(jù)類型4.布爾型(Boolean)布爾型存儲(chǔ)的只能是
True或
False。如果數(shù)據(jù)的值只有“True或False”、“Yes或No”、“On或Off”,則可以用Boolean型表示。
5.日期型(Date)日期型用于存儲(chǔ)日期和時(shí)間,日期型數(shù)據(jù)必須以一對(duì)“#”括起來。如果不含時(shí)間值,則自動(dòng)將時(shí)間設(shè)置為午夜(00:00:00);如果不含日期值,則自動(dòng)將日期設(shè)置為公元1899年12月30日。
6.變體型(Variant)變體型能夠存儲(chǔ)系統(tǒng)定義的所有類型的數(shù)據(jù),是一種可變的數(shù)據(jù)類型。當(dāng)沒有說明數(shù)據(jù)類型時(shí),則變量自動(dòng)為
Variant型,但采用Variant型占用的內(nèi)存也比其他類型多。Variant型還包含三種特定值:Empty、Null和
Error。2.2.1數(shù)據(jù)類型7.對(duì)象型(Object)對(duì)象型用于表示任何類型的對(duì)象,可引用應(yīng)用程序中或其它應(yīng)用程序中的對(duì)象。必須使用Set語句先對(duì)對(duì)象引用賦值,然后才能引用對(duì)象。表2.1顯示每種數(shù)據(jù)類型的存儲(chǔ)空間大小和范圍。數(shù)據(jù)類型存儲(chǔ)空間(字節(jié))范圍Byte10~255Boolean2True或
FalseInteger2-32,768~
32,767Long4-2,147,483,648~
2,147,483,647Single4-3.402823E38~-1.401298E-451.401298E-45~
3.402823E38Currency8-922,337,203,685,477.5808~
922,337,203,685,477.5807Date8100年
1月
1日~9999年
12月
31日Double8-1.79769313486232E308~
-4.94065645841247E-3244.94065645841247E-324~
1.79769313486232E308Object4任何
ObjectString(變長(zhǎng))10+串長(zhǎng)0~大約
20億String(定長(zhǎng))串長(zhǎng)1~大約
65,400Variant(數(shù)字)16任何數(shù)字值,最大可達(dá)
Double的范圍
Variant(字符)22+串長(zhǎng)與變長(zhǎng)
String有相同的范圍表2.1數(shù)據(jù)類型以及存儲(chǔ)空間大小與范圍2.2.2常量1.一般常量一般常量包括:數(shù)值常量、字符常量、邏輯型常量和日期常量。(1)數(shù)值常量數(shù)值常量由正負(fù)號(hào)、數(shù)字和小數(shù)點(diǎn)等組成,其中小數(shù)可以用定點(diǎn)數(shù)和浮點(diǎn)數(shù)表示。整數(shù):由數(shù)字和正負(fù)號(hào)組成,例如,12、-123、1234567。整數(shù)大多數(shù)都是以十進(jìn)制表示的,也可以用十六進(jìn)制數(shù)(基數(shù)為
16)或八進(jìn)制數(shù)(基數(shù)為
8)表示。八進(jìn)制數(shù)用前綴&O引導(dǎo),由數(shù)字0~7組成。十六進(jìn)制數(shù)用前綴
&H引導(dǎo),由數(shù)字0~9、A~F或a~f組成。表2.2中為十進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)的相互轉(zhuǎn)換實(shí)例。十進(jìn)制數(shù)八進(jìn)制數(shù)十六進(jìn)制數(shù)7&O7&H78&O10&H815&O17&HF16&O20&H10255&O377&HFF表2.2十進(jìn)制數(shù)、八進(jìn)制數(shù)和十六進(jìn)制數(shù)的相互轉(zhuǎn)換2.2.2常量定點(diǎn)數(shù):帶有小數(shù)點(diǎn)的正數(shù)或負(fù)數(shù),表示數(shù)的范圍比較小,例如,-75.32、3.1415926、0.0005。浮點(diǎn)數(shù)分為單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù),分別表示為mEn和mDn,m為尾數(shù),n為指數(shù),指數(shù)為乘以10的冪次。例如,-93.2E5(單精度型)、-25.2E-3(單精度型)、2.35D-12(雙精度型)。2.2.2常量(2)字符常量字符常量是用雙引號(hào)("")括起來的一串字符。例如,"abC"、""、"李明"、"你好!",其中""(雙引號(hào)中無任何字符,也不含空格)為空字符串。(3)邏輯常量邏輯常量只有兩個(gè):True(真)、False(假)。(4)日期常量日期常量是用前后兩個(gè)“#”把表示日期和時(shí)間的值括起來。例如,以下幾種都是表示2004年3月15日:#2004-3-15#、#3/15/2004#、#2004/3/15#、#2004-3-157:30:00#2.2.2常量2.符號(hào)常量符號(hào)常量是指在程序中用符號(hào)表示的常量。符號(hào)常量又分為系統(tǒng)內(nèi)置常量和用戶定義常量?jī)煞N。(1)用戶定義常量用戶定義常量用具有含義的常量名來代替難記的一般常量,使用符號(hào)常量可增加程序代碼的可讀性。在程序中使用用戶定義常量,應(yīng)該使用
Const語句先行說明。語法:
[Public|Private]Const常量名
[As數(shù)據(jù)類型]=表達(dá)式2.2.3變量1.變量的聲明變量的聲明就是定義變量的數(shù)據(jù)類型,從而事先將變量的類型通知程序。變量的聲明分為“顯式聲明”和“隱式聲明”。(1)顯式聲明顯式聲明是在變量使用之前,用
Dim、Static、Public、Private語句聲明一個(gè)變量或多個(gè)變量。語法:
Dim變量名
[As數(shù)據(jù)類型] Dim變量名
[As數(shù)據(jù)類型],變量名
[As數(shù)據(jù)類型]…例如,下面都是聲明變量的語句: DimaAsInteger '定義a為
Integer型 DimaAsString*5 '定義a為定長(zhǎng)String型 DimaAsLong,bAsString '定義a,b兩個(gè)變量 Dima '定義a為
Variant型2.2.3變量(2)隱式聲明隱式聲明是用一個(gè)特殊的類型符號(hào)加在變量名后面來聲明數(shù)據(jù)類型,而在使用一個(gè)變量之前不需要聲明這個(gè)變量。表2.3所示數(shù)據(jù)類型與類型聲明符號(hào)的對(duì)應(yīng)關(guān)系。聲明符號(hào)數(shù)據(jù)類型含義%Integer整型&Long長(zhǎng)整型$String字符型!Single單精度浮點(diǎn)型#Double雙精度浮點(diǎn)型@Currency貨幣型表2.3隱式聲明類型符號(hào)例如,用隱式聲明變量:PrivateSubCommand1_Click()'單擊按鈕在標(biāo)簽中顯示"你好!" a$="你好!"Label1.Caption=aEndSub2.2.3變量(3)OptionExplicit語句OptionExplicit語句可以使VB只要遇到一個(gè)未經(jīng)顯式聲明的變量名,就發(fā)出錯(cuò)誤警告,以提示用戶避免寫錯(cuò)變量名引起的麻煩。OptionExplicit語句可以采用以下兩種方法輸入:在代碼窗口中各種模塊的聲明部分輸入OptionExplicit語句。在代碼編輯器從對(duì)象下拉列表中選擇“通用”,從過程下拉列表選擇“聲明”,然后輸入代碼“OptionExplicit”,如圖2.1所示。圖2.1輸入OptionExplicit語句2.2.3變量在“工具”菜單中選擇“選項(xiàng)”菜單項(xiàng),單擊“編輯器”選項(xiàng)卡,選擇“要求變量聲明”復(fù)選框如圖2.2所示。當(dāng)下次啟動(dòng)VB后,就在任何新模塊中自動(dòng)插入了OptionExplicit語句。圖2.2“選項(xiàng)”窗口2.2.3變量例如,在模塊的聲明部分輸入了OptionExplicit語句:OptionExplicit
PrivateSubCommand1_Click() a="你好!"Label1.Caption=aEndSub當(dāng)單擊“啟動(dòng)”按鈕,運(yùn)行該程序時(shí),變量a沒有聲明,系統(tǒng)就會(huì)提示編譯錯(cuò)誤如圖2.3所示。圖2.3編譯錯(cuò)誤2.2.3變量2.變量的賦值在聲明一個(gè)變量后,就可以給變量賦值。賦值語句用于將表達(dá)式的值賦給變量。
語法:
[Let]變量=表達(dá)式說明:Let可以省略;“=”是賦值符號(hào)。例如,下面幾種都是賦值語句:Dima,bAsInteger a=5 Leta=5 b=5:a=b2.2.3變量(1)只有當(dāng)“=”右邊的表達(dá)式是與變量兼容的數(shù)據(jù)類型時(shí),該值才可以賦給變量,否則會(huì)強(qiáng)制將該值轉(zhuǎn)換為變量的數(shù)據(jù)類型。變量為字符型,表達(dá)式為數(shù)值型 DimaAsString a=5程序分析:則a為"5",數(shù)值型轉(zhuǎn)換為字符型。變量為Boolean型,表達(dá)式為數(shù)值型 DimaAsBoolean a=5程序分析:則a為True,所有非零的數(shù)值都轉(zhuǎn)換為True,而0值則轉(zhuǎn)換為False。變量為數(shù)值型,表達(dá)式為Boolean型 DimaAsInteger a=True程序分析:則a為-1,True轉(zhuǎn)換為-1,而False則轉(zhuǎn)換為0。2.2.3變量變量為字符型,表達(dá)式為Boolean型 DimaAsString a=True程序分析:則a為
"True",True轉(zhuǎn)換為"True",而False則轉(zhuǎn)換為"False"。變量為Date型,表達(dá)式為數(shù)值型 DimaAsDate a=5程序分析:由于a為日期型數(shù)據(jù),則a的值不是5,而是轉(zhuǎn)換為#1900-1-4#。如果數(shù)值有整數(shù)和小數(shù),則整數(shù)為日期,小數(shù)為時(shí)間。當(dāng)數(shù)據(jù)類型不匹配時(shí),系統(tǒng)會(huì)提示出錯(cuò)。2.2.3變量(2)當(dāng)數(shù)值型變量賦值超出其范圍時(shí),會(huì)提示溢出出錯(cuò)。例如,對(duì)整型數(shù)據(jù)賦值超出其范圍:DimaAsIntegera=123456789程序分析:由于a為整型數(shù)據(jù),范圍為-32,768~
32,767,因此系統(tǒng)提示出錯(cuò)。(3)當(dāng)對(duì)定長(zhǎng)字符型變量賦值時(shí),如果字符串長(zhǎng)度少于定長(zhǎng),則用空格將不足部分填滿;如果字符串的長(zhǎng)度太長(zhǎng),則截去超出部分的字符。例如,當(dāng)賦值的字符串長(zhǎng)度超過定長(zhǎng)時(shí),截去超出部分:PrivateSubForm_Click()DimaAsString*5a="abcdefg"Label1.Caption=aEndSub程序分析:變量a為"abcde"。2.3運(yùn)算符和表達(dá)式2.3.1運(yùn)算符和表達(dá)式1.算術(shù)運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符是用來進(jìn)行數(shù)值運(yùn)算的運(yùn)算符,算術(shù)表達(dá)式是用算術(shù)運(yùn)算符將常量、變量等連接起來的式子。算術(shù)運(yùn)算符包括+、-、*、/、\、^和Mod:+、-、*、/:用于兩個(gè)數(shù)的加、減、乘、除運(yùn)算,為雙目運(yùn)算。其中-又可以為求負(fù)運(yùn)算,為單目運(yùn)算。\:用于兩個(gè)數(shù)的除法運(yùn)算并返回一個(gè)整數(shù)商,為雙目運(yùn)算。^:用于求一個(gè)數(shù)的冪運(yùn)算即指數(shù)運(yùn)算,為雙目運(yùn)算。Mod:用于兩個(gè)數(shù)的除法運(yùn)算并返回余數(shù),為雙目運(yùn)算。例如,以下都是算術(shù)表達(dá)式,其中x=5: 2*x 結(jié)果為10 2^3 結(jié)果為8 10/4 結(jié)果為
2.5 10\4 結(jié)果為
2 10Mod4 結(jié)果為2 #3/15/2004#-
#1/15/2004# 結(jié)果為60,兩個(gè)日期的間隔天數(shù)2.3.1運(yùn)算符和表達(dá)式2.關(guān)系運(yùn)算符和表達(dá)式關(guān)系運(yùn)算符是用來進(jìn)行比較的運(yùn)算符,關(guān)系運(yùn)算符與兩個(gè)運(yùn)算數(shù)構(gòu)成關(guān)系表達(dá)式,關(guān)系表達(dá)式的值只能是True、False或NULL。關(guān)系運(yùn)算符包括<、<=、>、>=、=、<>以及Is和Like:=:等于符,與賦值符號(hào)“=”不同。<>:不等于符。Is:比較兩個(gè)對(duì)象是否一致。Like:比較兩個(gè)字符串的模式是否匹配。在Like表達(dá)式中可以使用通配符,如表2.4所示。通配符含義實(shí)例可匹配字符串*可匹配多個(gè)字符a*a1,abc,…?可匹配單個(gè)字符a?a1,ab,…#可匹配單個(gè)數(shù)字123#1234,1238,…[list]可匹配列表中的單個(gè)字符[a-e]a,b,c,d,e[!list]可匹配列表以外的單個(gè)字符[!a-e]G,h,f,…表2.4Like匹配模式表2.3.1運(yùn)算符和表達(dá)式3.連接運(yùn)算符和表達(dá)式連接運(yùn)算符是用來合并字符串的運(yùn)算符,包括&和+。連接表達(dá)式是用連接運(yùn)算符將兩個(gè)運(yùn)算數(shù)連接起來。例如,以下都是連接表達(dá)式: "Hello"&"World" 結(jié)果為"HelloWorld" "2"&"4" 結(jié)果為"24" "2"+"4" 結(jié)果為"24" 2&4 結(jié)果為24 2+4 結(jié)果為62.3.1運(yùn)算符和表達(dá)式4.邏輯運(yùn)算符和表達(dá)式邏輯運(yùn)算符是用于判斷運(yùn)算數(shù)之間的邏輯關(guān)系,邏輯運(yùn)算是對(duì)兩個(gè)運(yùn)算數(shù)中位置相同的位進(jìn)行逐位比較。邏輯表達(dá)式是用邏輯運(yùn)算符將邏輯變量連接起來。邏輯運(yùn)算符包括And(與)、Or(或)、Not(非)、Eqv(等價(jià))、Imp(包含)和Xor(異或)。如表2.5是a和b進(jìn)行邏輯運(yùn)算的結(jié)果。abNota(非)aAndb(與)aOrb(或)aEqvb(等價(jià))aImpb(包含)aXorb(異或)FalseFalseTrueFalseFalseTrueTrueFalseFalseTrueTrueFalseTrueFalseTrueTrueTrueFalseFalseFalseTrueFalseFalseTrueTrueTrueFalseTrueTrueTrueTrueFalse表2.5邏輯運(yùn)算2.3.2各種運(yùn)算的優(yōu)先順序各種運(yùn)算符的優(yōu)先順序有以下原則:(1)表達(dá)式的括號(hào)最優(yōu)先,相同優(yōu)先級(jí)的運(yùn)算按從左到右順序進(jìn)行;(2)各種類型運(yùn)算符的優(yōu)先順序(從高到低)如下:
算術(shù)運(yùn)算符→字符串連接運(yùn)算符(&)→關(guān)系運(yùn)算符→邏輯運(yùn)算符(3)同一類運(yùn)算符的優(yōu)先順序也不同算術(shù)運(yùn)算符的優(yōu)先順序(從高到低)如下: ^→-(負(fù)號(hào))→*、
/→\(整數(shù)除法)→Mod→+、
–例如,以下算術(shù)表達(dá)式按優(yōu)先順序運(yùn)算: -5^2 結(jié)果為-25,^→- 10\2*(5-2) 結(jié)果為1,()→*→\邏輯運(yùn)算符優(yōu)先順序如下: Not→And→Or→Xor→Eqv→Imp2.3.2各種運(yùn)算的優(yōu)先順序各個(gè)關(guān)系運(yùn)算符的優(yōu)先級(jí)是相同的。例如,對(duì)a,b,c變量進(jìn)行各種運(yùn)算:Dima,b,c,da=1:b=2:c=3d=a>bAndc>a '結(jié)果為Falsed=a+b<b*c '結(jié)果為Trued=a>=2*bAndc<>5 '結(jié)果為False2.3.2各種運(yùn)算的優(yōu)先順序當(dāng)不同數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行運(yùn)算時(shí),運(yùn)算結(jié)果的數(shù)據(jù)類型按以下原則轉(zhuǎn)換:兩個(gè)運(yùn)算數(shù)中存儲(chǔ)長(zhǎng)度不同時(shí),運(yùn)算結(jié)果的類型為存儲(chǔ)長(zhǎng)度較長(zhǎng)的。例如,Integer型數(shù)和Long型數(shù)運(yùn)算時(shí),結(jié)果的類型就是Long型。Integer型數(shù)和Single型數(shù)的運(yùn)算結(jié)果類型為Single型;Long型數(shù)和Single型數(shù)的運(yùn)算結(jié)果類型為Double型。除法運(yùn)算不論運(yùn)算數(shù)是什么類型,結(jié)果都是Double型?!纠?-1】判別某年是否是閏年,閏年的條件符合下面二者之一:(1)能被4整除,但不能被100整除。(2)能被4整除又能被400整除。要求:?jiǎn)螕舭粹oCommand1計(jì)算出2004年是否是閏年,并在窗體的標(biāo)簽Lable2中顯示結(jié)果。2.3.2各種運(yùn)算的優(yōu)先順序
運(yùn)行界面如圖2.4所示,(a)圖為運(yùn)行界面(b)圖為設(shè)計(jì)界面。圖2.4(a)運(yùn)行界面(b)設(shè)計(jì)界面2.3.2各種運(yùn)算的優(yōu)先順序界面設(shè)計(jì):窗體界面中放置了兩個(gè)標(biāo)簽Lable1和Lable2,以及一個(gè)按鈕Command1。分別設(shè)置其Caption屬性,如表2.6所示。屬性Form1Lable1Lable2Command1Caption判斷閏年2004年是否是閏年?空判斷表2.6屬性設(shè)置2.3.2各種運(yùn)算的優(yōu)先順序當(dāng)單擊按鈕Command1時(shí)判斷2004年是否是閏年,程序代碼如下:PrivateSubCommand1_Click()'單擊按鈕計(jì)算閏年DimxAsIntegerDimyAsBooleanx=2004y=(((xMod4)=0)And((xMod100)<>0))Or(((xMod4)=0)And((xMod400)=0))Label2.Caption=yEndSub程序分析:在Command1的Click事件中計(jì)算是否是閏年,并將結(jié)果顯示在標(biāo)簽Lable2;邏輯表達(dá)式
(((xMod4)=0)And((xMod100)<>0))Or(((xMod4)=0)And((xMod400)=0))為判斷閏年的表達(dá)式;運(yùn)算的結(jié)果y為Boolean型,即True或False。2.4常用內(nèi)部函數(shù)內(nèi)部函數(shù)也稱公共函數(shù),是由VB系統(tǒng)提供的,VB提供了大量的內(nèi)部函數(shù),包括算術(shù)函數(shù)、字符函數(shù)、日期與時(shí)間函數(shù)、類型轉(zhuǎn)換函數(shù)和判斷函數(shù)等。每個(gè)內(nèi)部函數(shù)都有某個(gè)特定的功能,可在任何程序中直接調(diào)用。語法:
函數(shù)名(參數(shù)1,參數(shù)2,…)2.4.1算術(shù)函數(shù)算術(shù)函數(shù)是系統(tǒng)給用戶提供進(jìn)行算術(shù)運(yùn)算的函數(shù)。表2.7所示為常用的算術(shù)函數(shù)的功能、例子以及函數(shù)的運(yùn)算結(jié)果。算術(shù)函數(shù)有幾點(diǎn)說明:(1)函數(shù)具有返回值,應(yīng)注意函數(shù)返回值的數(shù)據(jù)類型。(2)三角函數(shù)的運(yùn)算都使用弧度。(3)Fix(x)和Int(x)函數(shù)都是對(duì)數(shù)值型變量取整,但對(duì)于正數(shù)和負(fù)數(shù)結(jié)果不同。 Fix(10.5)=10 Int(10.5)=10 Fix(-10.5)=-10 Int(-10.5)=-11(4)用Rnd(x)函數(shù)用于產(chǎn)生隨機(jī)數(shù),當(dāng)x=0時(shí)產(chǎn)生與前一次相同的隨機(jī)數(shù)。如果不斷地重復(fù)Rnd函數(shù),會(huì)反復(fù)出現(xiàn)同一序列的隨機(jī)數(shù),可以用Randomize語句消除這種情況。語法:
Randomize[(x)]2.4.1算術(shù)函數(shù)【例2-2】根據(jù)直角三角形的兩條直角邊,計(jì)算其斜邊的長(zhǎng)度。計(jì)算斜邊根據(jù)公式:界面設(shè)計(jì):在窗體上放置三個(gè)文本框(Text1、Text2、Text3)、三個(gè)標(biāo)簽(Label1、Label2、Label3)和一個(gè)按鈕Command1,Text1和Text2用來輸入兩條直角邊的長(zhǎng)度,計(jì)算的斜邊顯示在文本框Text3中,單擊按鈕Command1計(jì)算斜邊,運(yùn)行界面如圖2.5所示。設(shè)置控件屬性如表2.8所示。對(duì)象控件名屬性名屬性值FormForm1Caption計(jì)算三角形斜邊LabelLabel1Captiona=Label2Captionb=Label3Captionc=TextText1Text空Text2Text空Text3Text空CommandCommand1Caption計(jì)算表2.8屬性設(shè)置圖2.5運(yùn)行界面2.4.1算術(shù)函數(shù)程序代碼如下:PrivateSubCommand1_Click()'單擊按鈕計(jì)算斜邊DimaAsSingle,bAsSingle,cAsSinglea=Val(Text1.Text)b=Val(Text2.Text)c=Sqr(a^2+b^2) '計(jì)算斜邊Text3.Text=cEndSub程序分析:文本框的Text屬性是字符型,而在計(jì)算中要使用的變量a、b、c是Single型,因此在計(jì)算中必須運(yùn)用Val()函數(shù)對(duì)文本框的Text屬性值進(jìn)行轉(zhuǎn)換。計(jì)算平方根用sqr函數(shù)。2.4.2字符函數(shù)字符函數(shù)用于進(jìn)行字符串處理,表2.9所示為常用的字符函數(shù)功能、實(shí)例以及運(yùn)算結(jié)果。【例2-3】從字符串中取字符,從界面輸入字符串,并取任意位置的字符。界面設(shè)計(jì):界面包含5個(gè)標(biāo)簽(Label1~Label5),四個(gè)文本框(Text1~Text4)和一個(gè)按鈕(Command1),四個(gè)文本框分別用于輸入字符串和從第幾個(gè)位置開始取幾個(gè)字符,單擊按鈕Command1進(jìn)行取字符運(yùn)算。運(yùn)行界面如圖2.6所示。圖2.6取字符運(yùn)行界面2.4.2字符函數(shù)屬性設(shè)置:按照?qǐng)D2.6所示設(shè)置各標(biāo)簽和按鈕的Caption屬性,并將所有文本框的Text屬性設(shè)置為空。程序代碼如下:PrivateSubCommand1_Click()'單擊按鈕取字符Dims1AsString,s2AsStringDimaAsInteger,bAsIntegers1=Text1.Text '輸入字符串a(chǎn)=Val(Text2.Text) '輸入起始個(gè)數(shù)b=Val(Text3.Text) '輸入字符個(gè)數(shù)s2=Mid(s1,a,b) '取字符Text4.Text=s2EndSub程序分析:使用Mid函數(shù)取字符串的任意位置字符。2.4.3日期與時(shí)間函數(shù)日期時(shí)間函數(shù)提供日期和時(shí)間有關(guān)的函數(shù)。表2.10所示為常用的日期和時(shí)間函數(shù)的功能、例子以及運(yùn)算結(jié)果。函數(shù)名返回類型功能例子運(yùn)算結(jié)果Day(日期)Integer返回日期,1~31的整數(shù)Day(#2004/3/15#)15Month(日期)Integer返回月份,1~12的整數(shù)Month(#2004/3/15#)3Year(日期)Integer返回年份Year(#2004/3/15#)2000Weekday(日期)Integer返回星期幾Weekday(#2004/3/15#)2TimeDate返回當(dāng)前系統(tǒng)時(shí)間Time系統(tǒng)當(dāng)前時(shí)間DateDate返回系統(tǒng)日期Date系統(tǒng)當(dāng)前日期NowDate返回系統(tǒng)日期和時(shí)間Now系統(tǒng)當(dāng)前日期與時(shí)間Hour(時(shí)間)Integer返回鐘點(diǎn),0~
23的整數(shù)Hour(#4:35:17PM#)16Minute(時(shí)間)Integer返回分鐘,0~
59的整數(shù)Minute(#4:35:17PM#)35Second(時(shí)間)Integer返回秒鐘,
0~
59的整數(shù)Second(#4:35:17PM#)17表2.10日期與時(shí)間函數(shù)功能及實(shí)例2.4.3日期與時(shí)間函數(shù)【例2-4】使用日期和時(shí)間函數(shù)在窗體上顯示系統(tǒng)當(dāng)前的日期和時(shí)間。界面設(shè)計(jì):界面包含5個(gè)(Label1~Label5)標(biāo)簽,四個(gè)文本框(Text1~Text4)和一個(gè)按鈕(Command1),四個(gè)文本框分別用于顯示年份、月份、日期和時(shí)間,單擊按鈕Command1在四個(gè)文本框中顯示時(shí)間。運(yùn)行界面如圖2.7所示。圖2.7顯示時(shí)間2.4.3日期與時(shí)間函數(shù)屬性設(shè)置:按照?qǐng)D2.7所示設(shè)置各標(biāo)簽和按鈕的Caption屬性,并將所有的文本框的Text屬性設(shè)置為空。程序代碼如下:PrivateSubCommand1_Click()'單擊按鈕顯示時(shí)間Text1.Text=Year(Date) '顯示年份Text2.Text=Month(Date) '顯示月份Text3.Text=Day(Date) '顯示日期'顯示時(shí)間Text4.Text=Hour(Now)&":"&Minute(Now)&":"&Second(Now)EndSub程序分析:Date函數(shù)返回系統(tǒng)日期,即計(jì)算機(jī)當(dāng)前設(shè)置的日期。Now返回系統(tǒng)時(shí)間,即計(jì)算機(jī)當(dāng)前設(shè)置的日期和時(shí)間。2.4.4類型轉(zhuǎn)換函數(shù)和判斷函數(shù)1.類型轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)是用來將數(shù)據(jù)強(qiáng)制轉(zhuǎn)換成某種特定的數(shù)據(jù)類型,如表2.11所示為轉(zhuǎn)換函數(shù)的功能、例子以及轉(zhuǎn)換結(jié)果。轉(zhuǎn)換函數(shù)轉(zhuǎn)換結(jié)果類型例子轉(zhuǎn)換結(jié)果CBool(x)BooleanCBool(0)FalseCByte(x)ByteCByte(125.5678)126CCur(x)CurrencyCCur(543.214588)543.2146CDate(x)Datecdate(5)#1900-1-4#CDbl(x)DoubleCDbl()1922.54576CInt(x)IntegerCInt(123.5)123CLng(x)LongCLng(25427.45)25427CSng(x)SingleCSng(75.3421115)75.34211CStr(x)StringCStr(437.324)"437.324"CVar(x)VariantCVar(4534&"000")"4534000"CVErr(x)ErrorCVErr(2001)自定義錯(cuò)誤碼Str(x)VariantStringStr(459)"459"表2.11轉(zhuǎn)換函數(shù)功能及實(shí)例2.4.4類型轉(zhuǎn)換函數(shù)和判斷函數(shù)2.判斷函數(shù)VB還提供了一些判斷函數(shù)用來判斷數(shù)據(jù)的類型,如表2.12所示為判斷函數(shù)的功能、例子以及轉(zhuǎn)換結(jié)果。轉(zhuǎn)換函數(shù)轉(zhuǎn)換結(jié)果類型功能例子轉(zhuǎn)換結(jié)果TypeNameString返回變量的類型TypeName(2)IntegerIsNumeric(x)Boolean判斷是否是數(shù)值型IsNumberic(123.4)
TrueIsDateBoolean判斷是否是日期型isdate(5)FalseIsObjectBoolean判斷是否是對(duì)象IsObject(5)FalseIsNullBoolean判斷是否是不包含任何有效數(shù)據(jù)IsNull(5)FalseIsEmptyBoolean判斷變量是否已被初始化IsEmpty(a)是否被初始化表2.12判斷函數(shù)及實(shí)例2.5InputBox、MsgBox函數(shù)和Print方法2.5.1InputBox函數(shù)InputBox函數(shù)用于接受用戶鍵盤輸入的數(shù)據(jù),也稱為輸入框。語法:
變量=InputBox(對(duì)話框字符串[,標(biāo)題][,文本框字符串][,橫坐標(biāo)值][,縱坐標(biāo)值][,幫助文件,幫助主題號(hào)])例如,使用InputBox函數(shù)輸入學(xué)號(hào),所顯示的輸入框如圖2.8所示:Number=InputBox("請(qǐng)輸入學(xué)號(hào)","輸入學(xué)號(hào)","2001010123")圖2.8InputBox對(duì)話框2.5.2MsgBox函數(shù)MsgBox函數(shù)用于向用戶發(fā)布提示信息,要求用戶做出必要的響應(yīng),也稱為消息框。語法:
變量=MsgBox(消息文本[,顯示按鈕和圖標(biāo)][,標(biāo)題][,幫助文件,幫助主題號(hào)])說明:消息文本:在對(duì)話框中作為消息顯示的字符串,用于提示信息。如果消息的內(nèi)容超過一行時(shí),可以在每行之間插入回車符Chr(13)或換行符Chr(10)進(jìn)行換行。標(biāo)題:在對(duì)話框標(biāo)題欄中顯示的標(biāo)題,省略時(shí)為空白。顯示按鈕和圖標(biāo):是c1+c2+c3+c4的總和,用來指定顯示按鈕的數(shù)目、形式、使用的圖標(biāo)樣式。設(shè)置值c1、c2、c3、c4如下表2.13、2.14、2.15、2.16所示。2.5.2MsgBox函數(shù)MsgBox函數(shù)等待用戶單擊按鈕,返回一個(gè)Integer型值告訴用戶單擊哪一個(gè)按鈕,返回值如表2.17。如果用戶按下“ESC”鍵,則與單擊“Cancel”按鈕的效果相同。按鈕名內(nèi)置常量返回值OK(確定)vbOK1Cancel(取消)vbCancel2Abort(終止)vbAbort3Retry(重試)vbRetry4Ignore(忽略)vbIgnore5Yes(是)vbYes6No(否)vbNo7表2.17MsgBox返回值2.5.2MsgBox函數(shù)例如,使用消息框顯示出錯(cuò)提示信息,消息框如圖2.9所示:Response=MsgBox("對(duì)不起,你的學(xué)號(hào)不正確!",vbOKOnly+vbExclamation,"出錯(cuò)")程序分析:顯示的消息框中消息文本為“對(duì)不起,你的學(xué)號(hào)不正確!”,標(biāo)題為“出錯(cuò)”,按鈕只有一個(gè)“確定”按鈕(
vbOKOnly),圖標(biāo)為警告(vbExclamation)。當(dāng)單擊“確定”按鈕,則返回1給變量Response。圖2.9MsgBox消息框2.5.3Print方法Print方法用于在窗體、圖片框控件(Picture)和打印機(jī)上輸出文本。語法:
[對(duì)象.]Print[表達(dá)式列表]說明:當(dāng)對(duì)象省略,就將表達(dá)式列表顯示在窗體屏幕上。表達(dá)式列表是顯示或打印的表達(dá)式列表內(nèi)容。如果省略,則輸出一空行。多個(gè)表達(dá)式用“;”隔開為緊湊格式;用“,”隔開則每個(gè)表達(dá)式間隔14個(gè)字符。2.5.3Print方法1.Format格式函數(shù)用格式函數(shù)Format可以使數(shù)值、日期或字符型數(shù)據(jù)按指定的格式輸出。語法:
Format(表達(dá)式[,格式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)一年級(jí)語文試題前瞻及答案
- 小學(xué)六年級(jí)語文考前模擬試題及答案
- 2024年語文考試真題試題及答案
- 歸納總結(jié)2024年統(tǒng)計(jì)學(xué)考試試題及答案
- 中班點(diǎn)數(shù)測(cè)試題及答案
- 汽車維修行業(yè)發(fā)展趨勢(shì)及挑戰(zhàn)試題及答案
- 2024年汽車工業(yè)技術(shù)革新方向試題及答案
- 2024年計(jì)算機(jī)基礎(chǔ)考試解析試題及答案
- 白色污染與食品安全考題及答案
- 如何準(zhǔn)備2024年食品質(zhì)檢員考試
- 科研倫理與學(xué)術(shù)規(guī)范答案
- DB37T5105-2017山東省城市生活用水量標(biāo)準(zhǔn)
- 失禁性皮炎不良事件原因分析和整改措施
- 2023年鞍鋼集團(tuán)招聘筆試題庫(kù)及答案解析
- YS/T 555.1-2009鉬精礦化學(xué)分析方法鉬量的測(cè)定鉬酸鉛重量法
- 水利工程(水電站)全套安全生產(chǎn)操作規(guī)程
- 學(xué)生宿舍宿管人員查寢記錄表
- 配電間巡檢記錄表
- 團(tuán)隊(duì)建設(shè)(破冰活動(dòng))精編版課件
- 四年級(jí)道德與法治(下冊(cè))第一單元同伴與交往單元測(cè)試卷-(含答案)
- 蘇教版三年級(jí)(下)科學(xué)第一單元植物的一生質(zhì)量測(cè)試卷(一)含答案
評(píng)論
0/150
提交評(píng)論