Visual Basic 程序设计 第5章 选择结构设计
主要内容 选择结构的概念 条件表达式,比较运算和布尔运算 条件语句 If … 多分支选择语句 Select Case … 标准控件 单选按钮 OptionButton 复选框 CheckBox 定时器 Timer
选择结构的概念 用于分析、比较、判断。对不同情况要进行不同的处理。 条件表达式由比较运算、布尔运算完成,表达式的值为True或False 例: 1. x>=0 and x <=1 (0 ≤ x ≤ 1) 2. x>y and y>0 (x>y>o) 3. Not x>0 or x>5
比较运算 比较运算: < <= = >= > <> 比较运算: < <= = >= > <> 数值之间比较,例 x!>0 等 注意:对浮点(单精度、双精度)数不要进行=(等于)比较,如 x!=3.45 -不可靠 字符串(可以包含汉字及其他文字、符号)之间比较按内码大小,从第1个字符开始。
逻辑运算 A B Not A A And B A Or B A Xor B A Equ B A Imp B F T 注:1. A、B均为逻辑表达式。如果是数值,则其值非零时看作True,值为零时看作False。 例如:表达式 4>3 And 5>4 的值为True 2. F - False,T - True
单行 If 语句 格式: If 条件 Then 语句1 [ Else 语句2 ] 例: 1. If a<0 Then a=-a 2. If x>=0 Then y=sqr(x) Else y=-x
多行 If 语句 格式: If <条件1> Then [语句块1] [ElseIf <条件2> 语句块2]… 语句块3] End If 条件1 False 条件2 语句块1 True 语句块3 False 语句块2 True End If 后 下个语句
多行 If 语句 格式: 例: If <条件> Then [语句块] [ElseIf <条件> 语句块]… End If 例: d=InputBox(“请输入你的出生日期”) If Isdate(d) Then Msgbox “你出世已有” _ & Date-cdate(d) & “天” Else Msgbox “输入错误!” End If
Select Case语句 格式: 用途:多分支选择 Select Case <测试表达式> <语句块>]… [Case Else <语句块>] End Select 用途:多分支选择
Select Case <表达式> ①②③为表达式取值范围,可为: 常量或常量列表,如 10,20 值1 To 值2 如 30 To 50 Is <比较符> 常量,如 Is>50 Select Case <表达式> Case ① Case ② No Case ③ No 语句块4 No (Case Else) 语句块1 Yes 语句块2 Yes 语句块3 Yes End Select 的下个语句
例1:按得分定等级 Select Case cj Case 100 ‘如果成绩 cj=100 lev=“满分” Case is >= 90 ‘如果cj>=90 lev = “优秀” Case 75 to 89 ‘如果 cj 在 75 与 89 之间 lev = “良好” Case 60 to 74 ‘如果 cj 在 60 与 74 之间 lev = “及格” Case Else ‘其他情况 lev=“不及格” End Select
例2:判断输入字符类型 程序功能:在文本框中输入一串字符,在输入同时判别输入字符的类型,并显示在一个标签中。同时统计不同类别字符的个数。 类别分:大写字母、小写字母、数字、韵母(a,e,i,o,u)、汉字、其他。 例
输入字符类别判断 Select Case c Case "A", "E", "I", "O", "U" t = "大写韵母" Case "A" To "Z" t = "大写字母" Case "a", "e", "i", "o", "u" t = "小写韵母" Case "a" To "z" t = "小写字母" Case "0" To "9" t = "数字" Case Is > "~" t = "汉字" Case Else tp = "其他字符" End Select Text1.Text=t
例3:信号灯 Private Sub Timer1_Timer() a = (a + 1) Mod 6 Select Case a P1.Picture = Image1.Picture 'red Case 3 P1.Picture = Image2.Picture 'yellow Case Is > 3 P1.Picture = Image3.Picture 'green End Select End Sub 运行
Frame(框架) Frame(框架)是一个容器。用于把其他的控件组织在一起。当框架移动、隐藏时,其包容的控件也都跟着移动、隐藏。 框架的常用属性有: Caption - 设置框架标题,使用户了解框架的用途。 Enabled - 设置框架是否有效。 Visible - 设置框架是否可见。
OptionButton(单选按钮) 多个选项应在同一个容器中: 用于从多个可选项中选择其中之一。 主要属性: Caption 标题 Value 值,布尔量。True-选中,False-不选 Style 外观: Standerd-标准方式,圆形 Graphical-图形方式,象按钮 多个选项应在同一个容器中: 窗体(Form) 框架(Frame) 图片框(PictureBox)
CheckBox(复选框) 主要属性: 复选框之间无制约。 Caption:标题,用于说明。 Value:值,可取: 0-UnChecked,不选 1-Checked,全选 2-Grayed,部分选中 单击复选框时,不会选2 纠错:P.100,第7行 复选框之间无制约。 实例
Timer(定时器) 关键属性: Enabled: True:定时器处于工作状态。 False:处于待命状态。 Interval: 时间间隔周期(毫秒数)。 如果 Interval=0 ,也不会发生Timer事件。 Timer事件:定时时间到。重新计时。 应用于:计时、动画等 例
颜色及有关常量及函数 颜色值用长整型数表示,如: 内置颜色函数: 颜色常量:vbRed,vbBlue,vbBlack等 蓝色:&H00FF0000& 绿色:&H0000FF00& 红色:&H000000FF& 内置颜色函数: RGB(red,green,blue) red,green,blue: 0~255 QBColor(n) n=0,1,2,…,15 颜色常量:vbRed,vbBlue,vbBlack等 例