wend 语句
只要指定的条件为 true,则会重复执行一系列的语句。
语法
while condition
[statements]
..
wend
loop
2.1 第一种用法
用 do 循环重复执行一语句块,且重复次数不定。do...loop 语句有几种演变形式,但每种都计算数值条件以决定是否继续执行。如同 if...then condition 必须是一个数值或者值为 true(非
零)或 false(零)的表达式。
在下面的 do...loop 循环中,只要 condition 为 true 就执行 statements。
do while condition
statements
..
loop
2.2 第二种用法
do...loop 语句的另一种演变形式是先执行语句,然后在每次执行后测试 condition。这种形式保证 statements 至少执行一次:
do
statements
loop while condition
注:其它两种演变形式类似于前两个,所不同的是,只要 condition 为 false 而不是 true,它们就执行循环。
循环零次或多次
do until condition
statements
loop
至少循环一次
do
statements
loop until condition
在不知道循环内需要执行多少次语句时,宜用 do 循环。但是,在知道要执行多少次时,则最好使用 循环。与 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。
实例:
以下代码打印出所有有效的屏幕字体名:
private sub form_click ()
dim i as integer
for i = 0 to screen.fontcount
print screen.fonts (i)
next
end sub
4.
循环与 循环类似,但它对数组或对象集合中的每一个元素重复一组语句,而不是重复语句一定的次数。如果不知道一个集合有多少元素, 循环非常有用。
循环的语法如下:
for each element in group
statements
next elementt
例如,下面的子过程打开 biblio.mdb,把每一个表的名字加到列表框中。
sub listtabledefs ()
dim objdb as database
dim mytabledef as tabledef
set objdb = opendatabase(c:\vb\biblio.mdb, _
true, false)
for each mytabledef in objdb.tabledefs ()
list1.additem mytabledef.name
next mytabledef
end sub
请记住使用 时的几点限制:
对集合,element 只能是 variant 变量,或一般的 object 变量,或“对象浏览器”中列出的对象。
对数组,element 只能是 variant 变量。
不能与用户自定义类型的数组一起使用,因为 variant 不可能包含用户自定义类型。篇二:简说vb循环语句
循环结构是指在一定条件下多次重复执行一组语句。vb中提供了两种循环语句,它们是for语句和do语句。
1. for循环语句
如果己知某一段代码需要重复执行的次数,可以使用for循环语句。该语句的一般形式如下:
该段代码的功能是在窗体上显示8行文本,如图3.16所示。如果不采用循环结构,则需要使用8条print语句来实现相同的功能。
for语句中的循环变量必须是数值型,初值、终值以及步长则是具体的数值
for…next
步长用来指定循环变量每次的增量,当所有循环体中的语句都执行后,循环变量就会自动增加一个步长。默认的步长为1.for语句的执行流程如图3.17所示。
具体执行流程为:
(1)将初值赋给循环变量。
(2)判断循环变量的取值是否在终值范围内否则结束循环,执行next的下一条语句。
(3)将循环变量的取值自动增加一个步长,然后回转到步骤(2)继续执行。
若是则执行循环体内的语句,循环中可以在任何位置放置任意个exit for语句,该语句的作用是退出循环,转到next语句的下一条语句。exit for语句经常在条件判断之后使用,例如在if…then语句之后。
例如,修改上例如下:
实例3.3打印九九乘法表
本例讲解怎样打印九九乘法表,如图3.18所示。九九乘法表的打印看起来很烦琐,但是如果使用嵌套循环,则问题变得非常简单。
打开【代码】窗口,编写窗体的click事件过程如下:
在该段代码中,首先使用print方法打印出标题和一个空行。然后使用了一个两重的嵌套循环结构。关于print方法的使用细节请参见下一章。
2.do循环语句
如果不知道某一段代码需要重复执行的次数,可以使川do循环语句0该语句有两种基本形
式:
(1)do while<表达式>
循环体
[exit do]
loop
这种格式的do循环先判断条件,后执行循环体。与if…then语句类似,while子句的<表达式>一般是关系表达式或逻辑表达式,也可以是算术表达式。如果表达式的值不为零(true),即条柞为真,则执行循环体。如果表达式的值为零〔false) ,即条件为假,则终止循环。其流程如图3.19所示。
例如,通过下列代码,可以求出2460和345的最大公约数。
在do…loop中可以在任何位置放置任意个数的exit do语句,随时跳出do-loop循环。exit do通常用于条件判断之后,例如if…then,在这种情况下,exit do语句将控制权转移到紧接在loo
p命令之后的语句。
如果exit do使用在嵌套的do…loop语句中,则exit do会将控制权转移到exit do所在位置的外层循环。
while子句也可以出现在loop语句后,形式如下:
do.
循环体。
[exit do].
loop while<表达式>.
这种格式的特点是先执行循环体,后判断条件。也就是说第一次进入循环是无条件的。循环体至少会被执行一次,其流程如图3.20所示。而如果while子句出现在do后,则可能一次也不执行。
(2) do until<表达式>.
循环体。
[exit do].
loop.
将while子句换成until子句后,情况正好相反。只有当表达式的值不为o(ture),即条件为真时才终止循环,否则继续循环。篇三:vb循环语句
注:被中括号(“[”、“]”)括起来的都是可选参数!
for each ... next 语句:
语句格式
while语句怎么退出 for each variant in collection or array
[statement(s)]
[exit for]
[statement(s)]
next [variant]
参数解释
variant: 如果in后面是一个集合(collection),variant可以是任何数据类型的一个变量;如果in后面是一个数组(array),variant就只能是一个variant变量。
collection: 可以是任何一个对象集合。
array: 可以是任何一个数组(type数组除外)。
statement(s): 可以是任何一句或多句语句。
exit for: 可以强制退出循环体。
for each ... next 语句的作用
集合/数组里面有多少对象/多少维,for each ... next 语句就会执行多少次statement(s)。
do ... loop 语句:
语句格式
do [{while | until} condition]
[statement(s)]
[exit do]
[statement(s)]
loop [{while | until} condition]
参数解释
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论