VB6.0的⼏种循环语句及条件语句
⼀、循环语句----------------------------------------------------------------------------------------------
  可以参考:
  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
  2.3 注:其它两种演变形式类似于前两个,所不同的是,只要 condition 为 False ⽽不是 True,它们就执⾏循环。
----循环零次或多次
Do Until condition
  statements
Loop
----⾄少循环⼀次
Do
  statements
Loop Until condition
  Next语句
  在不知道循环内需要执⾏多少次语句时,宜⽤ Do 循环。但是,在知道要执⾏多少次时,则最好使⽤ Next 循环。与 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 = 0To Screen.FontCount
Print Screen.Fonts (i)
Next
End Sub
  4.Next语句
  Next 循环与 Next 循环类似,但它对数组或对象集合中的每⼀个元素重复⼀组语句,⽽不是重复语句⼀定的次数。如果不知道⼀个集合有多少元素, Next 循环⾮常有⽤。
Next 循环的语法如下:
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
  请记住使⽤ Next 时的⼏点限制:
  (1)对集合,element 只能是 Variant 变量,或⼀般的 Object 变量,或“对象浏览器”中列出的对象。
  (2)对数组,element 只能是 Variant 变量。
  (3)Next 不能与⽤户⾃定义类型的数组⼀起使⽤,因为 Variant 不可能包含⽤户⾃定义类型。
⼆、条件语句------------------------------------------------------------------------------------------------
  关于作⽤域问题请参考 
  1.简单If条件语句
使⽤在称之为分⽀结构的特殊语句块中的条件表达式控制了程序中哪些语句被执⾏以及什么样的执⾏次序执⾏。“If...Then”分⽀结构在程序中计算条件值,并根据条件值决定下⼀步执⾏的操作。最简单的“If...Then”分⽀结构可以只写在⼀⾏:
If Condition Then Statement[Else statement]
注意:“If...Then”分⽀结构⽤于给程序添加逻辑控制能⼒。这⾥,“Condition”是个条件表达式,“Statement”是条件有效的Visual Basic语句。例如:
If Score>=20 Then Label1.Text="You Win!"是个使⽤了下述条件表达式的分⽀结构:Score>=20  根据这个表达式的值,程序决定是否把Label1对象的“Text”属性设置为“You Win!”。如果“Score”变量的值⼤于等于20,Visual Basic设置该属性的值,否则,Visual Basic跳过这条赋值语句,然后执⾏事件过程中的下⼀⾏语句。这类⽐较运算的结果不是“True”就
是“False”,条件表达式从来不会产⽣模棱两可的值。
  Else语句
  Visual Basic还⽀持另⼀种格式的“If...Then”分⽀结构,该结构中包含⼏个条件表达式,由多⾏语句组成,其中包含了重要关键字“ElseIf”、“Else”以及“End If”。
If Condition1 Then
'Statements
ElseIf Condition2 Then
'Statements
'[其他ElseIf⼦句及其相应的执⾏语句]
Else
Statements
End If
  这个结构中,“Condition1”⾸先被计算。如果这个条件表达式的值为“True”,那么这个条件表达式下的语句被执⾏;如果第⼀个条件的值不是“True”,那么计算第⼆个表达式(Condition2)的值,如果第⼆个条件的值为“True”,那么这个条件表达式下的语句块被执⾏(如果要判断更多的条件,那么继续增加“ElseIf”⼦句及该⼦句下的语句块);如果所有条件表达式的值都不是“True”,那么执⾏“Else”⼦句下的语句块;最后,整个结构使⽤“End If”关键字结束。多⾏“If...Then”结构特别适合于分段计算问题,⽐如税费⽅⾯的计算。
  下⾯的代码展⽰了如何使⽤多⾏“If...Then”结构来确定递进税计算问题(收⼊和税率的对应关系取⾃美国国内收⼊服务1997年税率表):
If AdjustedIncome<=24650Then
'15%税段
TaxDue=AdjustedIncome*0.15
ElseIf AdjustedIncome<=59750Then
'28%税段
TaxDue=3697+((AdjustedIncome-24650)*0.28)
ElseIf AdjustedIncome<=124650Then
'31%税段
TaxDue=13525+((AdjustedIncome-59750)*0.31)
ElseIf AdjustedIncome<=271050Then
'36%税段
TaxDue=33644+((AdjustedIncome-124650)*0.36)
Else
'39.6%税段
TaxDue=86348+((AdjustedIncome-271050)*0.396)
End If
  注意:总是可以添加更多的“ElseIf”块到“If...Then”结构中去。但是,当每个“ElseIf”都将相同的表达式⽐作不同的数值时,这个结构编写起来很乏味。在这种情况下可以使⽤“Select Case”判定结构。
  3.Select Case结构
  Visual Basic还⽀持在程序中使⽤“Select Case”分⽀结构来控制语句的执⾏。 “Select Case”结构与“If...Else”结构相似,但在处理依赖于某个关键变量或称作测试情况的分⽀时效率更⾼。并且,使⽤“Select Case”结构可以提⾼程序的可读性。“Select Case”结构的语法如下所⽰:
Select Case Variable
Case Value1
Statements
Case Value2
Statements
Case Value3
Statements
...
End Select
  “Select Case”结构以关键字“Select case”开始,以关键字“End Select”结束。“Select Case”结构中的“Variable”可以是变量、属性或者是表达式,“Value1”、“Value2”,“Value3”可以是数值、字符串或与要测试的其他情况相关的其他值,如果其中某个值与变量相匹配,那么该“Case”⼦句下的语句被执⾏,然后Visual Basic执⾏“End Select”语句后⾯的语句。“Select Case”结构中可以使⽤任意多个“Case”⼦句,“
Case”⼦句中也可以包括多个“Value”值,多个“Value”值之间使⽤逗号分隔。  下⾯⽰例展⽰了程序中如何使⽤“Select Case”结构打印与某⼈年龄相关的信息。当“Age”变量与某个“Case”值匹配时,相应的信息显⽰在标签对象中。
Select Case Age
case16
Label1.Text="You can drive now!"
Case18
Label1.Text="You can vote now!"
Case21
Label1.Text="You can drink wine with your meals."
Case65
Label1.Text="Time to retire and have fun!"
End Select
  注意:“Select Case”结构⽐功能等效的“If...Then”结构更清晰易读。“Select Case”结构还⽀持“Case Else”⼦句,该⼦句可⽤于当不满⾜所有“Case”条件时显⽰信息。下⾯是说明“Case Else”⼦句⽤法的⼀个⽰例:
Select Case Age
Case16
Label1.Text="You can drive now!"
Case18
Label1.Text="You can vote now!"
Case21
Label1.Text="You can drink wine with your meals."
Case65
Label1.Text="Time to retire and have fun!"
Case Else
Label1.Text="You're a great age!Enjoy it!"
End Select
简单的vb程序代码  注意:“Select Case”结构每次都要在开始处计算表达式的值,⽽“If...Else”结构为每个“ElseIf”语句计算不同的表达式,只有在“If”语句和每个“ElseIf”语句计算相同的表达式时,才能使⽤“Select Case”结构替换“If...Else”结构。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。