
滚动条计时器和循环程序.ppt
32页第第6章章 滚动条、计时器和循环程序滚动条、计时器和循环程序 第第6章章 滚动条、计时器和循环程序滚动条、计时器和循环程序n教教学学提提示示::在上一章中,我们对分支结构程序设计进行了介绍为了使编写的代码重复执行,要使用循环结构程序或计时器本章将介绍循环程序设计、滚动条和计时器的使用循环结构程序设计是用程序结构控制代码重复执行,计时器是用计算机内部时钟控制代码重复执行滚动条用于输入、输出数据,也用于与那些不支持滚动的控件配合使用,给它们提供滚动观察的功能学习中要注意滚动条和计时器的特殊属性和循环程序设计的基本思想 n教教学学目目标标::要掌握For…Next循环结构、顶部判断型Do…Loop循环结构、底部判断型Do…Loop循环结构和循环的嵌套;掌握滚动条和计时器的主要属性和使用方法 第第6章章 滚动条、计时器和循环程序滚动条、计时器和循环程序 n6.1 认识滚动条、计时器和循环程序认识滚动条、计时器和循环程序 n6.2 循环结构循环结构 n6.3 滚动条和计时器控件滚动条和计时器控件 n6.4 综合运用综合运用 6.1 认识滚动条、计时器和循环程序认识滚动条、计时器和循环程序n计计时时器器控控件件常常用用于于提提供供固固定定时时间间间间隔隔的的中中断断,,以以便便执执行行特特定定的的事事件件过过程程;;滚滚动动条条控控件件用用于于输输入入数数据据或或显显示示数数据据的的变变化化,,也也用用于于与与那那些些不不支支持持滚滚动动的的控控件件配配合合使使用用,,给给他他们们提提供供滚滚动动观察的功能。
循环程序结构是利用程序控制代码重复执行观察的功能循环程序结构是利用程序控制代码重复执行 n引引例例6.1 带滚动条的九九表带滚动条的九九表 设设计计一一个个窗窗体体,,在在窗窗体体上上添添加加一一个个滚滚动动条条和和一一个个计计时时器器运运行行程程序序并并单单击击【【输输出出】】命命令令按按钮钮,,随随着着滚滚动动条条滑滑块块的的移移动动输输出九九表出九九表 6.2 循环结构循环结构 n6.2.1 For6.2.1 For…NextNext结构结构n6.2.2 Do6.2.2 Do…LoopLoop结构结构n6.2.3 6.2.3 循环的嵌套循环的嵌套 6.2.1 For6.2.1 For…NextNext结构结构For…Next结构在程序中可以实现固定次数的循环For…Next结构的格式如下: For 循环变量 = 初值 To 终值 [Step 步长] 循环体 [Exit For] Next 循环变量 步长可为正整数或负整数,当步长是正整数执行过程如下:① 初值赋给循环变量② 将循环变量的值和终值比较,若小于或等于则执行③,否则执行⑥。
③ 执行循环体④ 执行Next语句,将循环变量的值增加一个步长⑤ 转向执行②⑥ 执行Next语句后面的语句,即退出循环当步长是负整数执行过程如下:①初值赋给循环变量②将循环变量的值和终值比较,若大于或等于则执行③,否则执行⑥③执行循环体④执行Next语句,将循环变量的值增加一个步长⑤转向执行②⑥执行Next语句后面的语句,即退出循环 n在在For语语句句中中初初值值、、终终值值和和步步长长为为循循环环参参数数,,他他们们都都可可以以是是数数值值表表达达式式,,若若省省略略Step选选项项,,默默认认步步长长为为1循循环环变变量量是是数值变量,是循环计数器数值变量,是循环计数器nFor循环执行次数为:循环执行次数为:(终值-初值终值-初值)\ 步长步长 + 1 Exit For的作用是退出循环是可选项,当执行的作用是退出循环是可选项,当执行Exit For语句语句时跳出本层时跳出本层For循环结构,执行循环结构,执行Next的下一个语句的下一个语句 n例6.2 计算输入的5个数之和 设计一个窗体,在窗体上添加两个命令按钮运行程序时,单击【计算】,程序将弹出输入对话框,要求输入数据,每次输入1个数,输入5个数之后,将在窗体输出5个数之和。
若单击【退出】,结束程序运行 6.2.2 Do…Loop结构 1. Do While…Loop形式 Do While 逻辑表达式 循环体 [Exit Do] Loop Do While…Loop形式执行过程如下① 计算逻辑表达式的值,若值为True,执行②;否则,执行④ ② 执行循环体③ 转向执行①④ 执行Loop后面的语句,即退出Do While…Loop循环 在该形式中,当逻辑表达式的值为True时执行循环体,直到逻辑表达式的值为False时终止循环 Exit Do的作用是退出循环Exit Do是可选项,Exit Do语句用来跳出本层Do循环,一般与If语句配合使用 2. Do Until…Loop形式 Do Until 逻辑表达式 循环体 [Exit Do] Loop Do Until…Loop形式执行过程如下① 计算逻辑表达式的值,若值为False,执行②;否则,执行④ ② 执行循环体③ 转向执行①④ 执行Loop后面的语句,即退出Do Until…Loop循环。
使用Until关键字是当条件为False时执行循环体,直到当条件为True时终止循环Exit Do是可选项,Exit Do的作用是退出循环 3. Do … Loop While形式 Do 循环体 [Exit Do] Loop While 逻辑表达式 Do…Loop While形式执行过程如下① 执行循环体② 计算逻辑表达式的值,若值为True,转向执行①;否则,执行③③ 执行Loop While后面的语句,即退出Do…Loop While循环 该形式不进行任何检查便执行循环体,每次执行循环体后,检查逻辑表达式的值,若值为True时再次执行循环体,直到逻辑表达式的值为False时终止循环 Exit Do的作用是退出循环Exit Do是可选项,Exit Do语句用来跳出本层Do循环,一般与If语句配合使用 4. Do … Loop Until形式 Do 循环体 [Exit Do] Loop Until 逻辑表达式 Do…Loop Until 形式执行过程如下。
①执行循环体②计算逻辑表达式的值,若值为False,转向执行①;否则,执行③③执行Loop Until后面的语句,即退出Do…Loop Until循环该形式不进行任何检查便执行循环体,每次执行循环体后,检查逻辑表达式的值,若值为False时再次执行循环体,直到逻辑表达式的值为True时终止循环Exit Do的作用是退出循环Exit Do是可选项,Exit Do语句用来跳出本层Do循环,一般与If语句配合使用 5. Do … Loop 形式形式 Do 循环体循环体 [Exit Do] Loop n例例6.3 求两个大写字母求两个大写字母A之间的子串之间的子串 设计一个窗体,在窗体上添加两个命令按钮运行程序时,设计一个窗体,在窗体上添加两个命令按钮运行程序时,单击【开始】,程序将弹出输入对话框,要求输入一串字符单击【开始】,程序将弹出输入对话框,要求输入一串字符(假定输入的字符串中含有两个大写字母假定输入的字符串中含有两个大写字母A),输入后,将在,输入后,将在窗体输出首次出现两个大写字母窗体输出首次出现两个大写字母A之间的子串若单击【退之间的子串。
若单击【退出】,结束程序运行出】,结束程序运行 6.2.3 循环的嵌套 循环的嵌套也称多重循环下面代码是双重循环输出九九表的例子 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 这是一个双重循环,从For i = 1 To 9语句到Next i语句是外循环,从For j = 1 To 9语句到Next j语句是内循环 双重循环的一般执行过程为:① 为外循环控制变量赋初值本例中i的初值等于1② 用i与终值比较,如果超过终值,则结束循环,执行Next i语句下面的可执行语句如果未超过,则执行 ③③ 执行外循环体当执行到内循环的For j = 1 To 9语句时,为内循环控制变量j赋初值本例中j的初值等于1④ 用j与终值比较,如果超过终值则结束内循环,接着执行内循环终端语句的下一个语句。
如果未超过终值,则执行 ⑤⑤ 执行内循环体,执行到Next j语句时,使内循环控制变量j按步长增值⑥ 转向执行 ④,即重复 ④ 到 ⑥,直到j超过终值,执行Next j的下一语句⑦ 执行完外循环的Next i后,使外循环控制变量i按步长增值⑧ 转向执行 ②,即重复 ②到 ⑧,直到i超过终值,执行Next i的下一语句结束外循环 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 是不允许的是不允许的(交叉循环交叉循环) ) 6.3 滚动条和计时器控件滚动条和计时器控件 n滚动条控件用于输入数据或显示数据的变化,也用于与那些滚动条控件用于输入数据或显示数据的变化,也用于与那些不支持滚动的控件配合使用,给他们提供滚动观察的功能。
不支持滚动的控件配合使用,给他们提供滚动观察的功能计时器控件常用于提供固定时间间隔的中断,以便执行特定计时器控件常用于提供固定时间间隔的中断,以便执行特定的事件过程的事件过程 滚动条和计时器控件滚动条和计时器控件 n6.3.1 计时器控件计时器控件n6.3.2 滚动条控件滚动条控件 6.3.1 6.3.1 计时器控件计时器控件计时器控件计时器控件n计时器控件(Timer)在工具箱的图标是 计时器控件也称定时器或时钟,他是按一定时间间隔自动触发事件的控件,使用计时器可定时重复执行时钟中断过程在程序运行时,计时器是不可见的 计时器的属性1. Interval属性属性设定计时器触发Timer事件的时间间隔,即两个计时器中断事件之间的时间间隔,其值以毫秒(0.001秒)为单位,允许范围是0~65,535该控件会自动检查系统时间是否又到Interval属性值,到了便产生Timer事件,执行时钟中断过程当Interval属性值为0时屏蔽计时器,使计时器不再产生Timer事件2. 名称和其他属性名称和其他属性系统的默认名称为Timer1、Timer2等和行为有关的重要属性有Enabled,当Enabled为False时,计时器同样不再产生Timer事件。
n 计时器的事件计时器的事件计计时时器器控控件件的的常常用用事事件件是是Timer事事件件,,是是计计时时器器在在间间隔隔了了一一个个Interval时间后所触发的事件时间后所触发的事件n例例6.4 倒计数倒计数 设计一个窗体,在窗体上添加两个标签和一个计时器运行设计一个窗体,在窗体上添加两个标签和一个计时器运行程序时,自动开始倒计数,从程序时,自动开始倒计数,从10到到0每隔一秒倒计数一次,每隔一秒倒计数一次,计数时在两个标签中分别显示系统当前时间和倒计数的值计数时在两个标签中分别显示系统当前时间和倒计数的值 6.3.2 6.3.2 6.3.2 6.3.2 滚动条控件滚动条控件滚动条控件滚动条控件 n滚动条控件分为水平滚动条和垂直滚动条,在工具箱的 图标分别是 和 n滚动条控件用于输入数据,也用于与那些不支持滚动的控件配合使用,给他们提供滚动观察的功能 滚动条的属性滚动条的属性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. 名称和其他属性名称和其他属性 水平滚动条系统的默认名称为水平滚动条系统的默认名称为HScroll1、、HScroll2等,垂直滚动等,垂直滚动条系统的隐含名称为条系统的隐含名称为VScroll1、、VScroll2等和滚动条位置有关等和滚动条位置有关的属性有的属性有Height、、Left、、Top和和Width;和滚动条行为有关的主;和滚动条行为有关的主要属性有要属性有Enabled、、Visible、、TabIndex等。
等 滚动条的事件滚动条的事件 滚动条控件常用的事件有Scroll和Change 当拖动滚动条滑块时触发Scroll事件,当单击滚动条两端箭头时或单击滚动条的空白位置时,触发Change事件拖动滚动条滑块结束时,也触发Change事件 6.4 综综 合合 运运 用用 例6.6 用餐人数组合 一家30个人到小饭馆用餐,其中有男人、女人和小孩每个男人花3元,每个女人花2元,每个小孩花1元一共花去50元问男人、女人和小孩各有几人? 例6.7 1616进制转换成1010进制 设计一个窗体,在窗体上添加两个标签、两个文本框和两个命令按钮运行程序时,在Text1中输入一个十六进制数,单击【转换】在text2中输出与其对应的十进制数 例6.8 庆祝中国载人航天的成功 设计一个窗体,在窗体上添加两个标签、一个文本框和一个水平滚动条运行程序时,文本框中的汉字随时间而改变颜色,改变水平滚动条滑块位置会改变颜色变化的频率,颜色取红、绿和蓝三色。












