找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 4945|回复: 2

【原创】流程控制之循环语句的用法

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

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

发表于 2008-12-17 18:41:17 | 显示全部楼层 |阅读模式
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana" color="#0000ff"><strong>1.While...Wend 语句</strong></font></p>
<p><font face="Verdana">只要指定的条件为 True,则会重复执行一系列的语句。<br/>语法</font></p>
<p><font face="Verdana">While condition<br/>[statements]<br/>..<br/>Wend</font></p>
<p><font face="Verdana"><br/><strong><font size="3">2.Do...Loop</font></strong><br/>2.1 第一种用法<br/>用 Do 循环重复执行一语句块,且重复次数不定。Do...Loop 语句有几种演变形式,但每种都计算数值条件以决定是否继续执行。如同 If...Then condition 必须是一个数值或者值为 True(非零)或 False(零)的表达式。</font></p>
<p><font face="Verdana">在下面的 Do...Loop 循环中,只要 condition 为 True 就执行 statements。</font></p>
<p><font face="Verdana">Do While condition<br/>statements<br/>..<br/>Loop<br/>2.2 第二种用法<br/>Do...Loop 语句的另一种演变形式是先执行语句,然后在每次执行后测试 condition。这种形式保证 statements 至少执行一次:</font></p>
<p><font face="Verdana">Do<br/>statements</font></p>
<p><font face="Verdana">Loop While condition<br/>注:其它两种演变形式类似于前两个,所不同的是,只要 condition 为 False 而不是 True,它们就执行循环。</font></p>
<p><font face="Verdana">循环零次或多次 <br/>Do Until condition<br/>&nbsp; statements<br/>Loop</font></p>
<p><font face="Verdana">至少循环一次 <br/>Do<br/>&nbsp; statements<br/>Loop Until condition </font></p>
<p><font face="Verdana"><br/><strong><font color="#ff0000">3.For...Next</font></strong><br/>在不知道循环内需要执行多少次语句时,宜用 Do 循环。但是,在知道要执行多少次时,则最好使用 For...Next 循环。与 Do 循环不同, For 循环使用一个叫做计数器的变量,每重复一次循环之后,计数器变量的值就会增加或者减少。For 循环的语法如下:</font></p>
<p><font face="Verdana">For counter = start To end [Step increment]<br/>statements</font></p>
<p><font face="Verdana">Next [counter]</font></p>
<p><font face="Verdana">参数 Counter、Start、end 和 increment 都是数值型的。</font></p>
<p><font face="Verdana">注意&nbsp;&nbsp; increment 参数可正可负。如果 increment 为正,则 Start 必须小于等于 end,否则不能执行循环内的语句。如果 increment 为负,则 Start 必须大于等于 end,这样才能执行循环体。如果没有设置 Step,则 increment 缺省值为 1。<br/>实例:<br/>以下代码打印出所有有效的屏幕字体名:</font></p>
<p><font face="Verdana">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</font></p>
<p>&nbsp;</p>
<p><font face="Verdana"><strong><font color="#ff0000">4.For Each...Next<br/></font></strong>For Each...Next 循环与 For...Next 循环类似,但它对数组或对象集合中的每一个元素重复一组语句,而不是重复语句一定的次数。如果不知道一个集合有多少元素, For Each...Next 循环非常有用。</font></p>
<p><font face="Verdana">For Each...Next 循环的语法如下:</font></p>
<p><font face="Verdana">For Each element In group<br/>statements</font></p>
<p><font face="Verdana">Next elementt</font></p>
<p><font face="Verdana">例如,下面的子过程打开 Biblio.mdb,把每一个表的名字加到列表框中。</font></p>
<p><font face="Verdana">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</font></p>
<p><font face="Verdana">请记住使用 For Each...Next 时的几点限制: </font></p>
<p><font face="Verdana">对集合,element 只能是 Variant 变量,或一般的 Object 变量,或“对象浏览器”中列出的对象。<br/>对数组,element 只能是 Variant 变量。</font></p>
<p><font face="Verdana">For Each...Next 不能与用户自定义类型的数组一起使用,因为 Variant 不可能包含用户自定义类型。 </font></p>
[此贴子已经被作者于2008-12-17 18:46:23编辑过]
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

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

QQ
发表于 2008-12-28 22:33:09 | 显示全部楼层
<p>学东西总是要从基础学起的嘛.</p>
<p>&nbsp;</p>
<p>没人能一步登天.</p>
我就是嗷嗷叫的老马了......

1

主题

6

回帖

0

精华

铜牌会员

积分
177
发表于 2009-3-22 15:52:03 | 显示全部楼层
谢谢了。学习了呀~~
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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