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小时内删除。