VisualBasic控件结构概述

文章作者 100test 发表时间 2007:03:10 18:16:46
来源 100Test.Com百考试题网


循环结构
    循环结构允许重复执行一行或数行代码。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
    For Each...Next 循环与 For...Next 循环类似,但它对数组或对象集合中的每一个元素重复一组语句,而不是重复语句一定的次数。如果不知道一个集合有多少元素, For Each...Next 循环非常有用。
    For Each...Next 循环的语法如下:
    For Each element In group
      statements
    Next elementt
    例如,下面的子过程打开 Biblio.mdb,把每一个表的名字加到列表框中。
    Sub ListTableDefs ()
      Dim objDb As Database
      Dim MyTableDef as TableDef

相关文章


VisualBasic对象使用
foxpro机动查询和数据输入上
VisualBasic控件结构概述
VisualBasic变量、常数和数据类型及过程概述六
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛