官术网_书友最值得收藏!

第5章 基本函數(shù)

前面介紹了VB語言基礎(chǔ)中的相關(guān)內(nèi)容,了解了VB的標(biāo)識符、常量、變量、數(shù)據(jù)類型、數(shù)組以及VB的基本語句和過程的運(yùn)用。本章接著介紹VB語言基礎(chǔ)中的另外一部分也是最后一部分——函數(shù)。

5.1 CurDir返回當(dāng)前路徑

本節(jié)介紹CurDir函數(shù),該函數(shù)用于將代表當(dāng)前路徑的變量作為返回值返回到當(dāng)前程序中,是一種非常有用的獲取文件或文件夾路徑的函數(shù),希望通過本節(jié)的介紹,對該函數(shù)有更深入的了解。

技術(shù)要點(diǎn)

在本實(shí)例中主要使用的技術(shù)是CurDir函數(shù)、常數(shù)vbCrlf、對象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)。

●對象App,可以表示雙重含義,當(dāng)單獨(dú)使用時(shí)表示一個(gè)屬性,主要用于返回一個(gè)App對象;當(dāng)與屬性 Path 組合使用時(shí)表示一個(gè)對象,表示應(yīng)用于列表中的對象。

● Path屬性,表示一個(gè)指示路徑的字符串,該屬性有兩種用法,分別表示返回或設(shè)置當(dāng)前路徑和返回指定文件、文件夾或驅(qū)動(dòng)器的路徑。

Pat第一種用法的語法格式:

        Object.Path[=PathName]

其中,參數(shù)Object表示應(yīng)用于列表中的對象,數(shù)據(jù)類型是對象型;參數(shù)PathName表示獲得的路徑名,數(shù)據(jù)類型是字符串類型。

第二種用法的語法格式:

        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,分別存儲由CurDir和App.Path獲得的路徑。

(2)然后,運(yùn)用CurDir函數(shù)獲得當(dāng)前的路徑并賦值給變量MyPath,并用“TxtShow”文本框在窗體上顯示出來。

(3)最后,由App.Path獲得當(dāng)前路徑并賦值給變量ComStr,并用“TxtCom”文本框在窗體上顯示出來,主要用于跟上面獲得的路徑進(jìn)行比較。

5.2 CurDir記錄登錄日志

在上節(jié)中介紹了函數(shù)CurDir返回當(dāng)前路徑的功能,并與App.Path返回的當(dāng)前路徑進(jìn)行比較,從而說明CurDir函數(shù)的有效性。本節(jié)接著介紹函數(shù)CurDir的另外功能,即記錄登錄日志。

技術(shù)要點(diǎn)

本實(shí)例中主要用到的技術(shù)是Print方法、Open方法、Close方法和CurDir函數(shù)。主要功能和用法如下:

●Open方法,主要用于打開一個(gè)已知的文件,在本例中,Open方法打開日志文件主要進(jìn)行的操作是追加字符串。

● Close方法,主要用于關(guān)閉一個(gè)打開的文件。

● CurDir函數(shù),在本例中主要是返回日志文件的當(dāng)前路徑。

Print方法主要用于在窗體、圖片框、立即窗口等對象上面顯示字符串,具體使用語法為:

        [Object.]Print [OutputList]

這種語法的詳細(xì)情況在前面已經(jīng)介紹過,在此介紹Print方法的另一種應(yīng)用方法:

        Print Object,[OutputList]

這種用法表示在對象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                                               '把記錄寫入日志
            Close#2                                                      '關(guān)閉日志
        End Sub
        '初始化文本框的屬性
        Private Sub Form_Load()
            TxtName.Text = "BlueSky"                                   '給文本框的Text屬性賦初值
            TxtPassWord.Text = "123456"                                '給文本框的Text屬性賦初值
            Text1.Visible = False                                        '使得文本框不可見
        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,用來表示用戶的登錄次數(shù)。

(2)在Form_ Load()事件中,分別初始化“TxtName”文本框、“TxtPassWord”文本框和“Text1”文本框。分別賦值為:“BlueSky”、“123456”、Visible的屬性為False。

(3)當(dāng)單擊“CmdLogin”命令按鈕時(shí),就觸發(fā)CmdLogin_ Click()事件。在該事件中,首先定義一個(gè)字符串變量Tstr用來存儲登錄產(chǎn)生的記錄。然后,把變量mSky的值增1,并給“Text1”文本框賦值,表示登錄的文本次數(shù)。最后,把登錄的信息賦值給變量Tstr,并運(yùn)用“TxtShow”文本框在窗體上顯示出來。

(4)接下來,使用Open方法打開日志文件把登錄信息追加到日志文件中,執(zhí)行完畢后關(guān)閉日志文件。

(5)最后,當(dāng)單擊“CmdExit”命令按鈕時(shí),就觸發(fā)CmdExit_ Click()事件,執(zhí)行退出窗體的操作。

說明:實(shí)例中Close方法后面的文件號#2可以省略。

5.3 Dir查找所有目錄

在前面兩節(jié)中介紹了 CurDir函數(shù)的用法,希望讀者通過前兩節(jié)的學(xué)習(xí)能夠熟練運(yùn)用CurDir函數(shù)。本節(jié)繼續(xù)介紹另外一種函數(shù)——Dir,這個(gè)函數(shù)主要用來返回文件、文件夾或目錄的名稱。

技術(shù)要點(diǎn)

本實(shí)例運(yùn)用的主要技術(shù)是Dir函數(shù)和Exit語句,主要功能和用法如下:

● Dir函數(shù),主要用于返回當(dāng)前目錄下的文件名、文件夾名或目錄名。

● Exit語句,主要用來退出一個(gè)過程或模塊。

Dir函數(shù)的具體語法如下:

        Dir [(pathname[,attributes])]

其中,參數(shù)pathname,主要用于指定文件名的字符串表達(dá)式,可能包含目錄、文件夾或驅(qū)動(dòng)器,如果沒有查找到pathname,則返回空字符串。在本例中,pathname就是包含各個(gè)驅(qū)動(dòng)器的字符串;參數(shù)attributes主要用來指定文件的屬性,是常數(shù)或數(shù)值表達(dá)式,如果省略,則返回沒有屬性的文件,attributes的設(shè)置有很多種:當(dāng)設(shè)置為vbNormal時(shí),表示沒有屬性的文件;當(dāng)設(shè)置為vbReadOnly時(shí),表示沒有屬性的只讀文件;當(dāng)設(shè)置為vbHidden時(shí),表示沒有屬性的隱藏文件;當(dāng)設(shè)置為VbSystem時(shí),表示沒有屬性的系統(tǒng)文件;當(dāng)設(shè)置為vb-Volume時(shí),表示卷標(biāo)文件;當(dāng)設(shè)置為vbDirectory時(shí),表示沒有屬性的文件及其路徑和文件夾。

Exit語句的具體語法如下:

        Exit [Object]

其中,Object就是要結(jié)束的對象,可以是一個(gè)過程Sub,一個(gè)函數(shù)Function,一個(gè)循環(huán)語句Do、For,也可以是過程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盤下的目錄名
                Case 1
                  TxtShow.Text = ""                                  '清空文本框中的內(nèi)容
                  strPath = Dir("D:\",vbDirectory)               '獲得當(dāng)前路徑D盤下的目錄名
                Case 2
                  TxtShow.Text = ""                                  '清空文本框中的內(nèi)容
                  strPath = Dir("E:\",vbDirectory)               '獲得當(dāng)前路徑E盤下的目錄名
                Case 3
                  TxtShow.Text = ""                                  '清空文本框中的內(nèi)容
                  strPath = Dir("F:\",vbDirectory)               '獲得當(dāng)前路徑F盤下的目錄名
            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
        '初始化組合框,添加盤符類型
        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盤中查找目錄的運(yùn)行結(jié)果如圖5.4所示。在D盤中查找目錄的運(yùn)行結(jié)果如圖5.5所示。

圖5.4 在C盤查找目錄的界面圖

圖5.5 在D盤查找目錄的界面圖

源程序解讀

(1)在Form_ Load()事件中,初始化“CmbS”組合框,分別添加盤符的類別:C,D,E, F。然后,當(dāng)單擊“CmbS”組合框時(shí),就觸發(fā)CmbS的Click事件。

(2)在CmbS_ Click()事件中,運(yùn)用Select Case語句,根據(jù)“CmbS”組合框的ListIndex屬性,對各個(gè)盤符分別查找目錄。在每個(gè)語句塊中,都要先把“TxtShow”文本框的內(nèi)容清空。

(3)然后,利用Dir函數(shù)返回當(dāng)前盤符下的目錄名。

(4)最后,運(yùn)用Do循環(huán)語句繼續(xù)查找該盤符下的下一個(gè)目錄名,直到查找完畢。并把最終查找的目錄名集合在文本框中顯示出來。

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語句。主要功能和用法如下:

● Fix函數(shù),是VB數(shù)學(xué)函數(shù)中的取整函數(shù)。

● Rnd函數(shù),主要用于產(chǎn)生一個(gè)隨機(jī)的單精度類型的數(shù)值。

● Randomize語句,主要用來初始化隨機(jī)數(shù)產(chǎn)生器。

Fix函數(shù)的具體語法為:

        Fix(number)

其中,參數(shù)number表示雙精度類型的數(shù)值或任何有效的數(shù)值表達(dá)式,如果number<0,則Fix會返回大于 number的最小負(fù)整數(shù)。并且 Fix函數(shù)不遵從四舍五入的原則,而是把number的小數(shù)部分直接去掉。

Rnd函數(shù)的具體語法為:

        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語句的具體語法為:

        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退出過程
            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語句初始化隨機(jī)數(shù)產(chǎn)生器。然后,由Fix函數(shù)和Rnd函數(shù)共同得到被乘數(shù)和乘數(shù)并分別賦值給變量a和b。接著由“TxtTitle”文本框顯示出兩個(gè)數(shù)的乘式,并置“TxtResult”文本框和“TxtJudge”文本框的內(nèi)容為空。另外,分別置“CmdJR”命令按鈕的Enable和Defult屬性為True,“CmdGT”命令按鈕的Enable屬性為False,“TxtResult”文本框的SetFoucs屬性。

(4)當(dāng)在“TxtResult”文本框中填寫出計(jì)算結(jié)果后,就單擊“CmdJR”按鈕,繼而觸發(fā)Cmd-JR_ Click()事件。

(5)在CmdJR_ Click()事件中,首先把填寫的結(jié)果賦值給變量c。然后,判斷c與a*b的結(jié)果是否相同。如果相同,則置TxtJudge的內(nèi)容為“正確”;否則置TxtJudge的內(nèi)容為“錯(cuò)誤”。另外,分別置“CmdGT”命令按鈕的Enable和Defult屬性為True。“CmdJR”命令按鈕的Enable屬性為False。

(6)當(dāng)單擊“CmdExit”命令按鈕時(shí),就執(zhí)行退出窗體的操作。

說明:取整函數(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á)式。具體語法為:

        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è)置值的含義是顯而易見的,省略時(shí)默認(rèn)為VbSunday。

●參數(shù)firstweekofyear表示一年的第一周,也是個(gè)常數(shù)。設(shè)置方式有:vbUseSystem,vbFirstJan1,vbFirstFourDays,VbFirstFullWeek,各設(shè)置值的含義依次是:使用系統(tǒng)設(shè)置;從包含一月一日的那一周開始;從本年第一周開始,而此周至少有四天在本年中;從本年第一周開始,而此周完全在本年中,省略時(shí),默認(rèn)為vbFirstJan1。

說明:Format函數(shù)格式化的對象包括數(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 & " 顯示帶人民幣符號的金額"
            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è)置的長時(shí)間格式返回當(dāng)前系統(tǒng)時(shí)間
            Mystr = Format$(Time,"Long Time")
            TxtDate.Text = Mystr
            '以系統(tǒng)設(shè)置的長日期格式返回當(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,用來存儲格式化后的字符串。

(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é)中分別介紹了專門針對數(shù)字的函數(shù)Fix和Rnd,以及針對各種有效表達(dá)式的格式化函數(shù)Format,其中Format的功能比前兩種的功能強(qiáng)大,在編程過程中也更常用。本節(jié)介紹另一種更常用的輸入函數(shù)——Input的應(yīng)用實(shí)例,即在文本框中輸入指定數(shù)目的文字。

技術(shù)要點(diǎn)

本節(jié)使用的主要技術(shù)是Input函數(shù),該函數(shù)主要用于把一定數(shù)量的字符從已知文件中輸出。具體語法格式為:

        Input (number,[#]filenumber)

其中,參數(shù)number表示輸出字符的個(gè)數(shù),是任何有效的數(shù)值表達(dá)式;參數(shù)filenumber表示文件號。

說明:Input函數(shù)只用于以Input或Binary方式打開的文件。如本例中,文件MyLove是以Input方式打開的。

實(shí)現(xiàn)代碼

        Dim MyStr  As String                            '定義字符串變量
        '命令按鈕CmbSN的Click事件
        Private Sub CmbSN_Click()
            Open App.Path & "\MyLove.txt" For Input As#1 '打開輸出文件
            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,用來存儲輸入的字符。

(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語句打開當(dāng)前路徑下的文件MyLove,并且以輸出方式打開文件。

(4)其次,運(yùn)用Select Case語句,根據(jù)CmbSN的ListIndex屬性的值,運(yùn)用Input函數(shù)分別輸出不同個(gè)數(shù)的字符。

(5)最后,關(guān)閉文件并把輸入的字符由“TxtShow”文本框顯示出來。

注意:與Input#語句不同,Input函數(shù)返回它所讀出的所有字符,包括逗號、回車符、空白列、換行符、引號和前導(dǎo)空格等。

5.7 InputBox輸入用戶信息

在上一節(jié)中介紹了輸出函數(shù)Input,這個(gè)函數(shù)主要針對從某個(gè)文件中讀取一定個(gè)數(shù)的字符,并且這種函數(shù)輸出的字符通常用Print#語句或Put語句寫入文件,本節(jié)介紹另外一種輸入函數(shù)——InputBox的應(yīng)用實(shí)例,即輸入用戶信息。

技術(shù)要點(diǎn)

在本實(shí)例中用到的主要技術(shù)是InputBox函數(shù)和MsgBox函數(shù)。

InputBox函數(shù),主要用于在對話框來中顯示提示,并根據(jù)提示信息等待用戶輸入正文或按下按鈕,然后返回包含文本框內(nèi)容的字符串。具體語法為:

        InputBox (prompt [,title][,default][,xpos][,ypos][,helpfile,context])

其中各參數(shù)的含義如下:

●參數(shù)prompt表示對話框中的提示信息,是字符串表達(dá)式。prompt的最大長度約是1024個(gè)字符,由所用字符的寬度決定。如果prompt有多行,則可以在各行之間用回車符(Chr(13))、換行符(Chr(10))或回車換行符的組合(vbCrlf)來分隔。

●參數(shù)title表示對話框標(biāo)題欄中的信息,是字符串表達(dá)式。如果省略title,則標(biāo)題欄中顯示應(yīng)用程序的名稱。

●參數(shù)default表示文本框中的字符串表達(dá)式,在沒有其他輸入時(shí)作為默認(rèn)值。如果省略default,則表示文本框?yàn)榭铡?/p>

●參數(shù)xpos表示對話框的左邊與屏幕左邊的水平距離,是數(shù)值表達(dá)式。如果省略xpos,則表示對話框在水平方向居中。

●參數(shù)ypos表示對話框的上邊與屏幕上邊的垂直距離,是數(shù)值表達(dá)式。如果省略ypos,則表示對話框在屏幕垂直方向距下邊大約三分之一的位置。

●參數(shù)helpfile表示幫助文件,即用該文件為對話框提供上下文相關(guān)的幫助,是字符串表達(dá)式。如果有參數(shù)helpfile,則表示后面有參數(shù)context。

●參數(shù)context表示由幫助文件的作者指定給某個(gè)幫助主題的幫助上下文編號,是數(shù)值表達(dá)式。同樣,如果有參數(shù)context,則必須有參數(shù)helpfile。

MsgBox函數(shù),主要用于在對話框中顯示消息,等待用戶單擊按鈕,并返回一個(gè)整型變量告訴用戶單擊哪一個(gè)按鈕。具體語法為:

        MsgBox (prompt [,buttons][,title][,helpfile,context])

其中,參數(shù)buttons表示對話框上顯示按鈕的數(shù)目及形式,在對話框上使用的圖標(biāo)樣式顯示出來,是數(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("請輸入Administor對應(yīng)密碼:")   '輸入密碼
                Case 1
                  StrP = "000000"                                      '設(shè)置密碼
                  StrPPut = InputBox("請輸入Guster對應(yīng)密碼:")       '輸入密碼
                Case 2
                  StrP = "111111"                                      '設(shè)置密碼
                  StrPPut = InputBox("請輸入U(xiǎn)ser對應(yīng)密碼:")         '輸入密碼
            End Select
            If StrPPut = StrP Then
                TxtPassWord.Text = StrPPut                        '顯示輸入密碼
                MsgBox "登錄成功!",vbOKOnly,"提示信息!"   '提示登錄成功
            Else
                MsgBox "登錄失敗!",vbOKOnly,"提示信息!"   '提示登錄失敗
                End                                               '退出過程
            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對應(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,分別存儲設(shè)定的密碼和輸入的密碼。然后運(yùn)用Select Case語句,根據(jù)組合框的ListIndex屬性的值,分別設(shè)置不用用戶名對應(yīng)的密碼,并使用InPutBox函數(shù)輸入登錄密碼存儲到變量StrPPut中。接下來,比較變量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í)非常有用。此外,前面還介紹了針對數(shù)字的函數(shù)Fix函數(shù)和Rnd函數(shù),本節(jié)要介紹另外一種針對數(shù)字的函數(shù)——IsNumeric的應(yīng)用實(shí)例,即判斷輸入內(nèi)容是否為數(shù)字,并計(jì)算圓的周長和面積。

技術(shù)要點(diǎn)

在本實(shí)例中用到的主要技術(shù)是IsNumberic函數(shù),該函數(shù)主要用于指明表達(dá)式的結(jié)果是否是數(shù)字,函數(shù)返回值的數(shù)據(jù)類型是布爾型。具體語法為:

        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                                       '定義變量周長
        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 "請輸入半徑!",64,"信息提示"    '輸入半徑的提示
                        TxtInput.Text = ""                         '置文本框TxtInput的內(nèi)容為空
                        TxtInput.SetFocus                            '使光標(biāo)停留在文本框TxtInput中
                    ElseIf Not IsNumeric(TxtInput.Text)Then        '判斷文本框中的內(nèi)容是否是數(shù)字
                        MsgBox"請輸入正確的半徑值!",64,"信息提示' "輸入正確半徑值的提示
                        TxtInput.Text = ""                         '置文本框TxtInput的內(nèi)容為空
                        TxtInput.SetFocus                            '使光標(biāo)停留在文本框TxtInput中
                    Else
                        Radius = Val(TxtInput.Text)                '把文本框中半徑的值賦值給變量Radius
                        Perimeter = Pi *2 * Radius                    '計(jì)算圓的周長
                        LabShow.Caption = "圓的周長為:" &Perimeter'顯示圓的周長
                        TxtResult.Text = Perimeter                   '顯示計(jì)算結(jié)果
                    End If
                Case 1
                    If TxtInput.Text = "" Then                     '判斷文本框中的內(nèi)容是否為空
                        MsgBox "請輸入半徑!",64,"信息提示"    '輸入半徑的提示
                        TxtInput.Text = ""                         '置文本框TxtInput的內(nèi)容為空
                        TxtInput.SetFocus                            '使光標(biāo)停留在文本框TxtInput中
                    ElseIf Not IsNumeric(TxtInput.Text)Then        '判斷文本框中的內(nèi)容是否是數(shù)字
                        MsgBox "請輸入正確的半徑值!",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 "請輸入半徑!",64,"信息提示"    '輸入半徑的提示
                        TxtInput.Text = ""                         '置文本框TxtInput的內(nèi)容為空
                        TxtInput.SetFocus                            '使光標(biāo)停留在文本框TxtInput中
                    ElseIf Not IsNumeric(TxtInput.Text)Then        '判斷文本框中的內(nèi)容是否是數(shù)字
                        MsgBox "請輸入正確的半徑值!",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 "周長"                                 '在組合框中添加"周長"項(xiàng)
            CmbType.AddItem "面積"                                 '在組合框中添加"面積"項(xiàng)
            CmbType.AddItem "體積"                                 '在組合框中添加"體積"項(xiàng)
        End Sub

單擊工具欄中的保存按鈕,保存工程,然后單擊工具欄中的啟動(dòng)按鈕,運(yùn)行工程。當(dā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 圓的周長計(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,分別表示圓的周長、半徑、面積和體積。

(2)在Form_ Load()事件中,初始化“CmbType”組合框。添加計(jì)算類型子項(xiàng)分別為:周長,面積,體積。

(3)當(dāng)單擊“CmbType”組合框時(shí),就觸發(fā)CmbType的Click事件。

(4)在CmbType_ Click()事件中,運(yùn)用Select Case,根據(jù)組合框控件ListIndex屬性的值分別計(jì)算圓的周長、面積和體積。

(5)在周長的計(jì)算過程中,首先判斷顯示半徑的文本框是否為空。如果為空,則由MsgBox函數(shù)提示框提示輸入半徑。然后把文本框置空,并把光標(biāo)停留在文本框上。否則,判斷文本框中的內(nèi)容是否是數(shù)字。如果不是,則由MsgBox函數(shù)提示框提示輸入正確的半徑。然后把文本框置空,并把光標(biāo)停留在文本框上。否則,把文本框中的內(nèi)容賦值給變量Radius。然后,按照公式計(jì)算圓的周長,并把計(jì)算結(jié)果由文本框TxtResult顯示出來,把計(jì)算類型和結(jié)果由“LabShow”標(biāo)簽顯示出來。

(6)圓的面積和體積的計(jì)算過程與周長的計(jì)算過程除了計(jì)算公式不同外,其他都一樣。

(7)當(dāng)單擊“CmdNull”命令按鈕時(shí),就觸發(fā)CmdNull_ Click()事件。在該事件過程中,把“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語句,卸載當(dāng)前窗體。

主站蜘蛛池模板: 正阳县| 南川市| 澄迈县| 冕宁县| 偏关县| 光泽县| 上蔡县| 恩平市| 贵阳市| 手游| 望都县| 和顺县| 南京市| 临清市| 安远县| 嘉兴市| 西峡县| 江都市| 黔东| 石嘴山市| 甘谷县| 通海县| 迁西县| 河北省| 凤山市| 腾冲县| 濉溪县| 孝义市| 道孚县| 蛟河市| 白银市| 新安县| 呼图壁县| 新密市| 育儿| 星子县| 贞丰县| 米林县| 吉林省| 江阴市| 广丰县|