《第6章滚动条、计时器和循环程序.ppt》由会员分享,可在线阅读,更多相关《第6章滚动条、计时器和循环程序.ppt(32页珍藏版)》请在优知文库上搜索。
1、(时间:2次课,4学时)n教学提示:教学提示:在上一章中,我们对分支结构程序设计进行了介绍。为了使编写的代码重复执行,要使用循环结构程序或计时器。本章将介绍循环程序设计、滚动条和计时器的使用。循环结构程序设计是用程序结构控制代码重复执行,计时器是用计算机内部时钟控制代码重复执行。滚动条用于输入、输出数据,也用于与那些不支持滚动的控件配合使用,给它们提供滚动观察的功能。学习中要注意滚动条和计时器的特殊属性和循环程序设计的基本思想。n教学目标:教学目标:要掌握ForNext循环结构、顶部判断型DoLoop循环结构、底部判断型DoLoop循环结构和循环的嵌套;掌握滚动条和计时器的主要属性和使用方法。
2、n6.1 认识滚动条、计时器和循环程序认识滚动条、计时器和循环程序 n6.2 循环结构循环结构 n6.3 滚动条和计时器控件滚动条和计时器控件 n6.4 综合运用综合运用 n计时器控件常用于提供固定时间间隔的中断,以便执行特计时器控件常用于提供固定时间间隔的中断,以便执行特定的事件过程;滚动条控件用于输入数据或显示数据的变定的事件过程;滚动条控件用于输入数据或显示数据的变化,也用于与那些不支持滚动的控件配合使用,给他们提化,也用于与那些不支持滚动的控件配合使用,给他们提供滚动观察的功能。循环程序结构是利用程序控制代码重供滚动观察的功能。循环程序结构是利用程序控制代码重复执行。复执行。n引引例例
3、6.1 带滚动条的九九表。带滚动条的九九表。设计一个窗体,在窗体上添加一个滚动条和一个计时器。运设计一个窗体,在窗体上添加一个滚动条和一个计时器。运行程序并单击行程序并单击【输出输出】命令按钮,随着滚动条滑块的移动命令按钮,随着滚动条滑块的移动输出九九表。输出九九表。n6.2.1 For6.2.1 ForNextNext结构结构n6.2.2 Do6.2.2 DoLoopLoop结构结构n6.2.3 6.2.3 循环的嵌套循环的嵌套 ForNext结构在程序中可以实现固定次数的循环。ForNext结构的格式如下:For 循环变量=初值 To 终值 Step 步长 循环体 Exit For Nex
4、t 循环变量步长可为正整数或负整数,当步长是正整数执行过程如下:初值赋给循环变量。将循环变量的值和终值比较,若小于或等于则执行,否则执行。执行循环体。执行Next语句,将循环变量的值增加一个步长。转向执行。执行Next语句后面的语句,即退出循环。当步长是负整数执行过程如下:初值赋给循环变量。将循环变量的值和终值比较,若大于或等于则执行,否则执行。执行循环体。执行Next语句,将循环变量的值增加一个步长。转向执行。执行Next语句后面的语句,即退出循环。n在在For语句中初值、终值和步长为循环参数,他们都可以是语句中初值、终值和步长为循环参数,他们都可以是数值表达式,若省略数值表达式,若省略St
5、ep选项,默认步长为选项,默认步长为1。循环变量是。循环变量是数值变量,是循环计数器。数值变量,是循环计数器。nFor循环执行次数为:循环执行次数为:(终值初值终值初值)步长步长+1。Exit For的作用是退出循环。是可选项,当执行的作用是退出循环。是可选项,当执行Exit For语句语句时跳出本层时跳出本层For循环结构,执行循环结构,执行Next的下一个语句。的下一个语句。n例6.2计算输入的5个数之和设计一个窗体,在窗体上添加两个命令按钮。运行程序时,单击【计算】,程序将弹出输入对话框,要求输入数据,每次输入1个数,输入5个数之后,将在窗体输出5个数之和。若单击【退出】,结束程序运行。
6、1.DoWhileLoop形式 Do While 逻辑表达式 循环体 Exit Do LoopDoWhileLoop形式执行过程如下。计算逻辑表达式的值,若值为True,执行;否则,执行。执行循环体。转向执行。执行Loop后面的语句,即退出DoWhileLoop循环。在该形式中,当逻辑表达式的值为True时执行循环体,直到逻辑表达式的值为False时终止循环。ExitDo的作用是退出循环。ExitDo是可选项,ExitDo语句用来跳出本层Do循环,一般与If语句配合使用。2.DoUntilLoop形式 Do Until 逻辑表达式 循环体 Exit Do LoopDoUntilLoop形式执行
7、过程如下。计算逻辑表达式的值,若值为False,执行;否则,执行。执行循环体。转向执行。执行Loop后面的语句,即退出DoUntilLoop循环。使用Until关键字是当条件为False时执行循环体,直到当条件为True时终止循环。ExitDo是可选项,ExitDo的作用是退出循环。3.DoLoopWhile形式 Do 循环体 Exit Do Loop While 逻辑表达式DoLoopWhile形式执行过程如下。执行循环体。计算逻辑表达式的值,若值为True,转向执行;否则,执行。执行LoopWhile后面的语句,即退出DoLoopWhile循环。该形式不进行任何检查便执行循环体,每次执行循
8、环体后,检查逻辑表达式的值,若值为True时再次执行循环体,直到逻辑表达式的值为False时终止循环。ExitDo的作用是退出循环。ExitDo是可选项,ExitDo语句用来跳出本层Do循环,一般与If语句配合使用。4.DoLoopUntil形式 Do 循环体 Exit Do Loop Until 逻辑表达式DoLoopUntil形式执行过程如下。执行循环体。计算逻辑表达式的值,若值为False,转向执行;否则,执行。执行LoopUntil后面的语句,即退出DoLoopUntil循环。该形式不进行任何检查便执行循环体,每次执行循环体后,检查逻辑表达式的值,若值为False时再次执行循环体,直到
9、逻辑表达式的值为True时终止循环。ExitDo的作用是退出循环。ExitDo是可选项,ExitDo语句用来跳出本层Do循环,一般与If语句配合使用。5.Do Loop 形式形式 Do 循环体循环体 Exit Do Loop n例例6.3 求两个大写字母求两个大写字母A之间的子串之间的子串 设计一个窗体,在窗体上添加两个命令按钮。运行程序时,设计一个窗体,在窗体上添加两个命令按钮。运行程序时,单击单击【开始开始】,程序将弹出输入对话框,要求输入一串字符,程序将弹出输入对话框,要求输入一串字符(假定输入的字符串中含有两个大写字母假定输入的字符串中含有两个大写字母A),输入后,将在,输入后,将在窗
10、体输出首次出现两个大写字母窗体输出首次出现两个大写字母A之间的子串。若单击之间的子串。若单击【退退出出】,结束程序运行。,结束程序运行。循环的嵌套也称多重循环。下面代码是双重循环输出九九表的例子。Private Sub Form_Click()Print Tab(18);九九表 Print Tab(18);=For i=1 To 9 For j=1 To 9 Print Tab(4*j-3);i*j;Next j Print Next iEnd Sub这是一个双重循环,从Fori=1To9语句到Nexti语句是外循环,从Forj=1To9语句到Nextj语句是内循环。双重循环的一般执行过程为:
11、为外循环控制变量赋初值。本例中i的初值等于1。用i与终值比较,如果超过终值,则结束循环,执行Nexti语句下面的可执行语句。如果未超过,则执行。执行外循环体。当执行到内循环的Forj=1To9语句时,为内循环控制变量j赋初值。本例中j的初值等于1。用j与终值比较,如果超过终值则结束内循环,接着执行内循环终端语句的下一个语句。如果未超过终值,则执行。执行内循环体,执行到Nextj语句时,使内循环控制变量j按步长增值。转向执行,即重复到,直到j超过终值,执行Nextj的下一语句。执行完外循环的Nexti后,使外循环控制变量i按步长增值。转向执行,即重复到,直到i超过终值,执行Nexti的下一语句。
12、结束外循环。n关于循环的嵌套,有以下一些规定:关于循环的嵌套,有以下一些规定:内循环必须完全嵌套在外循环体内,不得交叉。内循环必须完全嵌套在外循环体内,不得交叉。并列循环的循环控制变量可以同名,嵌套循环的循环控制变量不能同名。并列循环的循环控制变量可以同名,嵌套循环的循环控制变量不能同名。For i=1 To 9 Do While K 10 Loop Next I是允许的是允许的 For i=1 To 9 For j=1 To 9 Print Tab(4*j-3);i*j;Next i Print Next j 是不允许的是不允许的(交叉循环交叉循环)n滚动条控件用于输入数据或显示数据的变化,
13、也用于与那些滚动条控件用于输入数据或显示数据的变化,也用于与那些不支持滚动的控件配合使用,给他们提供滚动观察的功能。不支持滚动的控件配合使用,给他们提供滚动观察的功能。计时器控件常用于提供固定时间间隔的中断,以便执行特定计时器控件常用于提供固定时间间隔的中断,以便执行特定的事件过程。的事件过程。n6.3.1 计时器控件计时器控件n6.3.2 滚动条控件滚动条控件 6.3.1 计时器控件计时器控件n计时器控件(Timer)在工具箱的图标是。计时器控件也称定时器或时钟,他是按一定时间间隔自动触发事件的控件,使用计时器可定时重复执行时钟中断过程。在程序运行时,计时器是不可见的。计时器的属性1.Int
14、erval属性属性设定计时器触发Timer事件的时间间隔,即两个计时器中断事件之间的时间间隔,其值以毫秒(0.001秒)为单位,允许范围是065,535。该控件会自动检查系统时间是否又到Interval属性值,到了便产生Timer事件,执行时钟中断过程。当Interval属性值为0时屏蔽计时器,使计时器不再产生Timer事件。2.名称和其他属性名称和其他属性系统的默认名称为Timer1、Timer2等。和行为有关的重要属性有Enabled,当Enabled为False时,计时器同样不再产生Timer事件。n 计时器的事件计时器的事件计时器控件的常用事件是计时器控件的常用事件是Timer事件,是
15、计时器在间隔了一个事件,是计时器在间隔了一个Interval时间后所触发的事件。时间后所触发的事件。n例例6.4 倒计数倒计数 设计一个窗体,在窗体上添加两个标签和一个计时器。运行设计一个窗体,在窗体上添加两个标签和一个计时器。运行程序时,自动开始倒计数,从程序时,自动开始倒计数,从10到到0每隔一秒倒计数一次,每隔一秒倒计数一次,计数时在两个标签中分别显示系统当前时间和倒计数的值。计数时在两个标签中分别显示系统当前时间和倒计数的值。6.3.2 6.3.2 滚动条控件滚动条控件 n滚动条控件分为水平滚动条和垂直滚动条,在工具箱的图标分别是和。n滚动条控件用于输入数据,也用于与那些不支持滚动的控
16、件配合使用,给他们提供滚动观察的功能。滚动条的属性滚动条的属性1.Value1.Value属性属性Value属性标志滚动条的当前值(滚动滑块的位置),当滚动滑块的位置移动时,Value属性值也随之改变。在程序中也可以用代码设置,设置时滚动滑块的位置随之移动。其值为整型,范围应在Min和Max之间。2.Min2.Min属性属性滚动滑块在最小位置的值,其值为整型,范围应在-32768和32767之间。水平滚动条滚动滑块在最左边,垂直滚动条滚动滑块在最上边,是滚动滑块在最小位置的值。3.Max3.Max属性属性滚动滑块在最大位置的值,其值为整型,范围应在-32768和32767之间。水平滚动条滚动滑块在最右边,垂直滚动条滚动滑块在最下边,是滚动滑块在最大位置的值。4.SmallChange4.SmallChange属性属性当单击滚动条两端箭头时,Value值的改变量,其值为整型。5.LargeChange属性属性 当单击滚动条的空白位置时,当单击滚动条的空白位置时,Value值的改变量,其值为整型。值的改变量,其值为整型。6.名称和其他属性名称和其他属性 水平滚动条系统的默认名称为水平滚动条