阿杰 发表于 2007-1-26 20:09:57

VB中几种循环语句的用法

<p>1.While...Wend 语句</p><p>只要指定的条件为 True,则会重复执行一系列的语句。<br/>语法</p><p>While condition<br/><br/>..<br/>Wend<br/>2.Do...Loop<br/>2.1 第一种用法<br/>用 Do 循环重复执行一语句块,且重复次数不定。Do...Loop 语句有几种演变形式,但每种都计算数值条件以决定是否继续执行。如同 If...Then condition 必须是一个数值或者值为 True(非零)或 False(零)的表达式。</p><p>在下面的 Do...Loop 循环中,只要 condition 为 True 就执行 statements。</p><p>Do While condition<br/>statements<br/>..<br/>Loop<br/>2.2 第二种用法<br/>Do...Loop 语句的另一种演变形式是先执行语句,然后在每次执行后测试 condition。这种形式保证 statements 至少执行一次:</p><p>Do<br/>statements</p><p>Loop While condition<br/>注:其它两种演变形式类似于前两个,所不同的是,只要 condition 为 False 而不是 True,它们就执行循环。</p><p>循环零次或多次 <br/>Do Until condition<br/>&nbsp; statements<br/>Loop</p><p>至少循环一次 <br/>Do<br/>&nbsp; statements<br/>Loop Until condition <br/>3.For...Next<br/>在不知道循环内需要执行多少次语句时,宜用 Do 循环。但是,在知道要执行多少次时,则最好使用 For...Next 循环。与 Do 循环不同, For 循环使用一个叫做计数器的变量,每重复一次循环之后,计数器变量的值就会增加或者减少。For 循环的语法如下:</p><p>For counter = start To end <br/>statements</p><p>Next </p><p>参数 Counter、Start、end 和 increment 都是数值型的。</p><p>注意&nbsp;&nbsp; increment 参数可正可负。如果 increment 为正,则 Start 必须小于等于 end,否则不能执行循环内的语句。如果 increment 为负,则 Start 必须大于等于 end,这样才能执行循环体。如果没有设置 Step,则 increment 缺省值为 1。<br/>实例:<br/>以下代码打印出所有有效的屏幕字体名:</p><p>Private Sub Form_Click ()<br/>&nbsp;&nbsp; Dim I As Integer<br/>&nbsp;&nbsp; For i = 0 To Screen.FontCount<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print Screen.Fonts (i)<br/>&nbsp;&nbsp; Next<br/>End Sub</p><p>4.For Each...Next<br/>For Each...Next 循环与 For...Next 循环类似,但它对数组或对象集合中的每一个元素重复一组语句,而不是重复语句一定的次数。如果不知道一个集合有多少元素, For Each...Next 循环非常有用。</p><p>For Each...Next 循环的语法如下:</p><p>For Each element In group<br/>statements</p><p>Next elementt</p><p>例如,下面的子过程打开 Biblio.mdb,把每一个表的名字加到列表框中。</p><p>Sub ListTableDefs ()<br/>&nbsp;&nbsp; Dim objDb As Database<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim MyTableDef as TableDef<br/>Set objDb = OpenDatabase("c:\vb\biblio.mdb", _<br/>&nbsp;&nbsp; True, False)<br/>&nbsp;&nbsp; For Each MyTableDef In objDb.TableDefs ()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List1.AddItem MyTableDef.Name<br/>&nbsp;&nbsp; Next&nbsp; MyTableDef<br/>End Sub</p><p>请记住使用 For Each...Next 时的几点限制: </p><p>对集合,element 只能是 Variant 变量,或一般的 Object 变量,或“对象浏览器”中列出的对象。<br/>对数组,element 只能是 Variant 变量。</p><p>For Each...Next 不能与用户自定义类型的数组一起使用,因为 Variant 不可能包含用户自定义类型。 </p>

马大哈 发表于 2007-1-26 20:56:48

我用得最多的就是DO...LOOP与FOR...NEXT
页: [1]
查看完整版本: VB中几种循环语句的用法