找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 5676|回复: 1

VB中几种循环语句的用法

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2007-1-26 20:09:57 | 显示全部楼层 |阅读模式
<p>1.While...Wend 语句</p><p>只要指定的条件为 True,则会重复执行一系列的语句。<br/>语法</p><p>While condition<br/>[statements]<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 [Step increment]<br/>statements</p><p>Next [counter]</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>
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2007-1-26 20:56:48 | 显示全部楼层
我用得最多的就是DO...LOOP与FOR...NEXT
我就是嗷嗷叫的老马了......

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表