程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> Visual Basic控制結構概述

Visual Basic控制結構概述

編輯:VB綜合教程

  循環結構

  循環結構允許重復執行一行或數行代碼。Visual Basic 支持的循環結構有:

  1.Do...Loop

  2.For...Next

  3.For Each...Next

  Do...Loop

  用 Do 循環重復執行一語句塊,且重復次數不定。Do...Loop 語句有幾種演變形式,但每種都計算數值條件以決定是否繼續執行。如同 If...Thencondition 必須是一個數值或者值為 True(非零)或 False(零)的表達式。在下面的 Do...Loop 循環中,只要 condition 為 True 就執行 statements。

  

    Do While condition
        statements
     Loop

  當 Visual Basic 執行這個 Do 循環時會首先測試 condition。如果 condition為 False(零),則跳過所有語句。如果 condition 為 True(非零),則 VisualBasic 執行語句,然後退回到 Do While 語句再測試條件。

  因此,只要 condition 為 True 或非零,循環可以隨意執行多少次。如果condition 一開始便為 False,則不會執行語句。例如,以下過程將計算某一目標字符串在另一字符串中出現的次數,只要發現目標串就執行循環:

  

    Function CountStrings (longstring, target)
         Dim position, count
         position = 1
         Do While InStr (position, longstring, target)
            position = InStr(position, longstring, target)_
             + 1
             count = count + 1
         Loop
         CountStrings = count
     End Function

  如果目標字符串未出現在另一個字符串中,則 InStr 返回 0,而且不再執行循環。

  Do...Loop 語句的另一種演變形式是先執行語句,然後在每次執行後測試condition。這種形式保證 statements 至少執行一次:

  Do

  statements

  Loop While condition

  其它兩種演變形式類似於前兩個,所不同的是,只要 condition 為 False 而不是 True,它們就執行循環。

  For...Next000

  在不知道循環內需要執行多少次語句時,宜用 Do 循環。但是,在知道要執行多少次時,則最好使用 For...Next 循環。與 Do 循環不同, For 循環使用一個叫做計數器的變量,每重復一次循環之後,計數器變量的值就會增加或者減少。For 循環的語法如下:

  For counter = start To end [Step increment]

  statements

  Next [counter]

  參數 Counter、Start、end 和 increment 都是數值型的。

  注意 increment 參數可正可負。如果 increment 為正,則 Start 必須小於等於end,否則不能執行循環內的語句。如果 increment 為負,則 Start 必須大於等於 end,這樣才能執行循環體。如果沒有設置 Step,則 increment 缺省值為 1。

  在執行 For 循環時,Visual Basic

  1. 設置 counter 等於 start。

  2. 測試 counter 是否大於 end。若是的話,則 Visual Basic 退出循環。 (若 increment 為負,則 Visual Basic 測試 counter 是否小於 end。)

  3. 執行語句。

  4. counter 增加一,或者增加 increment(如果已指定的話)。

  5. 重復步驟 2 到步驟 4。

  以下代碼打印出所有有效的屏幕字體名:

  

    Private Sub Form_Click ()
        Dim I As Integer
        For i = 0 To Screen.FontCount
          Print Screen.Fonts (i)
        Next
     End Sub

  在 VCR 示例應用程序中,HighlightButton 過程使用 For...Next 循環,一步步經過 VCR 窗體的控件集合,並顯示適當的 Shape 控件:

  

    Sub HighlightButton (MyControl As Variant)
        Dim i As Integer
        For i = 0 To frmVCR.Controls.Count - 1
           If TypeOf frmVCR.Controls (i) Is Shape Then
             If frmVCR.Controls (i).Name = MyControl Then
                frmVCR.Controls (i).Visible = True
             Else
                frmVCR.Controls (i).Visible = False
             End If
           End If
        Next
     End Sub
     For Each...Next

  • 首頁
  • 上一頁
  • 1
  • 2
  • 下一頁
  • 尾頁
  • 共2頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved