- Visual Basic實(shí)例精通
- 柴相花等編著
- 926字
- 2019-03-01 14:47:23
第5章 基本函數(shù)
前面介紹了VB語(yǔ)言基礎(chǔ)中的相關(guān)內(nèi)容,了解了VB的標(biāo)識(shí)符、常量、變量、數(shù)據(jù)類型、數(shù)組以及VB的基本語(yǔ)句和過(guò)程的運(yùn)用。本章接著介紹VB語(yǔ)言基礎(chǔ)中的另外一部分也是最后一部分——函數(shù)。
5.1 CurDir返回當(dāng)前路徑
本節(jié)介紹CurDir函數(shù),該函數(shù)用于將代表當(dāng)前路徑的變量作為返回值返回到當(dāng)前程序中,是一種非常有用的獲取文件或文件夾路徑的函數(shù),希望通過(guò)本節(jié)的介紹,對(duì)該函數(shù)有更深入的了解。
技術(shù)要點(diǎn)
在本實(shí)例中主要使用的技術(shù)是CurDir函數(shù)、常數(shù)vbCrlf、對(duì)象App以及Path屬性。主要功能和用法如下:
●CurDir函數(shù),主要用于返回當(dāng)前的路徑。其中,參數(shù)driver表示存在驅(qū)動(dòng)器的字符串表達(dá)式,當(dāng)省略該參數(shù)時(shí),則CurDir返回當(dāng)前驅(qū)動(dòng)器的路徑。
●常數(shù)vbCrlf,表示回車和換行符的組合常數(shù),等價(jià)于Chr$(13)+Chr$(10)。
●對(duì)象App,可以表示雙重含義,當(dāng)單獨(dú)使用時(shí)表示一個(gè)屬性,主要用于返回一個(gè)App對(duì)象;當(dāng)與屬性 Path 組合使用時(shí)表示一個(gè)對(duì)象,表示應(yīng)用于列表中的對(duì)象。
● Path屬性,表示一個(gè)指示路徑的字符串,該屬性有兩種用法,分別表示返回或設(shè)置當(dāng)前路徑和返回指定文件、文件夾或驅(qū)動(dòng)器的路徑。
Pat第一種用法的語(yǔ)法格式:
Object.Path[=PathName]
其中,參數(shù)Object表示應(yīng)用于列表中的對(duì)象,數(shù)據(jù)類型是對(duì)象型;參數(shù)PathName表示獲得的路徑名,數(shù)據(jù)類型是字符串類型。
第二種用法的語(yǔ)法格式:
Object.Path
其中,參數(shù)Object表示具體的文件名、文件夾名或驅(qū)動(dòng)器名。
實(shí)現(xiàn)代碼
Private Sub Form_Click() Dim MyPath As String '定義字符型變量 Dim ComStr As String '定義字符型變量 MyPath = CurDir '由CurDir獲得當(dāng)前路徑 TxtShow.Text="當(dāng)前路徑為:"&vbCrLf&MyPath&Space(5)&"- >CurDir" '顯示返回的路徑 ComStr = App.Path & Space(2)& " - >App.Path" '獲得當(dāng)前路徑 TxtCom.Text = ComStr '顯示當(dāng)前路徑 End Sub
單擊工具欄中的保存按鈕,保存工程,然后單擊工具欄中的啟動(dòng)按鈕
運(yùn)行工程,程序運(yùn)行結(jié)果如圖5.1所示。

圖5.1 程序運(yùn)行界面圖
然后單擊工具欄中的結(jié)束按鈕,或者單擊運(yùn)行窗口的關(guān)閉按鈕
,結(jié)束程序的運(yùn)行。
源程序解讀
(1)在Form_ Click()事件中,首先定義了兩個(gè)字符串變量MyPath和ComStr,分別存儲(chǔ)由CurDir和App.Path獲得的路徑。
(2)然后,運(yùn)用CurDir函數(shù)獲得當(dāng)前的路徑并賦值給變量MyPath,并用“TxtShow”文本框在窗體上顯示出來(lái)。
(3)最后,由App.Path獲得當(dāng)前路徑并賦值給變量ComStr,并用“TxtCom”文本框在窗體上顯示出來(lái),主要用于跟上面獲得的路徑進(jìn)行比較。
5.2 CurDir記錄登錄日志
在上節(jié)中介紹了函數(shù)CurDir返回當(dāng)前路徑的功能,并與App.Path返回的當(dāng)前路徑進(jìn)行比較,從而說(shuō)明CurDir函數(shù)的有效性。本節(jié)接著介紹函數(shù)CurDir的另外功能,即記錄登錄日志。
技術(shù)要點(diǎn)
本實(shí)例中主要用到的技術(shù)是Print方法、Open方法、Close方法和CurDir函數(shù)。主要功能和用法如下:
●Open方法,主要用于打開(kāi)一個(gè)已知的文件,在本例中,Open方法打開(kāi)日志文件主要進(jìn)行的操作是追加字符串。
● Close方法,主要用于關(guān)閉一個(gè)打開(kāi)的文件。
● CurDir函數(shù),在本例中主要是返回日志文件的當(dāng)前路徑。
Print方法主要用于在窗體、圖片框、立即窗口等對(duì)象上面顯示字符串,具體使用語(yǔ)法為:
[Object.]Print [OutputList]
這種語(yǔ)法的詳細(xì)情況在前面已經(jīng)介紹過(guò),在此介紹Print方法的另一種應(yīng)用方法:
Print Object,[OutputList]
這種用法表示在對(duì)象Object上面顯示OutputList的內(nèi)容,如本例中,在日志文件中顯示登錄信息。
實(shí)現(xiàn)代碼
Dim mSky '定義一個(gè)可變型變量 '退出事件 Private Sub CmdExit_Click() Unload Me '卸載窗體 End Sub '登錄事件 Private Sub CmdLogin_Click() Dim Tstr As String '定義一個(gè)字符串變量 mSky = mSky + 1 '變量增1 Text1.Text = "Text" & Str$(mSky) '顯示第幾個(gè)登錄文本 Tstr = TxtName.Text & Space$(6)& _ TxtPassWord.Text & Space$(6)& _ Text1.Text & Space$(2)& _ CStr(Date& Space$(1)& Time) '記錄登錄信息 TxtShow.Text = Tstr '顯示登錄信息 Open (CurDir & "\登錄日志.ini")For Append As#2 '追加記錄 Print #2,Tstr '把記錄寫(xiě)入日志 Close#2 '關(guān)閉日志 End Sub '初始化文本框的屬性 Private Sub Form_Load() TxtName.Text = "BlueSky" '給文本框的Text屬性賦初值 TxtPassWord.Text = "123456" '給文本框的Text屬性賦初值 Text1.Visible = False '使得文本框不可見(jiàn) End Sub
按Ctrl+S組合鍵保存工程,然后按F5鍵運(yùn)行工程。單擊啟動(dòng)按鈕后,程序運(yùn)行結(jié)果如圖5.2所示。單擊“Login”按鈕時(shí),程序運(yùn)行結(jié)果如圖5.3所示。

圖5.2 初始狀態(tài)的運(yùn)行界面圖

圖5.3 登錄之后的運(yùn)行界面圖
源程序解讀
(1)代碼首先定義了一個(gè)整型變量mSky,用來(lái)表示用戶的登錄次數(shù)。
(2)在Form_ Load()事件中,分別初始化“TxtName”文本框、“TxtPassWord”文本框和“Text1”文本框。分別賦值為:“BlueSky”、“123456”、Visible的屬性為False。
(3)當(dāng)單擊“CmdLogin”命令按鈕時(shí),就觸發(fā)CmdLogin_ Click()事件。在該事件中,首先定義一個(gè)字符串變量Tstr用來(lái)存儲(chǔ)登錄產(chǎn)生的記錄。然后,把變量mSky的值增1,并給“Text1”文本框賦值,表示登錄的文本次數(shù)。最后,把登錄的信息賦值給變量Tstr,并運(yùn)用“TxtShow”文本框在窗體上顯示出來(lái)。
(4)接下來(lái),使用Open方法打開(kāi)日志文件把登錄信息追加到日志文件中,執(zhí)行完畢后關(guān)閉日志文件。
(5)最后,當(dāng)單擊“CmdExit”命令按鈕時(shí),就觸發(fā)CmdExit_ Click()事件,執(zhí)行退出窗體的操作。
說(shuō)明:實(shí)例中Close方法后面的文件號(hào)#2可以省略。
5.3 Dir查找所有目錄
在前面兩節(jié)中介紹了 CurDir函數(shù)的用法,希望讀者通過(guò)前兩節(jié)的學(xué)習(xí)能夠熟練運(yùn)用CurDir函數(shù)。本節(jié)繼續(xù)介紹另外一種函數(shù)——Dir,這個(gè)函數(shù)主要用來(lái)返回文件、文件夾或目錄的名稱。
技術(shù)要點(diǎn)
本實(shí)例運(yùn)用的主要技術(shù)是Dir函數(shù)和Exit語(yǔ)句,主要功能和用法如下:
● Dir函數(shù),主要用于返回當(dāng)前目錄下的文件名、文件夾名或目錄名。
● Exit語(yǔ)句,主要用來(lái)退出一個(gè)過(guò)程或模塊。
Dir函數(shù)的具體語(yǔ)法如下:
Dir [(pathname[,attributes])]
其中,參數(shù)pathname,主要用于指定文件名的字符串表達(dá)式,可能包含目錄、文件夾或驅(qū)動(dòng)器,如果沒(méi)有查找到pathname,則返回空字符串。在本例中,pathname就是包含各個(gè)驅(qū)動(dòng)器的字符串;參數(shù)attributes主要用來(lái)指定文件的屬性,是常數(shù)或數(shù)值表達(dá)式,如果省略,則返回沒(méi)有屬性的文件,attributes的設(shè)置有很多種:當(dāng)設(shè)置為vbNormal時(shí),表示沒(méi)有屬性的文件;當(dāng)設(shè)置為vbReadOnly時(shí),表示沒(méi)有屬性的只讀文件;當(dāng)設(shè)置為vbHidden時(shí),表示沒(méi)有屬性的隱藏文件;當(dāng)設(shè)置為VbSystem時(shí),表示沒(méi)有屬性的系統(tǒng)文件;當(dāng)設(shè)置為vb-Volume時(shí),表示卷標(biāo)文件;當(dāng)設(shè)置為vbDirectory時(shí),表示沒(méi)有屬性的文件及其路徑和文件夾。
Exit語(yǔ)句的具體語(yǔ)法如下:
Exit [Object]
其中,Object就是要結(jié)束的對(duì)象,可以是一個(gè)過(guò)程Sub,一個(gè)函數(shù)Function,一個(gè)循環(huán)語(yǔ)句Do、For,也可以是過(guò)程Property。
實(shí)現(xiàn)代碼
'組合框的Click事件 Private Sub CmbS_Click() Dim strPath As String '定義字符串變量 Select Case CmbS.ListIndex Case 0 TxtShow.Text = "" '清空文本框中的內(nèi)容 strPath = Dir("C:\",vbDirectory) '獲得當(dāng)前路徑C盤(pán)下的目錄名 Case 1 TxtShow.Text = "" '清空文本框中的內(nèi)容 strPath = Dir("D:\",vbDirectory) '獲得當(dāng)前路徑D盤(pán)下的目錄名 Case 2 TxtShow.Text = "" '清空文本框中的內(nèi)容 strPath = Dir("E:\",vbDirectory) '獲得當(dāng)前路徑E盤(pán)下的目錄名 Case 3 TxtShow.Text = "" '清空文本框中的內(nèi)容 strPath = Dir("F:\",vbDirectory) '獲得當(dāng)前路徑F盤(pán)下的目錄名 End Select Do If strPath < > vbNullString Then TxtShow.Text = TxtShow.Text & vbCrLf & strPath '顯示查找的目錄名 Else Exit Do '退出Do循環(huán) End If strPath = Dir() '接著查找下一個(gè)目錄 Loop End Sub '初始化組合框,添加盤(pán)符類型 Private Sub Form_Load() CmbS.AddItem "C" '在組合框中添加"C" CmbS.AddItem "D" '在組合框中添加"D" CmbS.AddItem "E" '在組合框中添加"E" CmbS.AddItem "F" '在組合框中添加"F" End Sub
按Ctrl+S組合鍵保存工程,然后按F5鍵運(yùn)行工程。在C盤(pán)中查找目錄的運(yùn)行結(jié)果如圖5.4所示。在D盤(pán)中查找目錄的運(yùn)行結(jié)果如圖5.5所示。

圖5.4 在C盤(pán)查找目錄的界面圖

圖5.5 在D盤(pán)查找目錄的界面圖
源程序解讀
(1)在Form_ Load()事件中,初始化“CmbS”組合框,分別添加盤(pán)符的類別:C,D,E, F。然后,當(dāng)單擊“CmbS”組合框時(shí),就觸發(fā)CmbS的Click事件。
(2)在CmbS_ Click()事件中,運(yùn)用Select Case語(yǔ)句,根據(jù)“CmbS”組合框的ListIndex屬性,對(duì)各個(gè)盤(pán)符分別查找目錄。在每個(gè)語(yǔ)句塊中,都要先把“TxtShow”文本框的內(nèi)容清空。
(3)然后,利用Dir函數(shù)返回當(dāng)前盤(pán)符下的目錄名。
(4)最后,運(yùn)用Do循環(huán)語(yǔ)句繼續(xù)查找該盤(pán)符下的下一個(gè)目錄名,直到查找完畢。并把最終查找的目錄名集合在文本框中顯示出來(lái)。
5.4 運(yùn)用Fix和Rnd函數(shù)進(jìn)行乘法運(yùn)算
在前面小節(jié)中分別介紹了CurDir函數(shù)和Dir函數(shù),這兩種函數(shù)基本上都與文件的存取有關(guān),但又不是純粹的文件處理函數(shù)。本節(jié)介紹另外兩種函數(shù)——Fix函數(shù)和Rnd函數(shù)的運(yùn)用實(shí)例。
技術(shù)要點(diǎn)
本節(jié)實(shí)例中主要使用的技術(shù)是Fix函數(shù)、Rnd函數(shù)和Randomize語(yǔ)句。主要功能和用法如下:
● Fix函數(shù),是VB數(shù)學(xué)函數(shù)中的取整函數(shù)。
● Rnd函數(shù),主要用于產(chǎn)生一個(gè)隨機(jī)的單精度類型的數(shù)值。
● Randomize語(yǔ)句,主要用來(lái)初始化隨機(jī)數(shù)產(chǎn)生器。
Fix函數(shù)的具體語(yǔ)法為:
Fix(number)
其中,參數(shù)number表示雙精度類型的數(shù)值或任何有效的數(shù)值表達(dá)式,如果number<0,則Fix會(huì)返回大于 number的最小負(fù)整數(shù)。并且 Fix函數(shù)不遵從四舍五入的原則,而是把number的小數(shù)部分直接去掉。
Rnd函數(shù)的具體語(yǔ)法為:
Rnd[(Number)]
其中,參數(shù)Number,表示一個(gè)單精度數(shù)值或任何有效的數(shù)值表達(dá)式。根據(jù)Number值的不同,Rnd的返回值也不同,當(dāng)Number<0時(shí),每次返回值都使用Number作為隨機(jī)數(shù)種子得到的相同結(jié)果;當(dāng)Number>0時(shí),返回值為序列中的下一個(gè)隨機(jī)數(shù);當(dāng)Number=0時(shí),返回值為最近生成的數(shù);當(dāng)Number被省略時(shí),返回值為序列中的下一個(gè)隨機(jī)數(shù)。
Randomize語(yǔ)句的具體語(yǔ)法為:
Randomize[number]
其中,參數(shù)number是可變型或任何有效的數(shù)值表達(dá)式,該參數(shù)將Rnd函數(shù)的隨機(jī)數(shù)生成器初始化,該隨機(jī)數(shù)生成器給number一個(gè)新的種子值。如果省略number,則用系統(tǒng)計(jì)時(shí)器返回的值作為新的種子值。
實(shí)現(xiàn)代碼
Dim a,b,c As Integer '定義三個(gè)整型變量 '退出系統(tǒng)事件 Private Sub CmdExit_Click() Unload Me '卸載窗體 End Sub '出題目事件 Private Sub CmdGT_Click() Randomize '初始化隨機(jī)數(shù)產(chǎn)生器 a = Fix(7 * Rnd + 1) '產(chǎn)生隨機(jī)數(shù) b = Fix(6 * Rnd + 1) '產(chǎn)生隨機(jī)數(shù) TxtTitle.Text = Str$(a)+ " ×" + Str$(b)+ " =" '出題 TxtResult.Text = "" '清空文本框TxtResult中內(nèi)容 TxtJudge.Text = "" '清空文本框TxtJudge中內(nèi)容 CmdJR.Enabled = True '使得CmdJR能被按下 CmdJR.Default = True '使得CmdJR為默認(rèn)按鈕 CmdGT.Enabled = False '使得CmdGT不能被按下 TxtResult.SetFocus '將焦點(diǎn)設(shè)置在TxtResult中 End Sub '判斷結(jié)果事件 Private Sub CmdJR_Click() c = Val(TxtResult.Text) '得到所填的結(jié)果 If c = 0 Then Exit Sub '如果乘積為0退出過(guò)程 If c = a * b Then '判斷乘積結(jié)果與填的結(jié)果是否相等 TxtJudge.Text = "正確" '顯示判斷結(jié)果 Else TxtJudge.Text = "錯(cuò)誤" '顯示判斷結(jié)果 End If CmdGT.Enabled = True '使得CmdGT能被按下 CmdGT.Default = True '使得CmdGT為默認(rèn)按鈕 CmdJR.Enabled = False '使得CmdJR不能被按下 End Sub '窗體活動(dòng)時(shí)的事件 Private Sub Form_Activate() CmdGT_Click '執(zhí)行CmdGT單擊事件 End Sub
按Ctrl+S組合鍵保存工程,然后按F5鍵運(yùn)行工程。當(dāng)輸入正確計(jì)算結(jié)果時(shí),程序的運(yùn)行結(jié)果如圖5.6所示。當(dāng)輸入錯(cuò)誤計(jì)算結(jié)果時(shí),程序的運(yùn)行結(jié)果如圖5.7所示。

圖5.6 輸入正確結(jié)果時(shí)的界面圖

圖5.7 輸入錯(cuò)誤結(jié)果時(shí)的界面圖
源程序解讀
(1)代碼首先定義了三個(gè)整型變量a、b、c,分別表示被乘數(shù)、乘數(shù)和積的判斷量。
(2)在Form_ Activate()事件中,調(diào)用CmdGT_ Click()事件。
(3)在CmdGT_ Click()事件中,首先由Randomize語(yǔ)句初始化隨機(jī)數(shù)產(chǎn)生器。然后,由Fix函數(shù)和Rnd函數(shù)共同得到被乘數(shù)和乘數(shù)并分別賦值給變量a和b。接著由“TxtTitle”文本框顯示出兩個(gè)數(shù)的乘式,并置“TxtResult”文本框和“TxtJudge”文本框的內(nèi)容為空。另外,分別置“CmdJR”命令按鈕的Enable和Defult屬性為T(mén)rue,“CmdGT”命令按鈕的Enable屬性為False,“TxtResult”文本框的SetFoucs屬性。
(4)當(dāng)在“TxtResult”文本框中填寫(xiě)出計(jì)算結(jié)果后,就單擊“CmdJR”按鈕,繼而觸發(fā)Cmd-JR_ Click()事件。
(5)在CmdJR_ Click()事件中,首先把填寫(xiě)的結(jié)果賦值給變量c。然后,判斷c與a*b的結(jié)果是否相同。如果相同,則置TxtJudge的內(nèi)容為“正確”;否則置TxtJudge的內(nèi)容為“錯(cuò)誤”。另外,分別置“CmdGT”命令按鈕的Enable和Defult屬性為T(mén)rue。“CmdJR”命令按鈕的Enable屬性為False。
(6)當(dāng)單擊“CmdExit”命令按鈕時(shí),就執(zhí)行退出窗體的操作。
說(shuō)明:取整函數(shù),除了Fix之外,還有Int函數(shù),兩個(gè)的唯一區(qū)別是,當(dāng)number<0時(shí), Int函數(shù)返回小于number的最大負(fù)整數(shù)。
5.5 運(yùn)用Format函數(shù)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換
在上一節(jié)中介紹了VB數(shù)學(xué)函數(shù)中的取整函數(shù)Fix,最后還提到與另外一個(gè)取整函數(shù)Int的區(qū)別,希望讀者在運(yùn)用時(shí)注意這一點(diǎn)。本節(jié)介紹另外一種格式化的函數(shù)——Format的應(yīng)用實(shí)例,即進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換。
技術(shù)要點(diǎn)
本實(shí)例中使用的主要技術(shù)是Format函數(shù),該函數(shù)主要作用是根據(jù)設(shè)定的格式格式化表達(dá)式。具體語(yǔ)法為:
Format (expression [,format [,firstdayofweek[,firstweekofyear]]])
其中各參數(shù)的含義如下:
●參數(shù)expression表示任何有效的表達(dá)式,即被格式化的表達(dá)式。
●參數(shù)format表示設(shè)定的格式,是有效的命名表達(dá)式或用戶自定義格式表達(dá)式。
●參數(shù)firstdayofweek表示一周的第一天,是個(gè)常數(shù)。設(shè)置方式有:vbUseSystem,VbSunday,vbMonday,vbTuesday,vbWednesday,vbThursday,vbFriday,vbSaturday,其中設(shè)置值的含義是顯而易見(jiàn)的,省略時(shí)默認(rèn)為VbSunday。
●參數(shù)firstweekofyear表示一年的第一周,也是個(gè)常數(shù)。設(shè)置方式有:vbUseSystem,vbFirstJan1,vbFirstFourDays,VbFirstFullWeek,各設(shè)置值的含義依次是:使用系統(tǒng)設(shè)置;從包含一月一日的那一周開(kāi)始;從本年第一周開(kāi)始,而此周至少有四天在本年中;從本年第一周開(kāi)始,而此周完全在本年中,省略時(shí),默認(rèn)為vbFirstJan1。
說(shuō)明:Format函數(shù)格式化的對(duì)象包括數(shù)字、日期、時(shí)間和字符串。
實(shí)現(xiàn)代碼
Dim Mystr As String '定義字符串變量 Private Sub CmdChange_Click() TxtDate.Text = "" '置“TxtDate”文本框的內(nèi)容為空 TxtNumber.Text = "" '置“TxtNumber”文本框的內(nèi)容為空 Label1.Caption = "顯示系統(tǒng)當(dāng)前時(shí)間和日期:" '置“Label1”標(biāo)簽的標(biāo)題內(nèi)容 Mystr = Format$(Date,"M/d/yy") '格式化當(dāng)前日期 '顯示格式化后的系統(tǒng)時(shí)間 TxtDate.Text = Mystr & " 按月/日/年顯示系統(tǒng)日期" Mystr = Format$(Date,"d-mmmm-yy") '按照給定的格式格式化系統(tǒng)時(shí)間 '顯示格式化后的系統(tǒng)時(shí)間 TxtDate.Text = TxtDate.Text & vbCrLf & Mystr & " 按日/月份全名/年顯示系統(tǒng)日期" Mystr = Format$(Date,"mmmm-yy") '按照給定的格式格式化系統(tǒng)時(shí)間 '顯示格式化后的系統(tǒng)時(shí)間 TxtDate.Text = TxtDate.Text & vbCrLf & Mystr & " 按月份全名-年顯示系統(tǒng)日期" Mystr = Format$(Date,"yyyy-mm-dd") '按照給定的格式格式化系統(tǒng)時(shí)間 '顯示格式化后的系統(tǒng)時(shí)間 TxtDate.Text = TxtDate.Text & vbCrLf & Mystr & " 按yyyy年-mm月-dd日顯示系統(tǒng)日期" Mystr = Format$(Date,"yyyy-m-d") '按照給定的格式格式化系統(tǒng)時(shí)間 '顯示格式化后的系統(tǒng)時(shí)間 TxtDate.Text = TxtDate.Text &vbCrLf &Mystr&" 按yyyy年-m月-d日顯示系統(tǒng)日期" Mystr = Format$(Date,"yyyy年m月d日") '按照給定的格式格式化系統(tǒng)時(shí)間 '顯示格式化后的系統(tǒng)時(shí)間 TxtDate.Text = TxtDate.Text & vbCrLf & Mystr & " 按yyyy年m月d日顯示系統(tǒng)日期" Mystr = Format$(Time,"h小時(shí):m分s秒") '按照給定的格式格式化系統(tǒng)時(shí)間 '顯示格式化后的系統(tǒng)時(shí)間 TxtDate.Text = TxtDate.Text & vbCrLf & Mystr & " 按h小時(shí)m分s秒顯示系統(tǒng)時(shí)間" Mystr = Format$(Time,"hh:mm:ss") '按照給定的格式格式化系統(tǒng)時(shí)間 '顯示格式化后的系統(tǒng)時(shí)間 TxtDate.Text = TxtDate.Text & vbCrLf & Mystr & " 按hh小時(shí)mm分鐘ss秒顯示系統(tǒng)時(shí)間" '顯示格式化后的系統(tǒng)時(shí)間 Mystr = Format$(Time,"h時(shí)m分s秒 AM/PM") '按照給定的格式格式化系統(tǒng)時(shí)間 '顯示格式化后的系統(tǒng)時(shí)間 TxtDate.Text = TxtDate.Text & vbCrLf & Mystr & " 按h小時(shí)m分s秒 AM或PM顯示系統(tǒng)時(shí)間" Mystr = Format$(0.89669,"0.000") '按照給定的格式格式化數(shù)字 '顯示格式化后的數(shù)字 TxtNumber.Text = Mystr & " 小數(shù)點(diǎn)后保留3位顯示金額" Mystr = Format$("0.8963"," ¥ 0.000") '按照給定的格式格式化數(shù)字 '顯示格式化后的數(shù)字 TxtNumber.Text = TxtNumber.Text & vbCrLf & Mystr & " 顯示帶人民幣符號(hào)的金額" Mystr = Format$(23890.34,"##,0.00") '按照給定的格式格式化數(shù)字 '顯示格式化后的數(shù)字 TxtNumber.Text = TxtNumber.Text & vbCrLf & Mystr & " 顯示帶千位符的金額" Mystr = Format$("0.89","0%") '按照給定的格式格式化數(shù)字 '顯示格式化后的數(shù)字 TxtNumber.Text = TxtNumber.Text & vbCrLf & Mystr & " 顯示百分?jǐn)?shù)" '按照給定的格式格式化數(shù)字 Mystr = Format$("23423545645645877345111111999999","0.00E+00") '顯示格式化后的數(shù)字 TxtNumber.Text = TxtNumber.Text & vbCrLf & Mystr & " 將數(shù)值顯示為科學(xué)計(jì)數(shù)法的格式" Mystr = Format$("mr","@@@@") '按照給定的格式格式化數(shù)字 '顯示格式化后的數(shù)字 TxtNumber.Text = TxtNumber.Text & vbCrLf & Mystr & " 在指定的字符前加一定數(shù)量的空格" End Sub '窗體變?yōu)榛顒?dòng)時(shí)的事件 Private Sub Form_Activate() Dim MyTime,MyDate As Date '定義兩個(gè)時(shí)期型變量 Label1.Caption = "顯示設(shè)定的時(shí)間和日期:" MyTime = #2:14:30 PM# '設(shè)定時(shí)間 MyDate = #9/2/2008# '設(shè)定日期 '以系統(tǒng)設(shè)置的長(zhǎng)時(shí)間格式返回當(dāng)前系統(tǒng)時(shí)間 Mystr = Format$(Time,"Long Time") TxtDate.Text = Mystr '以系統(tǒng)設(shè)置的長(zhǎng)日期格式返回當(dāng)前系統(tǒng)日期 Mystr = Format$(Date,"Long Date") TxtDate.Text = TxtDate.Text & vbCrLf & Mystr Mystr = Format$(MyTime,"h:m:s") '返回 "14:14:30" TxtDate.Text = TxtDate.Text & vbCrLf & Mystr '顯示"14:14:30" Mystr = Format$(MyTime,"hh:mm:ss AMPM") '返回 "02:14:30 PM" TxtDate.Text = TxtDate.Text & vbCrLf & Mystr '顯示"02:14:30 PM" Mystr = Format$(MyDate,"dddd,mmm d yyyy") '返回 "Tuesday,Sep 2 2008" TxtDate.Text = TxtDate.Text & vbCrLf & Mystr '顯示"Tuesday,Sep 2 2008" Mystr = Format$(896) '返回 "896" TxtNumber.Text = Mystr '顯示"896" '用戶自定義的格式 Mystr = Format$(8659.6,"##,##0.00") '返回 "8,659.60" TxtNumber.Text = TxtNumber.Text & vbCrLf & Mystr '顯示"8,659.60" Mystr = Format$(669.9,"###0.00") '返回 "669.90" TxtNumber.Text = TxtNumber.Text & vbCrLf & Mystr '顯示"669.90" Mystr = Format$(8,"0.00%") '返回 "800.00%" TxtNumber.Text = TxtNumber.Text & vbCrLf & Mystr '顯示"800.00%" Mystr = Format$("HELLO"," <") '返回 "hello" TxtStr.Text = Mystr '顯示"hello" Mystr = Format$("This is good"," >") '返回 "THIS IS GOOD" TxtStr.Text = TxtStr.Text & vbCrLf & Mystr '顯示"THIS IS GOOD" End Sub
按Ctrl+S組合鍵,保存工程,然后按F5鍵,運(yùn)行工程。當(dāng)單擊啟動(dòng)按鈕后,程序運(yùn)行結(jié)果如5.8所示。當(dāng)單擊“第二種格式的變換”按鈕時(shí),程序運(yùn)行結(jié)果如圖5.9所示。

圖5.8 第一種格式化的結(jié)果圖

圖5.9 第二種格式化的結(jié)果圖
源程序解讀
(1)代碼首先定義了一個(gè)字符串變量Mystr,用來(lái)存儲(chǔ)格式化后的字符串。
(2)在Form_ Activate()事件中,首先定義兩個(gè)日期型變量MyTime和MyDate,分別表示時(shí)間和日期。然后,分別給兩個(gè)變量設(shè)置初始值:#2:14:30 PM#,#9/2/2008#。并把標(biāo)簽Label1的Capition屬性設(shè)置為“顯示設(shè)定的時(shí)間和日期:”。最后運(yùn)用Format函數(shù),按照設(shè)定的格式顯示不同格式的時(shí)間和日期。另外,還運(yùn)用Format函數(shù),按照設(shè)定的格式顯示不同的數(shù)字和字符串。
(3)當(dāng)單擊“CmdChange”命令按鈕時(shí),就觸發(fā)CmdChange的Click事件。在CmdChange_ Click()事件中,首先把“Label1”標(biāo)簽的 Capition 屬性設(shè)置為“顯示系統(tǒng)當(dāng)前時(shí)間和日期:”。然后運(yùn)用Format函數(shù),按照設(shè)定的格式分別顯示當(dāng)前系統(tǒng)的時(shí)間和數(shù)字。
5.6 運(yùn)用Input函數(shù)輸入指定數(shù)目的文字
在前面兩節(jié)中分別介紹了專門(mén)針對(duì)數(shù)字的函數(shù)Fix和Rnd,以及針對(duì)各種有效表達(dá)式的格式化函數(shù)Format,其中Format的功能比前兩種的功能強(qiáng)大,在編程過(guò)程中也更常用。本節(jié)介紹另一種更常用的輸入函數(shù)——Input的應(yīng)用實(shí)例,即在文本框中輸入指定數(shù)目的文字。
技術(shù)要點(diǎn)
本節(jié)使用的主要技術(shù)是Input函數(shù),該函數(shù)主要用于把一定數(shù)量的字符從已知文件中輸出。具體語(yǔ)法格式為:
Input (number,[#]filenumber)
其中,參數(shù)number表示輸出字符的個(gè)數(shù),是任何有效的數(shù)值表達(dá)式;參數(shù)filenumber表示文件號(hào)。
說(shuō)明:Input函數(shù)只用于以Input或Binary方式打開(kāi)的文件。如本例中,文件MyLove是以Input方式打開(kāi)的。
實(shí)現(xiàn)代碼
Dim MyStr As String '定義字符串變量 '命令按鈕CmbSN的Click事件 Private Sub CmbSN_Click() Open App.Path & "\MyLove.txt" For Input As#1 '打開(kāi)輸出文件 Select Case CmbSN.ListIndex Case 0 TxtShow.Text = "" '置文本框的內(nèi)容為空 MyStr = Input(100,#1) '輸出文字 Close '關(guān)閉文件 Case 1 TxtShow.Text ="" '置文本框的內(nèi)容為空 MyStr = Input(200,#1) '輸出文字 Close '關(guān)閉文件 Case 2 TxtShow.Text = "" '置文本框的內(nèi)容為空 MyStr = Input(300,#1) '輸出文字 Close '關(guān)閉文件 Case 3 TxtShow.Text = "" '置文本框的內(nèi)容為空 MyStr = Input(360,#1) '輸出文字 Close '關(guān)閉文件 End Select TxtShow.Text = MyStr '顯示輸出文字 End Sub '初始化組合框,添加輸出字符的個(gè)數(shù) Private Sub Form_Load() CmbSN.AddItem "100" '在組合框中添加"100" CmbSN.AddItem "200" '在組合框中添加"200" CmbSN.AddItem "300" '在組合框中添加"300" CmbSN.AddItem "360" '在組合框中添加"360" End Sub
按Ctrl+S組合鍵,保存工程,然后按F5鍵,運(yùn)行工程。當(dāng)選擇組合框中的“100”選項(xiàng)時(shí),程序的運(yùn)行結(jié)果如圖5.10所示。當(dāng)選擇組合框中的“200”選項(xiàng)時(shí),程序的運(yùn)行結(jié)果如圖5.11所示。

圖5.10 輸入100個(gè)字符時(shí)的運(yùn)行結(jié)果圖

圖5.11 輸入200個(gè)字符時(shí)的運(yùn)行結(jié)果圖
源程序解讀
(1)代碼首先定義一個(gè)字符串變量MyStr,用來(lái)存儲(chǔ)輸入的字符。
(2)在Form_ Click()事件中,初始化“CmbSN”組合框,運(yùn)用組合框控件的AddItem方法在組合框中分別添加輸入字符的個(gè)數(shù):100,200,300,360。當(dāng)單擊“CmbSN”組合框時(shí),就觸發(fā)CmbSN的Click事件。
(3)在CmbSN_ Click()事件中,首先運(yùn)用Open語(yǔ)句打開(kāi)當(dāng)前路徑下的文件MyLove,并且以輸出方式打開(kāi)文件。
(4)其次,運(yùn)用Select Case語(yǔ)句,根據(jù)CmbSN的ListIndex屬性的值,運(yùn)用Input函數(shù)分別輸出不同個(gè)數(shù)的字符。
(5)最后,關(guān)閉文件并把輸入的字符由“TxtShow”文本框顯示出來(lái)。
注意:與Input#語(yǔ)句不同,Input函數(shù)返回它所讀出的所有字符,包括逗號(hào)、回車符、空白列、換行符、引號(hào)和前導(dǎo)空格等。
5.7 InputBox輸入用戶信息
在上一節(jié)中介紹了輸出函數(shù)Input,這個(gè)函數(shù)主要針對(duì)從某個(gè)文件中讀取一定個(gè)數(shù)的字符,并且這種函數(shù)輸出的字符通常用Print#語(yǔ)句或Put語(yǔ)句寫(xiě)入文件,本節(jié)介紹另外一種輸入函數(shù)——InputBox的應(yīng)用實(shí)例,即輸入用戶信息。
技術(shù)要點(diǎn)
在本實(shí)例中用到的主要技術(shù)是InputBox函數(shù)和MsgBox函數(shù)。
InputBox函數(shù),主要用于在對(duì)話框來(lái)中顯示提示,并根據(jù)提示信息等待用戶輸入正文或按下按鈕,然后返回包含文本框內(nèi)容的字符串。具體語(yǔ)法為:
InputBox (prompt [,title][,default][,xpos][,ypos][,helpfile,context])
其中各參數(shù)的含義如下:
●參數(shù)prompt表示對(duì)話框中的提示信息,是字符串表達(dá)式。prompt的最大長(zhǎng)度約是1024個(gè)字符,由所用字符的寬度決定。如果prompt有多行,則可以在各行之間用回車符(Chr(13))、換行符(Chr(10))或回車換行符的組合(vbCrlf)來(lái)分隔。
●參數(shù)title表示對(duì)話框標(biāo)題欄中的信息,是字符串表達(dá)式。如果省略title,則標(biāo)題欄中顯示應(yīng)用程序的名稱。
●參數(shù)default表示文本框中的字符串表達(dá)式,在沒(méi)有其他輸入時(shí)作為默認(rèn)值。如果省略default,則表示文本框?yàn)榭铡?/p>
●參數(shù)xpos表示對(duì)話框的左邊與屏幕左邊的水平距離,是數(shù)值表達(dá)式。如果省略xpos,則表示對(duì)話框在水平方向居中。
●參數(shù)ypos表示對(duì)話框的上邊與屏幕上邊的垂直距離,是數(shù)值表達(dá)式。如果省略ypos,則表示對(duì)話框在屏幕垂直方向距下邊大約三分之一的位置。
●參數(shù)helpfile表示幫助文件,即用該文件為對(duì)話框提供上下文相關(guān)的幫助,是字符串表達(dá)式。如果有參數(shù)helpfile,則表示后面有參數(shù)context。
●參數(shù)context表示由幫助文件的作者指定給某個(gè)幫助主題的幫助上下文編號(hào),是數(shù)值表達(dá)式。同樣,如果有參數(shù)context,則必須有參數(shù)helpfile。
MsgBox函數(shù),主要用于在對(duì)話框中顯示消息,等待用戶單擊按鈕,并返回一個(gè)整型變量告訴用戶單擊哪一個(gè)按鈕。具體語(yǔ)法為:
MsgBox (prompt [,buttons][,title][,helpfile,context])
其中,參數(shù)buttons表示對(duì)話框上顯示按鈕的數(shù)目及形式,在對(duì)話框上使用的圖標(biāo)樣式顯示出來(lái),是數(shù)值表達(dá)式。如果省略該參數(shù),則buttons的默認(rèn)值為0。其他參數(shù)的含義跟前面介紹的一樣。
實(shí)現(xiàn)代碼
'組合框控件CmbName的Click事件 Private Sub CmbName_Click() Dim StrP,StrPPut As String '定義兩個(gè)字符串變量 Select Case CmbName.ListIndex Case 0 StrP = "123456" '設(shè)置密碼 StrPPut = InputBox("請(qǐng)輸入Administor對(duì)應(yīng)密碼:") '輸入密碼 Case 1 StrP = "000000" '設(shè)置密碼 StrPPut = InputBox("請(qǐng)輸入Guster對(duì)應(yīng)密碼:") '輸入密碼 Case 2 StrP = "111111" '設(shè)置密碼 StrPPut = InputBox("請(qǐng)輸入U(xiǎn)ser對(duì)應(yīng)密碼:") '輸入密碼 End Select If StrPPut = StrP Then TxtPassWord.Text = StrPPut '顯示輸入密碼 MsgBox "登錄成功!",vbOKOnly,"提示信息!" '提示登錄成功 Else MsgBox "登錄失敗!",vbOKOnly,"提示信息!" '提示登錄失敗 End '退出過(guò)程 End If End Sub '卸載窗體事件 Private Sub CmdExit_Click() Unload Me '卸載窗體 End Sub '初始化組合框,添加用戶名 Private Sub Form_Load() CmbName.AddItem "Administor" '在組合框中添加"Administor" CmbName.AddItem "Guster" '在組合框中添加"Guster" CmbName.AddItem "User" '在組合框中添加"User" End Sub
單擊工具欄中的保存按鈕,保存工程,然后單擊工具欄中的啟動(dòng)按鈕
,運(yùn)行工程。當(dāng)選擇組合框中的“Administor”項(xiàng)時(shí),程序的運(yùn)行結(jié)果如圖5.12所示。當(dāng)輸入正確密碼,并單擊“確定”按鈕時(shí),程序運(yùn)行結(jié)果如圖5.14和圖5.13所示。當(dāng)輸入錯(cuò)誤密碼,并單擊“確定”按鈕時(shí),程序運(yùn)行結(jié)果如圖5.15所示。

圖5.12 輸入Administor對(duì)應(yīng)密碼界面圖

圖5.13 Administor成功登錄界面圖

圖5.14 成功登錄提示框界面圖

圖5.15 登錄失敗提示框界面圖
然后單擊工具欄中的結(jié)束按鈕,或者單擊運(yùn)行窗口的關(guān)閉按鈕
,結(jié)束程序的運(yùn)行。
源程序解讀
(1)在Form_ Click()事件中,初始化“CmbName”組合框。使用組合框控件的AddItem方法分別加載用戶名:Administor、Guster和User。
(2)當(dāng)單擊“CmbName”組合框時(shí),就觸發(fā)CmbName_ Click()事件。
(3)在CmbName_ Click()事件中,首先定義兩個(gè)字符串變量StrP和StrPPut,分別存儲(chǔ)設(shè)定的密碼和輸入的密碼。然后運(yùn)用Select Case語(yǔ)句,根據(jù)組合框的ListIndex屬性的值,分別設(shè)置不用用戶名對(duì)應(yīng)的密碼,并使用InPutBox函數(shù)輸入登錄密碼存儲(chǔ)到變量StrPPut中。接下來(lái),比較變量StrPPut和變量StrP的值。如果相等,則顯示登錄密碼,并由MsgBox提示框提示“登錄成功”;否則由MsgBox提示框提示“登錄失敗”。
(4)當(dāng)單擊命令按鈕CmdExit時(shí),就觸發(fā)CmdExit_ Click()事件,執(zhí)行退出窗體的操作。
5.8 IsNumeric判斷輸入內(nèi)容是否為數(shù)字
在前面兩節(jié)中分別介紹了輸入函數(shù)Input和InputBox函數(shù),這兩個(gè)函數(shù)的在調(diào)試程序時(shí)非常有用。此外,前面還介紹了針對(duì)數(shù)字的函數(shù)Fix函數(shù)和Rnd函數(shù),本節(jié)要介紹另外一種針對(duì)數(shù)字的函數(shù)——IsNumeric的應(yīng)用實(shí)例,即判斷輸入內(nèi)容是否為數(shù)字,并計(jì)算圓的周長(zhǎng)和面積。
技術(shù)要點(diǎn)
在本實(shí)例中用到的主要技術(shù)是IsNumberic函數(shù),該函數(shù)主要用于指明表達(dá)式的結(jié)果是否是數(shù)字,函數(shù)返回值的數(shù)據(jù)類型是布爾型。具體語(yǔ)法為:
IsNumeric(expression)
其中,參數(shù)expression表示一個(gè)可變型,可以是數(shù)值表達(dá)式或字符串表達(dá)式。如果ex-pression的運(yùn)算結(jié)果是數(shù)字,函數(shù)的返回值是True,否則,函數(shù)返回值是False。
實(shí)現(xiàn)代碼
Const Pi As Single = 3.1415 '定義常量 Dim Perimeter As Single '定義變量周長(zhǎng) Dim Radius As Single '定義變量半徑 Dim Area As Single '定義變量面積 Dim Volume As Single '定義變量體積 '命令按鈕CmbType的Click事件 Private Sub CmbType_Click() Select Case CmbType.ListIndex Case 0 If TxtInput.Text = "" Then '判斷文本框中的內(nèi)容是否為空 MsgBox "請(qǐng)輸入半徑!",64,"信息提示" '輸入半徑的提示 TxtInput.Text = "" '置文本框TxtInput的內(nèi)容為空 TxtInput.SetFocus '使光標(biāo)停留在文本框TxtInput中 ElseIf Not IsNumeric(TxtInput.Text)Then '判斷文本框中的內(nèi)容是否是數(shù)字 MsgBox"請(qǐng)輸入正確的半徑值!",64,"信息提示' "輸入正確半徑值的提示 TxtInput.Text = "" '置文本框TxtInput的內(nèi)容為空 TxtInput.SetFocus '使光標(biāo)停留在文本框TxtInput中 Else Radius = Val(TxtInput.Text) '把文本框中半徑的值賦值給變量Radius Perimeter = Pi *2 * Radius '計(jì)算圓的周長(zhǎng) LabShow.Caption = "圓的周長(zhǎng)為:" &Perimeter'顯示圓的周長(zhǎng) TxtResult.Text = Perimeter '顯示計(jì)算結(jié)果 End If Case 1 If TxtInput.Text = "" Then '判斷文本框中的內(nèi)容是否為空 MsgBox "請(qǐng)輸入半徑!",64,"信息提示" '輸入半徑的提示 TxtInput.Text = "" '置文本框TxtInput的內(nèi)容為空 TxtInput.SetFocus '使光標(biāo)停留在文本框TxtInput中 ElseIf Not IsNumeric(TxtInput.Text)Then '判斷文本框中的內(nèi)容是否是數(shù)字 MsgBox "請(qǐng)輸入正確的半徑值!",64,"信息提'輸示入"正確半徑值的提示 TxtInput.Text = "" '置文本框TxtInput的內(nèi)容為空 TxtInput.SetFocus '使光標(biāo)停留在文本框TxtInput中 Else Radius = Val(TxtInput.Text) '把文本框中半徑的值賦值給變量Radius Area = Pi * Radius^2 '計(jì)算圓的面積 LabShow.Caption = "圓的面積為:" & Area '顯示圓的面積 TxtResult.Text = Area '顯示計(jì)算結(jié)果 End If Case 2 If TxtInput.Text = "" Then '判斷文本框中的內(nèi)容是否為空 MsgBox "請(qǐng)輸入半徑!",64,"信息提示" '輸入半徑的提示 TxtInput.Text = "" '置文本框TxtInput的內(nèi)容為空 TxtInput.SetFocus '使光標(biāo)停留在文本框TxtInput中 ElseIf Not IsNumeric(TxtInput.Text)Then '判斷文本框中的內(nèi)容是否是數(shù)字 MsgBox "請(qǐng)輸入正確的半徑值!",64,"信息提'輸示入"正確半徑值的提示 TxtInput.Text = "" '置文本框TxtInput的內(nèi)容為空 TxtInput.SetFocus '使光標(biāo)停留在文本框TxtInput中 Else Radius = Val(TxtInput.Text) '把文本框中半徑的值賦值給變量 Radius Volume = 4 / 3 * Pi * Radius^3 '計(jì)算圓的體積 LabShow.Caption = "圓的面積為:" & Volume'顯示圓的體積 TxtResult.Text = Volume '顯示計(jì)算結(jié)果 End If End Select End Sub '命令按鈕CmdExit的Click事件 Private Sub CmdExit_Click() Unload Me '卸載窗體 End Sub '清空輸入半徑事件 Private Sub CmdNull_Click() TxtInput.Text = "" '清空文本框TxtInput中的內(nèi)容 TxtInput.SetFocus '使光標(biāo)停留在文本框TxtInput中 TxtResult.Text = "" '清空文本框TxtResult中的內(nèi)容 LabShow.Caption = vbNullString '清空標(biāo)簽LabShow中的內(nèi)容 CmbType.ListIndex = -1 '使得組合框的ListIndex屬性值指向最初的前 一項(xiàng) End Sub '初始化組合框,添加計(jì)算類型 Private Sub Form_Load() CmbType.AddItem "周長(zhǎng)" '在組合框中添加"周長(zhǎng)"項(xiàng) CmbType.AddItem "面積" '在組合框中添加"面積"項(xiàng) CmbType.AddItem "體積" '在組合框中添加"體積"項(xiàng) End Sub
單擊工具欄中的保存按鈕,保存工程,然后單擊工具欄中的啟動(dòng)按鈕
,運(yùn)行工程。當(dāng)選擇組合框中的“周長(zhǎng)”項(xiàng)時(shí),程序運(yùn)行結(jié)果如圖5.16所示。當(dāng)選擇組合框中的“面積”項(xiàng)時(shí),程序運(yùn)行結(jié)果如圖5.17所示。當(dāng)選擇組合框中的“體積”項(xiàng)時(shí),程序運(yùn)行結(jié)果如圖5.18所示。當(dāng)單擊“清空半徑值”按鈕時(shí),程序運(yùn)行結(jié)果如圖5.19所示。

圖5.16 圓的周長(zhǎng)計(jì)算結(jié)果圖

圖5.17 圓的面積計(jì)算結(jié)果圖

圖5.18 圓的體積計(jì)算結(jié)果圖

圖5.19 清空后的結(jié)果圖
然后單擊工具欄中的結(jié)束按鈕,或者單擊運(yùn)行窗口的關(guān)閉按鈕
,結(jié)束程序的運(yùn)行。
源程序解讀
(1)代碼首先定義一個(gè)常量Pi=3.1415表示圓周率。并定義四個(gè)單精度變量Perimeter、Radius、Area和Volume,分別表示圓的周長(zhǎng)、半徑、面積和體積。
(2)在Form_ Load()事件中,初始化“CmbType”組合框。添加計(jì)算類型子項(xiàng)分別為:周長(zhǎng),面積,體積。
(3)當(dāng)單擊“CmbType”組合框時(shí),就觸發(fā)CmbType的Click事件。
(4)在CmbType_ Click()事件中,運(yùn)用Select Case,根據(jù)組合框控件ListIndex屬性的值分別計(jì)算圓的周長(zhǎng)、面積和體積。
(5)在周長(zhǎng)的計(jì)算過(guò)程中,首先判斷顯示半徑的文本框是否為空。如果為空,則由MsgBox函數(shù)提示框提示輸入半徑。然后把文本框置空,并把光標(biāo)停留在文本框上。否則,判斷文本框中的內(nèi)容是否是數(shù)字。如果不是,則由MsgBox函數(shù)提示框提示輸入正確的半徑。然后把文本框置空,并把光標(biāo)停留在文本框上。否則,把文本框中的內(nèi)容賦值給變量Radius。然后,按照公式計(jì)算圓的周長(zhǎng),并把計(jì)算結(jié)果由文本框TxtResult顯示出來(lái),把計(jì)算類型和結(jié)果由“LabShow”標(biāo)簽顯示出來(lái)。
(6)圓的面積和體積的計(jì)算過(guò)程與周長(zhǎng)的計(jì)算過(guò)程除了計(jì)算公式不同外,其他都一樣。
(7)當(dāng)單擊“CmdNull”命令按鈕時(shí),就觸發(fā)CmdNull_ Click()事件。在該事件過(guò)程中,把“TxtInput”文本框和“TxtResult”文本框以及“LabShow”標(biāo)簽的內(nèi)容分別置空,并把光標(biāo)停留在文本框TxtInput上。然后,把“CmbType”組合框的ListIndex屬性置為-1,在重新計(jì)算時(shí),組合框中不顯示添加的項(xiàng)。
(8)當(dāng)單擊“CmdExit”命令按鈕時(shí),就觸發(fā)CmdExit_ Click()事件。在該事件中,運(yùn)用Unload語(yǔ)句,卸載當(dāng)前窗體。
- UI設(shè)計(jì)基礎(chǔ)培訓(xùn)教程
- 基于粒計(jì)算模型的圖像處理
- LabVIEW 2018 虛擬儀器程序設(shè)計(jì)
- Java系統(tǒng)分析與架構(gòu)設(shè)計(jì)
- Python 3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)
- 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言)
- Hands-On Natural Language Processing with Python
- C語(yǔ)言課程設(shè)計(jì)
- Solr Cookbook(Third Edition)
- HoloLens與混合現(xiàn)實(shí)開(kāi)發(fā)
- uni-app跨平臺(tái)開(kāi)發(fā)與應(yīng)用從入門(mén)到實(shí)踐
- Learning Nessus for Penetration Testing
- 現(xiàn)代C:概念剖析和編程實(shí)踐
- ASP.NET求職寶典
- Three.js權(quán)威指南:在網(wǎng)頁(yè)上創(chuàng)建3D圖形和動(dòng)畫(huà)的方法與實(shí)踐(原書(shū)第4版)