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

第3章 VB基本語句

在前兩章中分別介紹了VB的語言基礎,從中了解了VB的標識符、常量、變量、數據類型以及數組等相關知識,除了這些基本知識之外,VB的基礎知識中還包括基本語句,這是也是編程的基礎知識,VB基本語句根據VB中的不同結構分為不同的語句,在VB中大致有三種結構:順序結構,選擇結構,循環結構。在順序結構中,主要包括賦值語句、Print方法、注釋語句和End語句;在選擇結構中,主要包括If語句、Select Case語句;在循環結構中,主要包括For循環語句、While循環語句和Do循環語句。本章通過實例分別對這些知識進行介紹。

3.1 賦值語句

介紹VB基本語句按照從簡入難的順序進行,首先介紹賦值語句,賦值語句是順序結構中最簡單的語句,主要用于對一個對象的賦值。通過本節的介紹希望讀者能夠注意賦值過程中容易出現的一些問題。

技術要點

在本實例中主要使用的技術是賦值語句的運用方法,Form的Click事件。主要功能和用法如下:

●賦值語句是最簡單的一種語句,但是賦值語句的運用是最常見的。

● Form的Click事件,是單擊本窗體時觸發的事件。

賦值語句的主要語法如下:

        [Let]VarName=Expression

其中,Let參數是可選項,主要是一種標識作用,標識這是一個賦值語句,一般省略這個參數;VarName參數,表示變量名或某控件的屬性名,在本實例中VarName分別表示整型變量i和j,字符串變量Str,布爾變量Bool以及窗體的BackColor屬性;Expression參數,表示給變量或屬性名賦值的數值,該參數可以是一個數值、表達式,或是一個賦值語句。

注意:賦值語句中的 VarName和 Expression的數據類型要相容,否則編譯時會出現錯誤。

實現代碼

        Private Sub Form_Click()          'Form的Click事件
        Dim i,j As Integer                 '定義兩個整型變量
        Dim Str As String                  '定義一個字符串變量
        Dim Bool As Boolean                   '定義一個布爾變量
        Form1.BackColor = vbWhite            '給窗體的背景色賦值
        i = 4                                '給整型i變量賦值
        j = i + 5                            '給整型j變量賦值
        Str = "Good"                       '給字符串變量賦值
        Print "i=" & I                     '把變量及值輸出到窗體上
        Print "j=" & j                     '把變量及值輸出到窗體上
        Print "Str=" & Str                 '把變量及值輸出到窗體上
        Str = Str + " afternoon"           '再次給字符串變量賦值
        Print "Str=" & Str                 '把變量及值輸出到窗體上
        Bool = i = 4                         '給布爾變量賦值
        Print "Bool=" & Bool               '把變量及值輸出到窗體上
        End Sub

單擊工具欄中的保存按鈕保存工程,然后單擊工具欄中的啟動按鈕運行工程,程序的運行結果如圖3.1所示。

圖3.1 程序運行界面圖

然后單擊工具欄中的結束按鈕,或者單擊運行窗口的關閉按鈕,結束程序的運行。

源程序解讀

(1)在Form_ Click()事件中,首先定義了兩個整型變量i,j,一個字符串變量Str,一個布爾變量Bool。

(2)其次,使用賦值語句給窗體的BackColor屬性賦值為VBWhite,使得在單擊窗體時窗體的背景色變為白色。

(3)第三,分別使用賦值語句給變量賦值。首先給變量i賦值為4,然后把i+1賦值給變量j,接著使用Print方法把變量i和j在窗體上顯示出來。

(4)第四,給變量Str賦值為“Good”,并運用Print方法把Str變量在窗體上顯示出來。然后再次給變量Str賦值為Str+“afternoon”,并把新的賦值在窗體上顯示出來。這個主要是測試字符變量與自身的連接。

(5)最后,給變量Bool賦值為i=4,并把變量的值在窗體上顯示出來。

說明:前面說到賦值語句的左右兩端的數據類型要相容,一般不把數值賦值給字符串型的變量,但是當把數值賦值給字符串型的變量時,也不會出錯,只是把數值作為字符串處理了,例如本實例中如果出現“Str=i”這個語句,則在窗體上會顯示“Str=4”這個語句。

3.2 運用Print方法顯示圖片

在上一節中介紹了賦值語句的運用,其中要重點注意賦值語句的賦值方法和類型的相容性。另外,在上節的實例中還用到了Print方法,本節就詳細介紹Print方法的應用,即顯示圖片和文字。

技術要點

本實例中主要用到的技術是Print方法和圖片框控件Picture的Click事件。主要功能和用法如下:

● Print方法,主要用于在窗體、圖片框、立即窗口等對象上顯示字符串。

●圖片框Picture控件的Click事件,是單擊圖片框控件時觸發的事件。

Print方法的具體使用語法為:

        [Object.]Print [OutPutList]

其中,Object參數表示窗體、立即窗口、圖片框等對象,是可選參數,如果省略,表示在當前窗體上輸出;OutPutList參數,表示輸出列表,可以是一個表達式或一系列表達式,當為多個表達式時,各表達式之間使用逗號“,”或分號“;”隔開。

說明:Print方法除了顯示功能外,還有計算功能,例如:當執行Print 4*5時,會在當前窗體顯示出20。

實現代碼

        Private Sub Form_Click()
            FontSize = 18                            '設置顯示字體大小
            ForeColor = vbRed                        '設置顯示字體顏色
            Print "請觀看圖片!"                   '在窗體中顯示字符串
            Print Now                                '在窗體上顯示系統當前時間
        End Sub
        Private Sub Picture1_Click()
            Picture1.FontSize = 16                   '設置顯示字體大小
            Picture1.ForeColor = vbRed               '設置顯示字體顏色
            Picture1.Print "可愛的小兔子!"        '在圖片框中顯示字符串
        End Sub

按Ctrl+S組合鍵保存工程,然后按F5鍵運行工程。單擊當前窗體時,程序的運行結果如圖3.2所示。當單擊圖片框控件時,程序的運行結果如圖3.3所示。當單擊當前窗體和圖片框控件時,程序的運行結果如圖3.4所示。

圖3.2 單擊當前窗體的運行界面圖

圖3.3 單擊圖片框的運行界面圖

圖3.4 單擊當前窗體和圖片框的運行界面圖

源程序解讀

(1)在Form_ Click()事件中,首先由FontSize屬性設置顯示字體的大小。由ForeColor屬性設置顯示字體的顏色。然后運用Print方法在當前窗體上顯示字符串和系統當前的時間。

(2)在Picture1_ Click()事件中,首先由“Picture1”圖片框的FontSize屬性設置顯示字體的大小。由“Picture1”圖片框的ForeColor屬性設置顯示字體的顏色。然后運用“Picture1”圖片框的Print方法在圖片框上顯示字符串。

3.3 注釋語句和End語句

在上一節中介紹了Print方法,讀者從中理解了Print方法的基本運用方法。另外,在上面的所有實例中都用到了注釋語句和End語句,但是對于這兩種語句的用法沒有詳細介紹,本節就來介紹這兩種語句的基本用法。

技術要點

本實例運用的主要技術是注釋語句和End語句,主要功能和用法如下:

●注釋語句,主要用來注釋程序中的代碼,增加程序的可理解性。

● End語句,主要用來結束一個過程或模塊。

注釋語句的具體語法如下:

        Rem|'注釋內容

常用的注釋語句使用標識符“'”作為注釋語句的開始,當使用標識符Rem作為注釋語句的開始時,其與注釋內容之間應該加一個空格隔開,注釋語句可以單獨作為一行放置在代碼的上方,也可以放置在代碼行的后面。一般對于整個過程或函數進行說明時,注釋語句放置在代碼模塊的上方;對于某行代碼進行說明時,一般把注釋語句放在本行的后面。

End語句的具體語法如下:

        End[Object]

其中,Object就是要結束的對象,可以是一個過程Sub,一個函數Function,一個語句If、Select或With。當參數Object省略時,就是結束當前過程。

實現代碼

        Private Sub Form_Load()
            Dim PassW As String                               '定義字符串變量
            PassW = "123456"                              '給變量賦值
            TxtName.Text = "管理員"                       '給用戶名的文本框賦值
            TxtPassWord.Text = InputBox("請輸入密碼")   '輸入密碼
            If TxtPassWord.Text = PassW Then
                MsgBox "登錄成功!"                       '輸出登錄成功的窗口
            Else
                MsgBox "登錄失敗!"                       '輸出登錄失敗的窗口
                End                                         '結束過程的執行
            End If
        End Sub

按Ctrl+S組合鍵保存工程,然后,按F5鍵,運行工程。單擊啟動按鈕后,程序運行結果如圖3.5所示。當輸入錯誤密碼并單擊“確定”按鈕時,程序運行結果如圖3.6所示。當輸入正確密碼并單擊“確定”按鈕時,程序運行結果如圖3.7和圖3.8所示。

圖3.5 輸入密碼界面圖

圖3.6 登錄失敗界面圖

圖3.7 登錄成功界面圖

圖3.8 登錄成功后的界面圖

源程序解讀

(1)在Form_ Load()事件中,首先定義了一個字符型變量PassW。然后給PassW賦值,并且給文本框控件TxtName賦值為“管理員”。

(2)接下來由InputBox方法接受輸入的密碼值并賦值給文本框TxtPassWord。

(3)然后運用條件語句If判斷輸入的密碼值和PassW值的一致性。如果相同,使用MsgBox顯示登錄成功的窗口;否則,顯示登錄失敗的窗口,并由End語句強制結束代碼執行。

3.4 If條件語句

前面介紹了順序結構的幾種語句,從本節開始要介紹選擇結構中的語句,選擇結構,顧名思義,是根據不同的結構做出不同的選擇,從而執行不同的操作。本節主要介紹選擇結構中的If條件語句的應用實例,即顯示學生的成績。

技術要點

本實例中主要運用的技術是If語句。If語句就是在選擇結構中根據某種條件做出選擇。If語句分為單行和多行兩種情況,對于單行情況的具體語法為:

        If Condition Then 語句1[Else語句2]

其中,參數Condition為選擇的判斷條件,可以是表達式或對象型,運行結果都是布爾類型True或False;參數“語句1”表示Condition運行結果為True是執行的操作。“Else語句2”是可選項,是Condition運行結果為False時執行的操作,一般情況可以省略。

多行情況的具體語法有以下三種:

        If Condition Then
        語句體
        End If
        If Condition Then
        語句體1
        Else
        語句體2
        End If
        If Condition1 Then
        語句體1
        Else If Condition2 Then
        語句體2
        [Else If Condition3 Then
        語句體3]
        ......
        [Else
        語句體n]
        End If

第一種情況,只有一種判斷標準,即一個條件,當滿足這個條件時,就執行語句體,否則,退出If語句,執行下面的語句;第二種情況,雖然看似有一個條件,實際有兩個判斷條件,即滿足和不滿足給定的條件,當滿足給定條件時,執行語句體1,否則執行語句體2,然后退出If語句;第三種情況,比較復雜,有兩個或以上的條件,滿足哪個條件,就執行對應的語句體。

實現代碼

            Private Sub Form_Load()
            Dim x As Integer                               '定義整型變量
            x = InputBox("請輸入成績")                '輸入學習成績并賦值給變量
            If x > = 90 Then                             '學習為優成績標準
                TxtStand.Text = "學習成績為優"          '顯示學習成績標準
            ElseIf x > = 80 Then                         '學習為良成績標準
                TxtStand.Text = "學習成績為良"          '顯示學習成績標準
            ElseIf x > = 70 Then                         '學習為中成績標準
                TxtStand.Text = "學習成績為中"          顯示學習成績標準
            ElseIf x > = 60 Then                         '學習為及格成績標準
                TxtStand.Text = "學習成績為及格"        '顯示學習成績標準
            Else                                          '學習為不及格成績標準
                TxtStand.Text = "學習成績為不及格"      '顯示學習成績標準
            End If
            LabShow.Caption = "學習成績=" & x           '顯示成績
        End Sub

按Ctrl+S組合鍵保存工程,然后按F5鍵運行工程。單擊啟動按鈕后,程序運行結果如圖3.9所示。輸入數據并單擊“確定”按鈕時,程序運行結果如圖3.10所示。

圖3.9 輸入成績界面圖

圖3.10 顯示成績及標準的界面圖

源程序解讀

(1)在Form_ Load()事件中,首先定義了一個整型變量x,用來存儲輸入的成績。然后由InPutBox方法輸入成績并賦值給變量x。

(2)接下來使用If語句,根據判斷標準判斷輸入的成績滿足哪種標準,并把標準由“TxtStand”文本框顯示出來。最后,由“LabShow”標簽顯示輸入的成績。

3.5 Select Case語句

在上一節介紹了選擇結構的If語句,If語句有時使用起來很方便,但是當條件有兩個以上時,使用起來就比較煩瑣,這時就需要用到本節要介紹的選擇語句——Select Case語句。

技術要點

本節實例中主要使用的技術是Select Case語句。Select Case語句主要適用于一個表達式可能有很多種結果產生的情況。具體語法如下:

        Select Case Expression
        Case表達式結果表1
        語句體1
        [Case表達式結果表2
        語句體2]
        ......
        [Case Else
        語句體n]
        End Select

其中,參數Expression,表示用于判斷的表達式,可以是數值表達式或字符串表達式;“表達式結果表1”是表達式的一種結果,如果表達式的結果屬于表達式結果表1,就會執行語句體1;否則繼續與下面的表達式結果表比較,如果不屬于任何表達式結果表,就執行語句體n。

實現代碼

        Private Sub Form_Load()
            Dim x As Integer                              '定義整型變量
            x = InputBox("請輸入成績")                '輸入學習成績并賦值給變量
            Select Case x
                Case Is > = 90                           '學習為優成績標準
                  TxtStand.Text = "學習成績為優"        '顯示學習成績標準
                Case Is > = 80                           '學習為良成績標準
                  TxtStand.Text = "學習成績為良"        '顯示學習成績標準
                Case Is > = 70                           '學習為中成績標準
                  TxtStand.Text = "學習成績為中"        '顯示學習成績標準
                Case Is > = 60                           '學習為及格成績標準
                  TxtStand.Text = "學習成績為及格"      '顯示學習成績標準
                Case Is < 60                             '學習為不及格成績標準
                  TxtStand.Text = "學習成績為不及格"    '顯示學習成績標準
            End Select
            LabShow.Caption = "學習成績=" & x           '顯示成績
        End Sub

按Ctrl+S組合鍵保存工程,然后按F5鍵運行工程。單擊啟動按鈕后,程序運行結果如圖3.11所示。輸入數據,并單擊“確定”按鈕時,程序運行結果如圖3.12所示。

圖3.11 輸入成績界面圖

圖3.12 顯示成績及標準的界面圖

源程序解讀

(1)在Form_ Load()事件中,首先定義了一個整型變量x,用來存儲輸入的成績。然后由InPutBox方法輸入成績并賦值給變量x。

(2)接下來使用Select Case語句,根據x的數值執行成績標準的輸出操作,在每個表達式結果表中運用Is關鍵字把x的值與后面的值進行比較,如果滿足條件就執行相應的語句體。

說明:使用關鍵字Is時,可以配合關系運算符(除Like和Is外)指定數值范圍。

3.6 For循環語句

在上一節中分別介紹了順序結構中的語句和選擇結構中語句的運用實例。從本節開始介紹循環結構的相關語句,循環結構指的是在執行語句時,根據循環變量,要對其重復執行多次。循環結構中包括三種語句:For循環語句,While循環語句和Do循環語句。本節介紹For循環語句的應用實例,即計算矩陣乘法。

技術要點

本實例中使用的主要技術是For循環語句。For循環語句屬于計數型循環,按照循環變量指明的循環次數,循環執行循環體,具體語法如下:

        For 循環變量=Start To End [Step step]
        [循環體]
        [Exit For]
        [循環體]
        Next 循環變量

其中各參數含義表示如下:

●參數“循環變量”,表示控制和統計循環次數的變量,該變量的數據類型應該是數值型。

● Start表示循環變量的初值,數據類型為數值型。

● End表示循環變量的終值,數據類型也為數值型。

●參數step表示步長,是可選參數,省略的情況下,默認為1,當循環變量的變化差值大于1時,要參數step進行設置,例如循環變量的差值是2,那么step=2,當Start的值小于或等于End的值時,參數step的值為正,當Start的值大于End的值時,參數step的值為負;參數“循環體”,表示滿足循環變量時執行操作。

●參數“Exit For”,當有某種特殊情況需要退出For循環時,使用這個參數,這時,后面的循環體就不再執行。

●參數“Next循環變量”,用于結束一次For循環,然后根據Start和End值的大小決定是否進行下一次循環。

另外,For循環還有另外一種語法表示方法,具體語法如下:

        For Each element In Group
        [循環體]
        [Exit For]
        [循環體]
        Next [element]

其中,參數element表示遍歷集合中所有元素的變量,它的數據類型根據集合對象的不同而不同,如果是一個集合,那么element的數據類型可以是可變型或者任何對象型,如果是數組,那么element的數據類型只能是可變型;參數Group表示一個集合或者數組。參數“Next[element]”表示遍歷集合中的下一個元素。

實現代碼

        Dim ArrR(2,3)As Integer                                              '定義結果矩陣
        Private Sub Form_Load()
            Dim i,j,k As Integer                                               '定義循環變量
            ArrM(0,0)= 2                                                    '給M矩陣的第1個元素賦值
            ArrM(0,1)= 1                                                    '給M矩陣的第2個元素賦值
            ArrM(0,2)= 0                                                    '給M矩陣的第3個元素賦值
            ArrM(0,3)= 5                                                    '給M矩陣的第4個元素賦值
            ArrM(1,0)= 0                                                    '給M矩陣的第5個元素賦值
            ArrM(1,1)= -1                                                   '給M矩陣的第6個元素賦值
            ArrM(1,2)= 2                                                    '給M矩陣的第7個元素賦值
            ArrM(1,3)= 0                                                    '給M矩陣的第8個元素賦值
            ArrM(2,0)= 2                                                    '給M矩陣的第9個元素賦值
            ArrM(2,1)= 0                                                    '給M矩陣的第10個元素賦值
            ArrM(2,2)= 0                                                    '給M矩陣的第11個元素賦值
            ArrM(2,3)= 1                                                    '給M矩陣的第12個元素賦值
            ArrN(0,0)= 0                                                    '給N矩陣的第1個元素賦值
            ArrN(0,1)= 2                                                    '給N矩陣的第2個元素賦值
            ArrN(0,2)= 2                                                    '給N矩陣的第3個元素賦值
            ArrN(0,3)= 1                                                    '給N矩陣的第4個元素賦值
            ArrN(1,0)= 1                                                    '給N矩陣的第5個元素賦值
            ArrN(1,1)= 3                                                    '給N矩陣的第6個元素賦值
            ArrN(1,2)= 3                                                    '給N矩陣的第7個元素賦值
            ArrN(1,3)= 4                                                    '給N矩陣的第8個元素賦值
            ArrN(2,0)= -2                                                   '給N矩陣的第9個元素賦值
            ArrN(2,1)= 4                                                    '給N矩陣的第10個元素賦值
            ArrN(2,2)= -3                                                   '給N矩陣的第11個元素賦值
            ArrN(2,3)= 2                                                    '給N矩陣的第12個元素賦值
            ArrN(3,0)= 1                                                    '給N矩陣的第13個元素賦值
            ArrN(3,1)= 0                                                    '給N矩陣的第14個元素賦值
            ArrN(3,2)= -5                                                   '給N矩陣的第15個元素賦值
            ArrN(3,3)= 7                                                    '給N矩陣的第16個元素賦值
            For i = 0 To 2
                For j = 0 To 3
                  ArrR(i,j)= 0                                              '初始化結果矩陣
                  For k = 0 To 3
                      ArrR(i,j)= ArrR(i,j)+ ArrM(i,k)*ArrN(k,j)    '計算矩陣乘積
                  Next k
                Next j
            Next i
            For i = 0 To 3
                TxtR1(i)= ArrR(0,i)                 '顯示結果矩陣的第一行
                TxtR2(i)= ArrR(1,i)                 '顯示結果矩陣的第二行
                TxtR3(i)= ArrR(2,i)                 '顯示結果矩陣的第三行
            Next i
        End Sub

按Ctrl+S組合鍵保存工程,然后按F5鍵運行工程。單擊啟動按鈕后,程序運行結果如圖3.13所示。

圖3.13 程序運行結果圖

源程序解讀

(1)代碼首先定義了三個二維數組:ArrM(2,3),表示一個被乘數矩陣。ArrN(3,3),表示一個乘數矩陣。ArrR(2,3)表示兩個矩陣乘積的結果矩陣。

(2)在Form_ Load()事件中,首先定義三個整型循環變量。然后分別給被乘數矩陣和乘數矩陣賦初值。

(3)接著運用三重For循環執行兩個矩陣的乘積。三重循環分別由循環變量i,j,k控制,最終計算結果存儲在數組ArrR()中。并且由“TxtR”文本框數組顯示出來。

3.7 While循環語句

在上一節中介紹了For循環語句的應用實例。本節接著介紹另外一種循環語句——While循環語句的應用實例,即有順序的顯示乘法表,希望讀者通過此例掌握While循環語句的運用方法。

技術要點

本節使用的主要技術是While語句。While語句也用于對某個條件的判斷,如果滿足條件,就執行循環體;條件不成立就結束循環,不再執行循環體,具體語法如下:

        While Condition
        [循環體]
        Wend

其中,參數Condition表示控制循環執行的條件,一般為數值表達式或字符串表達式,結果為True或False,如果Condition為空,則作為False處理;參數“循環體”為一條或多條語句,只有當Condition為真時才執行。

While循環的執行過程是:首先判斷條件是否成立,如果成立,則執行循環體,執行完再判斷條件是否成立,重復上述過程;否則,如果不成立,則結束循環,執行循環下面的語句。

說明:While循環允許嵌套,即While循環體中允許再出現While循環,本實例就使用了While循環嵌套。

實現代碼

        Private Sub Form_Click()
            FontSize = 14                                                      '定義顯示數字的大小
                ForeColor = vbBlue                                             '定義顯示數字的顏色
                Print Tab(40);"乘法表"                                    '在窗體上顯示標題
                Print Tab(37);" - - - - - - - - - -"                      '在窗體上顯示下畫線
                While i < = 9                                                  '限定外循環條件
                  j = 1                                                        '初始化內循環變量
                  While j < = I                                                '限定內循環條件
                      Print Tab((j-1)*9+1);i & "*" & j& " =" & i*j;    '在窗體上顯示乘法表
                      j = j + 1                                                '內循環變量增1
                  Wend
                  Print                                                        '顯示到下一行
                  i = i + 1                                                    '外循環變量增1
              Wend
            End Sub

按Ctrl+S組合鍵保存工程,然后按F5鍵運行工程。單擊“啟動”按鈕后,程序運行結果如圖3.14所示。

圖3.14 程序運行結果圖

源程序解讀

(1)在Form_ Click()事件中,首先使用FontSize和ForeColor兩個屬性分別設置顯示數字的大小和顏色。然后運用Print方法在窗體上顯示字符和下畫線。

(2)接下來使用While循環語句在窗體上顯示乘法表。

(3)首先,使用循環變量i控制外循環,循環條件為i< =9,即要循環執行循環體9次。

(4)其次,給內循環變量j賦初值1,并再次使用While循環語句,循環條件為j< =i,說明內循環受控于外循環。如果條件成立就執行Print方法,顯示各乘法算式;否則,執行Print方法,轉換到下一行。

(5)最后,繼續判斷外循環條件,依次重復下去。

說明:While循環語句與For循環的不同之處在于:For循環的循環次數已知,而While循環的次數提前未知,只能通過判斷條件決定循環是否結束。

3.8 Do循環語句

在前面兩節中分別介紹了For循環語句和While循環語句,這兩種循環語句各有利弊,要根據具體情況選擇合適的語句,本節接著介紹第三種循環語句——Do循環語句的應用實例,即計算從1到nn個整數的和。

技術要點

在本實例中用到的主要技術是Do循環語句。Do循環語句也是根據某個判斷條件是否成立來決定循環體是否被執行,Do循環有兩種語法格式,第一種語法格式:

        Do [{While|Until}Condition]
        [循環體]
        [Exit Do]
        [循環體]
        Loop

第二種語法格式:

        Do
        [循環體]
        [Exit Do]
        [循環體]
        Loop[{While|Until}Condition]

其中各參數的含義如下:

●參數Condition表示控制循環進行的條件,可以為數值型表達式或字符型表達式。

●參數“循環體”,是一條或多條語句,這個語句體,在第一種格式中,如果條件不成立就不再執行,而在第二種格式中,當條件不成時也要執行一次,因此,第二種格式至少執行一次循環體,而第一種格式可能不執行循環體。

●參數Exit Do,表示因為某個條件要中途跳出Do循環,后面的循環體就不被執行,而執行Do循環外的下面語句。Exit Do語句可以有條件限制,也可以直接使用,一般會有條件限制。

實現代碼

        Private Sub Form_Click()
            Dim s,i,n As Integer                           '定義整型變量
            n = InputBox("請輸入一個整數")              '輸入一個整數并賦值給變量n
            i = 1                                           '給變量i賦初值
            s = 0                                           '給變量s賦初值
            Do
                s = s + i                                     '累加i
                i = i + 1                                     'i增1
            Loop Until (i > = n)                            '判斷條件
            Print "1到n個整數的和為:" & s                  '顯示累加和
            i = 1                                             '給變量i賦初值
            s = 0                                             '給變量s賦初值
            Do While(i < = n)                              '判斷條件
                s = s + i                                     '累加i
                i = i + 1                                     'i增1
            Loop
            Print "1到n個整數的和為:" & s                  '顯示累加和
        End Sub

單擊工具欄中的保存按鈕,保存工程,然后單擊工具欄中的啟動按鈕,運行工程,程序運行結果如圖3.15和圖3.17所示。當在文本框中輸入數據10,并單擊“確定”按鈕時,程序運行結果如圖3.16所示。當在文本框中輸入數據0,并單擊“確定”按鈕時,程序運行結果如圖3.18所示。

圖3.15 輸入整數界面圖

圖3.16 運行結果界面圖

圖3.17 輸入整數界面圖

圖3.18 運行結果界面圖

然后單擊工具欄中的結束按鈕,或者單擊運行窗口的關閉按鈕,結束程序的運行。

源程序解讀

(1)在Form_ Click()事件中,首先定義三個整型變量i,s,n,分別表示循環變量、累加和變量、輸入整數變量。然后分別給三個變量賦初值為1、0、n的值是由InputBox方法得到的。

(2)接下來,分別使用Do循環的兩種語法格式進行1到n的整數累加操作。最后把累加和由Print方法顯示在當前窗體上。

注意:在使用第一種語法格式進行整數累加操作之前要再次給變量i和s賦初值,否則當輸入整數0時,會出現錯誤。

3.9 Write語句寫入文件

前面介紹了VB三種結構中的一些語句,這些語句都是編程的基礎,希望讀者能夠掌握這些語句的相關語法和語句之間的不同點。本節在前面學習的基礎上,介紹另外一種語句——Write語句的運用實例,即在文本框中寫入文件。

技術要點

在本實例中主要用到了Write語句、Open語句和Close語句,主要功能和用法如下:

● Write語句,主要用于將數據寫入文件。

● Open語句,主要用于打開一個已知的文件。

● Close語句,主要用于關閉一個打開的文件。

Write語句的具體語法為:

        Write#FileNumber [OutputList]

其中,參數FileNumber表示任何有效的文件號,在本例中文件號為1,也可以為其它的,但是,這個文件號要與打開文件時賦予文件的文件號相同,否則編譯時會出錯;參數OutputList,表示要寫入的數據,這些數據可以是數值表達式,或字符串表達式,當要寫入的是一首詩時,如本例一樣,要在每句詩之間使用換行符vbCrLf隔開。

Open語句的具體語法為:

        Open PathName For Mode[Access access][Lock]As[#]FileNumber [Len=reclength]

其中各參數的含義如下:

●參數PathName表示打開文件的路徑,打開一個已知文件時,必須指明打開路徑,否則無法找到文件。

●參數Mode表示打開文件的方式,打開文件有很多種方式:Append,Binary,Input, Outut或Random方式,如果沒有指明,默認為Random方式。本實例中,采用的是Output方式。

●參數access表示打開文件可以進行的操作,有讀操作,寫操作或讀寫操作。

●參數Lock表示其他進程可以對打開文件進行的操作,有共享、鎖定讀操作,鎖定寫操作或鎖定讀寫操作,這個參數可選,但一般不常用。

●參數FileNumber表示一個有效的文件號,有效的文件號范圍在1~511之間。

●參數reclength表示一個小于等于32767的數,當以Random方式打開文件時,使用該參數記錄文件長度。

Close語句的具體語法如下:

        Close[FileNumberList]

其中,參數FileNumberList表示關閉文件的文件號列表;當關閉當前一個文件時這個參數可以省略。

實現代碼

        Private Sub Form_Click()
            Dim FileStr As String                                                       '定義字符串變量
            Open App.Path & "\FileMe.txt " For Output As#1                           '打開要寫入文字的文件
            '設置寫入的文字
            FileStr = "春夜即事" & vbCrLf & "霞綃云幄任鋪陳,隔巷蟆更聽未真." & vbCrLf &"枕上輕寒窗外雨,眼
        前春色夢中人." & vbCrLf & "盈盈燭淚因誰泣,點點花愁為我嗔." & vbCrLf & "自是小鬟嬌懶慣,擁衾不耐笑
        言頻."
            Write#1,FileStr                                                           '將文字寫入文件
            MsgBox "已經將信息寫入FileMe.txt文件中!",vbInformation,"信息提示"   '提示文字已經寫入
            TxtFile.Text = FileStr                                                     '顯示寫入的文字
            Close                                                                      '關閉文件
        End Sub

單擊工具欄中的保存按鈕,保存工程,然后單擊工具欄中的啟動按鈕,運行工程,程序運行結果如圖3.19所示。寫入文件后,程序運行結果如圖3.20和圖3.21所示。

圖3.19 初始狀態界面圖

圖3.20 寫入文字之后的界面圖

圖3.21 顯示文字的界面圖

然后單擊工具欄中的結束按鈕,或者單擊運行窗口的關閉按鈕,結束程序的運行。

源程序解讀

(1)在Form_ Click()事件中,首先定義了一個字符串變量FileStr,用來存儲寫入文件的數據。

(2)接下來,使用Open語句,以Output方式打開當前文件夾下的文件FlieMe.txt,并賦予文件編號為1。

(3)然后,給FileStr賦初值,本例中為一首詩。

(4)最后,運用Write語句把FileStr中的內容寫入文件。寫入后使用MsgBox方法顯示寫入成功的提示框,并使用“TxtFile”文本框顯示寫入的數據。

主站蜘蛛池模板: 延庆县| 泾阳县| 大田县| 康平县| 浦城县| 大英县| 彰化市| 平谷区| 五大连池市| 黄龙县| 广元市| 始兴县| 晴隆县| 怀远县| 通州区| 中方县| 陆丰市| 兰溪市| 林西县| 玉林市| 祁门县| 仪征市| 高阳县| 丘北县| 普宁市| 滨海县| 贡山| 花垣县| 安福县| 安国市| 陇川县| 栾城县| 油尖旺区| 茂名市| 乌兰察布市| 八宿县| 保康县| 温宿县| 克东县| 曲松县| 阿拉尔市|