第 3 章 设计顺序结构程序

74

Click here to load reader

Upload: synclair-osvaldo

Post on 02-Jan-2016

133 views

Category:

Documents


0 download

DESCRIPTION

第 3 章 设计顺序结构程序. Visual Basic 程序设计教程. 本章主要介绍 : VB 的语法、注释、书写风格 VB 常用的函数和语句等 介绍 VB 程序的顺序结构、 常用控件: —— 命令按钮、标签、文本框、滚动条、定时器。 如何调试程序,即如何发现程序中的问题并解决这些问题。. 3.1 概述. VB 程序设计有两个部分的工作: 一是进行界面的设计 二是根据程序所需要解决的问题,编写完成解决问题的程序代码 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 3 章  设计顺序结构程序

大学计算机基础教程 TaiYuan University of Technology

第 3 章 设计顺序结构程序

Visual Basic 程序设计教程

Page 2: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程2

本章主要介绍 :

VB 的语法、注释、书写风格VB 常用的函数和语句等介绍 VB 程序的顺序结构、常用控件:

—— 命令按钮、标签、文本框、滚动条、定时器。如何调试程序,即如何发现程序中的问题并解决这些

问题。

Page 3: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程3

VB 程序设计有两个部分的工作:一是进行界面的设计二是根据程序所需要解决的问题,编写完成解决问题的

程序代码 一个程序应该具有良好的结构,以便于阅读和理解。为了增加程序的易读性,荷兰学者 ijkctra 提出了结构化程序设计的理论, VB 是融合了面向对象和结构化编程两种思想的一个编程工具。

Page 4: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程4

结构化程序设计:用三种基本结构作为构成程序的基本单元顺序结构选择结构循环结构

每个基本结构具有单入口单出口的特点。一般一个程序由这三种结构结合而成。

Page 5: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程5

顺序结构的主要特点是:按自然顺序(即编写的

顺序)执行程序的流程,即先执行第一句,再执行第二句,一句一句执行下去,直到执行最后一句。

流程如图所示 :

Page 6: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程6

通过例子,了解顺序结构的程序的一般形况【例 3-1 】求摄氏温度对应的华氏温度。如图。计算公式: F=9C/5+32 ,其中 C 表示摄氏温度, F表示华氏温度。

Page 7: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程7

对象:2 个标签:作提示2 个文本框:作输入和显示3 个命令按钮控件

单击“计算”按钮,右文本框内显示出该摄氏温度对应的华氏温度。单击“清除”按钮使得文本框的内容被清除单击“退出”按钮结束程序运行。

Page 8: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程8

本例使用四个事件过程:一个 Form_Load() 和三个是命令按钮的 Click 事

件。主要属性设置

命令按钮 1 :(名称): CmdCalc Caption :计算命令按钮 2 :(名称): CmdClear Caption :清除命令按钮 3 :(名称): CmdExit Caption :退出标签 1 ( Label1 ): Caption :摄氏温度标签 2 ( Label2 ): Caption :华氏温度窗体: Caption :温度转换

Page 9: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程9

Option Explicit ' 要求强制声明变量Private Sub CmdCalc_Click() ' 计算

Dim C As Single, F As Single C = Val(Text1.Text) F = 9 * C / 5 + 32 Text2.Text = F

End SubPrivate Sub CmdClear_Click() ' 清除

Text1.Text = "" Text2.Text = "“

End SubPrivate Sub CmdExit_Click() ' 终止程序运行

EndEnd SubPrivate Sub Form_Load() ' 启动时,清除文本框内容

Text1.Text = "" Text2.Text = "“

End Sub

本例每个事件代码都依本例每个事件代码都依顺序执行。顺序执行。

Page 10: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程10

编写程序有一定的规则,这就是语法。如数学中 x 乘 y 可以写成 xy ,但在程序中不能。程序中除了“ ”所有的内的字符串外,其它一律使用西文符号。如: > 、 < 、 = 、 + 、 - 等都必须是西文符号。

Page 11: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程11

3.3.1 语法符号 在程序设计语言中,每一条语句都有语法规则。本书在语法描述中,常常使用以下符号:

1 . [ ]: 表示可选项。2 . < >: 语句中的基本单位。可以直接给出,也可以用 <> 表示。

Page 12: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程12

3 . { } 及其内的 | :表示多个项目,一般只能选择其中一个。

4 .… :表示重复前面的内容。如 Print方法格式为:Print [ 输出项 ][{; | , }[ 输出项 ]…][{; | , }] Print [< 输出项 >][{; | , }[< 输出项 >]…][{;| , }]

注意:这些只是书写格式,并不是 VB 的语言元素。

Page 13: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程13

3.3.2 注释使用注释记录编程思路或明确这段程序的目的。使用注释提高程序的可读性。注释部分不是程序代码,它不会被执行。注释不是用得越多越好。一般针对主要程序段、主要变量、关键语句等。

Page 14: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程14

注释使用有两种方法:使用西文单引号“ '”

C = Text1.Text ' 将文本框数据送入变量 C使用关键字 Rem

格式: Rem 注释文字Rem 计算摄氏温度对应的华氏温度值。

注释不是用得越多越好一般针对主要程序段、主要变量、关键语句等

Page 15: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程15

3.3.3 程序代码书写规则1.续行一行中字符数太多,可以分多行书写方法:前一行的末尾要使用续行符:“ _” 。如:

Score = Val (InputBox("请输入“计算机”课程成绩 (0-100) : ", _ " 输入成绩 ", 60))续行符后面不能加注释不要在一个字符串或关键字的中间截断行当句子不长时,最好不要用续行。

Page 16: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程16

2 .多条语句写在一行内使用的方法:在各句之间用冒号“ :” 分隔。如要交换变量 A和 B中的值,可以使用:

T = A: A = B: B = T

Page 17: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程17

3 .使用缩进格式为了增加程序的可读性,代码应采用缩进格式。它可以反映出代码的逻辑结构和嵌套关系。如: ……

…… …… …… …… …………

Page 18: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程18

利用这些语句和函数可以编写许多程序。语句是 VB 程序代码的组成部分,函数是 VB 语言组成部分的另一种形式

它把一些常用的功能预先编制好程序以固定的格式提供给用户使用,可以大大减少了编程者的代码设计工作。

Page 19: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程19

3.4.1 VB 的语句语句独立于对象。语句一般分两类:

执行语句使计算机产生一种特定的操作,如赋值、循环等。

非执行语句非执行语句用来将某些信息通知翻译系统,让VB翻译系统按它的要求作出处理。如 Dim、 Const、 Rem等。

Page 20: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程20

一个语句一般包含两部分:语句定义符部分

规定了要让计算机干什么。如: Dim语句体部分指要干的具体内容。如: A As Integer

Page 21: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程21

3.4.2 Stop 语句和 End 语句1 . Stop

作用:暂停程序的运行。使用格式为: Stop一般用于程序调试中。如暂停以查看一下前面运行的结果是否正确若要继续执行,可用工具栏的“继续”按钮。2 . End

作用:终止程序的运行。使用格式为: End终止程序的运行将卸载所有窗体模块

Page 22: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程22

3.4.3 什么是函数函数是一些量依赖于另一些量的概括例如数学表达式 y=Sin(x)

y 为函数值x 为自变量

计算机中,函数表示类似于数学中的这种关系计算机中,函数由相对独立的程序代码实现的。VB系统提供了一部分函数,称为 VB 内部函数用户可以直接调用 VB 函数

Page 23: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程23

3.4.4 使用函数VB 的内部函数一般分为:

数学函数、字符串函数、日期 / 时间函数、转换函数等

VB 内部函数调用的基本格式是:函数名 (参数 1, 参数 2,……, 参数 n)

参数是函数的输入。 n>=0

一般函数有一个返回值,类型可以是数值型或字符型等。

Page 24: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程24

函数可以被用于表达式中,如 X = -B + Sqr(D)

函数调用时,函数名、参数个数、排列次序和数据类型应与规定的一致

函数的运算优先级高于其它运算符,低于括号 ( ) 。

Page 25: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程25

3.4.5 常用函数举例( 1 )求平方根函数 Sqr 。格式: Sqr(x)

对 x开平方根。 X>=0

( 2 )取整函数 Int 。格式: Int(x)

求不大于 x 的最大整数。 Int 不进行四舍五入。如:Print Int(-3.4), Int(3.8), 显示: -4 3

( 3 )取整函数 Fix 。格式: Fix(x)

求 x 的整数部分。 Fix 也不进行四舍五入。如:Print Fix(-3.4), Fix(3.8) , 显示: -3 3

Page 26: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程26

( 4 )四舍五入函数 Round 。 格式: Round(x1 [,x2])

省略 x2(>=0) 时表示四舍五入取整。它将 x1 四舍五入保留小数 x2 位。如:Print Round(12.455, 2), Round(-12.57), Round(12.34, 1)显示: 12.46 -13 12.3

Page 27: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程27

( 5 )绝对值函数 Abs 。格式: Abs(x)

该函数求出 x 的绝对值。如: Abs(-25) 的值为:25 。

( 6 )正弦函数 Sin 。格式: Sin(x)

该函数用于求 x 的正弦值。参数一律采用弧度。如 sin90° 的 VB 函数表达式应为 Sin(3.1415926/2) 。

Page 28: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程28

( 7 )随机函数 Rnd 。使用格式为: Rnd[(x)]

返回一个随机 Single型数,范围在 (0,1)之间。参数 x 决定了产生随机数的方法。如果 x<0 时,相同 x将得到相同的值。当 x=0 时将得到最近出现过的随机数。

Page 29: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程29

x默认或 x>0 ,将产生下一个随机数。例如:Print Rnd(-1), Rnd(-2), Rnd(0), Rnd(-1), Rnd(0) ,Rnd.224007 .7133257 .7133257 .224007 .224007 .7055475

例如随机给出两位数 A 和 B ,可用 :

A = Int(Rnd * 90 + 10):B = Int(Rnd * 90) + 10

产生随机数种的语句格式为: Randomize

Page 30: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程30

( 8)转换函数 Val()。格式: Val(x$)

将参数对应的字符串值中的最前部的数字字符转换为数值。如: Print Val(“ 12.3abc”), Val(“-12.367.8abc”), Val(“abc123”) 显示: 12.3 -12.367 0

( 9 )颜色函数 QBColor 。格式: QBColor(x)

根据 x 的值产生一种颜色,其中 0 ≤x ≤ 15

QBColor(0) 为黑色, QBColor(15) 为白色。例如: Form1.BackColor = QBColor(12)

Page 31: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程31

( 10 )颜色函数 RGB 。格式: RGB(x1,x2,x3)该函数将根据 x1 、 x2 和 x3 的值产生一种颜色。各参数范围一般应为 0~255 。可表示 224 种颜色。

x1 表示红色成分x2 表示绿色成分x3 表示蓝色成分。

部分颜色可用颜色常量或颜色值 (3 个字节 ) ,如:vbBlack &H0 黑

Form1.BackColor = RGB(255, 0, 0) Form1.ForeColor = RGB(255, 255, 0)

Page 32: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程32

3.4.5 常用函数举例——与 Print相关的定位函数这类函数后面往往采用分号“ ;”间隔符。( 1 )输出绝对定位函数 Tab 。格式: Tab(x)该函数表示将输出位置定位到第 x列。如果位置已超过 x列,则定位下一行的第 x列。( 2 )输出相对定位函数 Spc 。格式: Spc(x)输出位置从当前位置开始,空出 x列。

Page 33: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程33

3.4.5 常用函数举例【例 3-2 】在 Form_Click 内完成求平行四边形的面积。面积公式: S=absin t。 a、 b为边长,t为夹角,使用角度。要求结果保留小数两位

本题使用多个函数:用 InputBox 函数输入 a、 b和 t,用 Val 函数把它们转换成数值类型用 Sin 函数计算面积用 Round 函数对面积值进行四舍五入。

本例程序按顺序依次执行

Page 34: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程34

3.4.5 常用函数举例 - 求梯形面积Private Sub Form_Click()

Const PI = 3.1415926 ' 用于设置符号常量 Dim A As Single, B As Single, T As Single, S As Single A = Val(InputBox("请输入边长 a ")) B = Val(InputBox("请输入边长 b ")) T = Val(InputBox("请输入角度 t ")) S = Round(A * B * Sin(T * PI / 180), 2) Print "a= "; A, "b= "; B, "t="; T, "S= "; S

End Sub运行结果:当启动窗体后,单击窗体,然后分别输入 15 、 40 、35 ,窗体上显示为:

Page 35: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程35

VB 的有两类控件:工具箱中的常用控件通过 “部件”的控件。——“ ActiveX 控件”

本节介绍最常用的控件:命令按钮标签文本框滚动条定时器

VB 控件有 ( 名称 ) 属性,大多部分有 Caption 、 Top 、 Left 、 Height 、 Width 、 Font 、 Visible 、Enabled 等属性,含义基本相同

Page 36: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程36

3.5.1 命令按钮 CommandButton

是用户与应用程序交互的最简便方法往往使用单击命令按钮来执行指定的操作。1 .创建命令按钮方法一: 工具箱内选取命令按钮,然后在窗体上拖曳鼠标就可以画出一个命令按钮方法二:双击工具箱内的命令按钮

2 .命令按钮的事件命令按钮的主要事件是 Click 。

Page 37: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程37

3 .命令按钮的属性Caption :标题,字符型。默认值为 Command1( 名称 ) : Name 名称,字符型。默认值为 Comm

and1Enabled :是否有效,布尔型。Visible :是否可见,布尔型。Style :按钮显示方式, 0 表示文字, 1 表示图形。Picture :按钮显示的图形。它要求属性 Style值

应为 1 。

Page 38: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程38

说明:注意(名称)和 Caption 的区别。

(名称)是程序使用的标识符。 Caption是界面显示的文字

(名称)设置后,程序中所有用到该对象的地方,对象名都要用设置的名称,原默认名称无效。

设置快捷键:可在 Caption 属性中加上“ &” 。例如: Caption 设置为“ E&xit”或“ Exit[&

x]”

Page 39: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程39

【例 3-3 】窗体上设计 2 个图形命令按钮,它们分别用于显示信息和结束程序,如图。若用户在命令按钮外单击,用消息框提示“不要点错位置”。

主要属性设置两个命令按钮:

Caption :空; Style : 1;Picture :选择图形文件

窗体 Form1

Caption :显示

Page 40: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程40

3.5.1 命令按钮—图案按钮举例程序代码如下 :

Private Sub Command1_Click() Print "Hello!"End SubPrivate Sub Command2_Click() EndEnd SubPrivate Sub Form_Click() ' 按钮外单击提示 MsgBox " 不要点错位置 ", vbCritical, "警告 "End Sub

Page 41: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程41

3.5.2 标签 Label

用来显示用户不能直接改变的文本:用作标注其他控件用作程序代码执行时显示程序结果等信息

1 .创建标签创建标签使用工具箱中的标签。

Page 42: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程42

2 .标签的常用属性Caption :标题,即显示的文本。默认值为 Label1 。(名称) Name 。设置标签名称。默认值为 Label1AutoSize :设置标签是否根据显示内容自动改变大小

Backstyle :设置标签透明背景Borderstyle :设置标签边框WordWrap :设置标签内的文字自动换行,布尔型。Alignment :设置标签显示的对齐方式

Page 43: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程43

说明:Label1 中,第 5 个是小写字母 l ,最后一个是数字 1

设置 WordWrap 为 True 时,此时应把 AutoSize 设为True ,否则除非标签有足够的高度。

标签也有一些事件,但不常用。

Page 44: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程44

3.5.3 文本框 TextBox

处理字符类型数据文本框控件的功能非常强大,在控件中可以:

输入文本、编辑文本和输出文本被程序用来读取和显示信息

1 .创建文本框在工具箱内选取文本框工具

Page 45: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程45

2 .文本框的主要属性(名称): Name 。字符型。默认值为 Text1

Text :文本框显示的内容,字符型。默认值 Text1 。

它是文本框最重要的属性Locked :选择文本框是否允许编辑,布尔型。SelStart :选中文本的起始位置,或插入点位置

如: Text1. SelStart=0

Page 46: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程46

SelLength :文本框内被选中文本的长度,数值类型。

SelText :文本框内被选中的文本,字符型MaxLength :设置文本框中能输入的最大字符数MultiLine :是否能多行显示Scrollbars :设置文本框加滚动条。与MultiLine

有关PasswordChar :设置输入文本的特殊显示字符。

如 *

Page 47: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程47

说明:文本框没有 Caption 属性。SelStart 、 SelLength 、 SelText 属于文本

编辑属性,只能在程序中设置。3 .文本框的方法

主要方法是设置焦点的 SetFocus方法。格式:文本框名称 .SetFocus

Page 48: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程48

4 .文本框的事件有 Click 、 DblClick 等鼠标事件还常用:

Change 事件:在文本框内容发生改变时触发。KeyPress 事件:它在用户按任意键时触发

Page 49: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程49

【例 3-4 】改写例 3-1 ,启动窗体后,用户在 Text1 内输入摄氏温度的同时, Text2立即自动显示对应的华氏温度。要求 Text2 不能输入数据。说明:

Text2 不能输入数据,可设置 Enabled或 Locked 属性。边输入边计算显示,应编写 Text1 的 Change 事件过程Form_Load同例 3-1 ,其它程序代码如下:Private Sub Text1_Change() Dim C As Single, F As Single C = Val(Text1.Text) F = 9 * C / 5 + 32 Text2.Text = FEnd Sub

Page 50: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程50

剪贴板对象的使用剪贴板不是 VB 的控件,它是 Windows 部件它能够和文本框合用,制作简单的文本编辑器。剪贴板对象的名称是 Clipboard ,常用方法有:

( 1 ) Clear :清除剪贴板中的内容。( 2 ) GetText :返回剪贴板上的所有字符。( 3 ) SetText :将字符串送入剪贴板

Page 51: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程51

Clipboard.Clear

清除剪贴板原有的内容;Clipboard.SetText Text1.SelText

将文本框 Text1 中选择的内容送入剪贴板;Text1.SelText = Clipboard.GetText

将剪贴板的内容放入文本框 Text1 中插入点所在位置,或替换文本框中当前已选中的文字。

Page 52: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程52

3.5.4 滚动条(VscrollBar 和 HscrollBar)

滚动条可用于滚动显示窗口内容。滚动条还可作为模糊输入数值的输入装置。VB 工具箱内提供了垂直和水平两种滚动条。

Page 53: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程53

1 .创建滚动条在工具箱内选取滚动条工具按钮。

2 .滚动条控件的常用属性(名称): Name 名称。垂直 VScroll1 ,水平 HScroll1

Value :滚动条当前值。位于属性 Min 和 Max 的值之间Min :滚动条最小值。应大于等于 -32768

Max :滚动条最大值。应小于等于 32767

SmallChange :单击滚动箭头时的改变量LargeChange :单击滚动块与滚动箭头间的任意位置,滚动条值的改变量

Page 54: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程54

3 .滚动条控件的事件主要是 Change 事件和 Scroll 事件。( 1 ) Change 事件。

当滚动块在滚动条上移动时,其 Value值发生变化,出现 Change 事件。

( 2 ) Scroll 事件。当鼠标拖动滚动块时发生。

Page 55: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程55

【例 3-5 】编写一个利用滚动条来显示颜色的程序,如图。说明:颜色使用 RGB 函数用 3 个滚动条分别表示 RGB红、绿、蓝颜色成份

( 3 个参数)的变化。滚动条的 Change 事件:将滚动块变化时的相应的颜色将反映在文本框中

6 个标签:表示各滚动条的颜色和值

Page 56: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程56

属性设置:滚动条的 Max : 255 , SmallChange : 1

0; LargeChange : 20

其它对象的 Caption 属性值如图。

Page 57: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程57

程序代码如下:Private Sub HScroll1_Change() '红 Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, _

HScroll3.Value) Label4.Caption = HScroll1.ValueEnd SubPrivate Sub HScroll2_Change() '绿 Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, _

HScroll3.Value) Label5.Caption = HScroll2.ValueEnd SubPrivate Sub HScroll3_Change() '蓝 Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, _

HScroll3.Value) Label6.Caption = HScroll3.ValueEnd Sub

Page 58: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程58

专门用于时间控制的控件,又称计时器控件。可以有规律地间隔一段时间触发一次定时事件,从而

执行一次代码以实现某种有时间规律的操作。时间间隔由 Interval 属性决定例如可以显示时间,可以控制打字速度,可以制作

有动态效果的程序等。每个定时器必须依附在窗体上用户可以在窗体上建立多个定时器。定时器控件在程序运行时是不可见的定时器没有大小。

Page 59: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程59

1 .创建定时器在工具箱内选取定时器控件

2 .定时器的常用属性(名称): Name 。定时器的名称。默认值为 Ti

mer1

Interval :设定定时器的时间间隔,单位毫秒,即1/1000 秒,最大 65536 。

它是定时器控件最主要的属性。默认为0 ,定时器不工作

Enabled :是否让定时器工作。默认值为 True 。

Page 60: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程60

3 .定时器的事件定时器事件只有一个,即 Timer 事件:

Timer 事件有规律地隔一段时间(由Interval 决定)触发一次 1

Page 61: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程61

【例 3-6 】设计一个显示当前时钟的程序,如图。因文本框只显示信息, Enabled 属性可为 False;时钟 1 秒钟变化一次,定时器 Interval值为 1000 。程序非常简单,代码如下。

Private Sub Timer1_Timer() ' 每隔 1 秒钟运行 1次 Text1.Text = Time 'Time 是 VB 内部函数,End Sub赋值时, VB 自动将日期型数据转换成与赋值左边变量或属性类型一致的数据

Page 62: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程62

3.7.1 程序错误的种类和产生的原因调试过程就是一个发现错误并纠正错误的过程。VB 程序错误分三类

编译错误代码不符合语法格式要求,如语句不完整,参数个数不符等

可根据错误信息纠正编译错误

Page 63: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程63

逻辑错误一般是指程序能运行,但运行结果不正确。这类错误只有通过分析程序,才能发现问题所在,

如公式错。运行错误

一般是执行了不能执行的操作而引起的。如分母为零

可根据提示错误信息,进入调试,找出错误所在处。

为减少错误,编程时可采用一定的措施,如使用 Option Explicit 语句

Page 64: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程64

3.7.2 调试程序 VB 中常用的调试方法有:设置断点、单步执行、查看中间运行结果等。

1 .设置断点设置断点方式:在代码窗口左侧的“边界标识条”中该

行对应的位置处单击;程序运行设置了断点 (Break Point) 的代码行时,在执行

该代码之前停止运行,进入中断模式。进入中断模式后,当前行指示器指示程序暂停在该行。

这时可以在代码窗口或“立即窗口”检查程序状态。

Page 65: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程65

2 .单步执行单步 (Step) 执行可以功能键 F8 。每按一次 F8 ,程序就执行一行,执行指示器就指向下一行。

单步执行,可以监视变量,还可以跟踪程序流程。特别是分支和循环程序。

Page 66: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程66

3 .查看中间运行结果中断和单步方式都可以在程序暂停状态下查看中间

运行结果:使用立即窗口程序中添加 Print 语句使用 VB 的 Tip 显示当前变量的值。

Page 67: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程67

另一种查看程序中间结果的方法是使用监视窗口在程序运行过程中,监视窗口中的表达式值随之变化。添加监视的方法:

在代码编辑器中使用快捷菜单 “添加监视”命令

选择调试代码所在的模块和过程输入要监视值的表达式。

Page 68: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程68

【例 3-7 】已知三角形的三条边长a、 b 、 c ,求面积。公式为:

其中: s=(a+b+c)/2要求a、 b 、 c来自文本框用 Msgbox显示面积 (保留小数两位 )。label4 在运行中临时显示 a+b-c 、 b+c-a、 a+

c-b 的值Command1用于计算, Command2 用于退出定时器用于在窗体标题上显示当前的时间。

))()(( csbsassArea

Page 69: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程69

分析:能构成三角形时才有意义,可在显示 a+b-c 、

b+c-a、 a+c-b值后,加上 Stop 语句,或使用断点,进行观察。

))()(( csbsassArea

Page 70: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程70

求三角形面积Private Sub Form_Load() ' 设置属性 Text1.Text = "": Text2.Text = "": Text3.Text = "“ Label1.Caption = ”a=“: Label2.Caption = “b=”: Label3.Caption = “c=” Label4.Caption = “” : Timer1.Interval = 1000 Command1.Caption = “ 计算” : Command2.Caption = “ 退出” Form1.Caption = “ 三角形面积计算 ” & TimeEnd Sub

Private Sub Timer1_Timer() Form1.Caption = " 三角形面积计算 " & TimeEnd Sub

Page 71: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程71

Private Sub Command1_Click() ' 求面积 Dim A As Single, B As Single, C As Single,S As Single, Area As Single A = Val(Text1.Text): B = Val(Text2.Text): C = Val(Text3.Text) Label4.Caption = "a+b-c 、 b+c-a 、 a+c-b=" & _ A + B - C & " 、 " & B + C - A & " 、 " & A + C - B Stop ‘ 程序暂停,编程者可以查看三角形数据 Label4.Caption = “” ’ 若能构成三角形,则去掉刚才显示的临时数据 S = (A + B + C) / 2 : Area = Sqr(S * (S - A) * (S - B) * (S - C)) MsgBox “ 三角形面积是:” & Round(Area, 2), , “ 面积”End SubPrivate Sub Command2_Click() End ' 结束End Sub

Page 72: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程72

【例 3-8 】用定时器控件定时刷新标签中的文字,产生文字的动态变化。文字的字号在 10 到 32之间,颜色为 QBColor 函数值所具有的颜色。如图。

Page 73: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程73

分析:设置标签的 AutoSize 为 True ,以适合文字大小变

化动态设置标签的 Left ,使文字始终显示在中间。字号和 QBColor 函数的参数值不确定,可用函数 R

ND 。Timer1 的 Interval 设为 300; Enabled 设为 FalseLabel1 的 Caption 设为 You are a good student. Command1~3 的 Caption 分别为:开始、停止、结

Page 74: 第 3 章  设计顺序结构程序

Visual Basic 程序设计教程74

文字大小颜色动态变化程序代码如下:Private Sub Command1_Click() '开始按钮 Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click() '停止按钮 Timer1.Enabled = FalseEnd SubPrivate Sub Command3_Click() ' 结束按钮 EndEnd SubPrivate Sub Timer1_Timer() Label1.ForeColor = QBColor(Int(Rnd * 16)) " 用产生的颜色变化 Label1.FontSize = Int(Rnd * 23) + 10 '产生字号变化 Label1.Left = (Form1.Width - Label1.Width) / 2 ' 文本显示在窗体中间End Sub由于颜色的改变和字的忽大忽小,使人感觉到它在动态变化