vb 构成算法的基本控制结构
一、顺序结构
(1) 赋值语句
Dim a As long
Let a = 69879
“=”在条件表达式中是等号,否则是赋值。
(2)数据的输入
a.文本框
b.InputBox函数
带返回值的输入函数
MyValue=InputBox(“请输入电话号码”, ,4555552)
不带返回值的输入函数
InputBox “请输入电话号码”, ,4555552
(3)数据的输出
a.MsgBox函数
带返回值的
myvalue=MsgBox(“注意:请输入数值型数据”,2+vbExclamation,”错误提示”)
if myvalue=3 then End
不带返回值的输出函数
MsgBox “注意:请输入数值型数据”, ,”错误提示”
b.Print方法
窗体名称.Print[[,|;[]…]]
Print Tab(15);”书名”; Tab(55);”出版社”;Tab(75);”销售数量”
二、选择结构
1. 单分支 If…Then语句
(1) 单行形式
If Text1.Text=”11” Then MsgBox”登录成功!”
(2) 块形式
If a=1 Then
b=3
End If
2. 双分支If…Then…Else语句
(1) 单行形式
If Text1.Text=”11” Then MsgBox”登录成功!” Else MsgBox”密码错误,重新输入!”
(2) 块形式
If 条件表达式 Then
语句块 1
Else
语句块2
End If
3. If语句的嵌套
If 条件表达式 Then
语句块 1
If 条件表达式2 Then
语句块2
Else
If 表达式4 Then…语句块3 Else …语句块4
End If
语句块5
Else
语句块6
If 条件表达式3 Then
语句块7
End If
语句块8
End If
4. 多分支If…Then…ElseIf语句
Private Sub Command1_Click()
'定义一个整型变量
Dim a As Integer
'给变量a赋值
a = Val(Text1.Text)
If a > 100 Or a
MsgBox "只能输入0-100以内的数!"
Exit Sub
End If
If a = 100 Then
Label3.Caption = "优"
ElseIf a >= 80 Then
Label3.Caption = "良"
ElseIf a >= 60 Then
Label3.Caption = "及格"
ElseIf a
Label3.Caption = "不及格"
End If
End Sub
5. Select Case
Select Case 测试表达式
Case 表达式1
语句块1
Case 表达式2
语句块3
。。。
Case 表达式n
语句块n
[Case Else
语句块n+1]
End Select
Case X+100 „表达式列表为表达式
Case 1,4,7 „表示条件在1,4,7范围内取值
Case 50 To 70 ‘表示条件取值范围为50~60
Is关系表达式
Case Is
6. IIf函数
IIf(,,)
str = IIf(Text1.Text = "11", "输入正确!", "密码不正确,请重新输入!")
MsgBox str, , "提示"
三、循环结构
1、 For…Next循环语句
For 循环变量 = 初值 To 终值 [Step步长]
循环体
[Exit For]
循环体
Next 循环变量
(1) 如果不指定步长,系统默认为1;当初值终值时,步
长应小于0
(2) Exit For用来退出循环,执行Next后面的语句
(3) 出现死循环时,用Ctrl+Break强制终止程序的执行
(4) 循环次数N=Int(初值-终值)/步长+1)
(5) Next后面的循环变量名必须与For语句中的循环变量名相同,并且可以省略。
2、 For Each…Next循环语句
For Each…Next循环语句用于依照一个数组或集合中的每个元素,循环执行一组语句,语法格式为:
For Each 数组或集合中的元素 In 数组或集合
循环体
[Exit For]
循环体
Next 数组或集合中的元素
Private Sub Form_Click()
Dim Myctl As Control
For Each Myctl In Me.Controls ‘遍历窗体中的控件
Print Myctl.Name ‘在窗体中显示控件的名称
Next Myctl
End Sub
3.Do…Loop循环语句
(1)Do While…Loop (当型循环)
Do While
循环体1
循环体2
Loop
(2)Do…Loop While
Do
循环体1
循环体2
Loop While
(3)Do Until…Loop (直到型循环)
Do Until
循环体1
循环体2
Loop
‘当循环条件为False时才循环
(4)Do…Loop Until
Do
循环体1
循环体2
Loop Until
四、其他辅助控制语句
1.跳转语句GoTo
GoTo
Private Sub Command2_Click()
GoTo l1
End
Exit Sub
l1:
Print "没有退出"
End Sub
3、 复用语句With…End With
With
[]
End With
Private Sub Form_Load()
With Form1 '外层With语句
.Height = 10000
.Width = 10000
With Command1 '内层With语句
.Height = 2000
.Width = 2000
.Caption = "按钮高度与宽度都是2000"
Form1.Caption = "窗体高度与宽度都是10000"
End With
End With
End Sub
4.退出语句Exit
Exit用来退出Do…Loop,For…Next,Function,Sub或property代码块
5.结束语end
End ‘退出程序