《滚动条、计时器和循环程序》由会员分享,可在线阅读,更多相关《滚动条、计时器和循环程序(32页珍藏版)》请在金锄头文库上搜索。
1、http:/ 滚动条、计时器和循环程序滚动条、计时器和循环程序 (时间:2次课,4学时)http:/ 滚动条、计时器和循环程序滚动条、计时器和循环程序n教教学学提提示示:在上一章中,我们对分支结构程序设计进行了介绍。为了使编写的代码重复执行,要使用循环结构程序或计时器。本章将介绍循环程序设计、滚动条和计时器的使用。循环结构程序设计是用程序结构控制代码重复执行,计时器是用计算机内部时钟控制代码重复执行。滚动条用于输入、输出数据,也用于与那些不支持滚动的控件配合使用,给它们提供滚动观察的功能。学习中要注意滚动条和计时器的特殊属性和循环程序设计的基本思想。 n教教学学目目标标:要掌握ForNext循
2、环结构、顶部判断型DoLoop循环结构、底部判断型DoLoop循环结构和循环的嵌套;掌握滚动条和计时器的主要属性和使用方法。 http:/ 滚动条、计时器和循环程序滚动条、计时器和循环程序 n6.1 认识滚动条、计时器和循环程序认识滚动条、计时器和循环程序 n6.2 循环结构循环结构 n6.3 滚动条和计时器控件滚动条和计时器控件 n6.4 综合运用综合运用 http:/ 认识滚动条、计时器和循环程序认识滚动条、计时器和循环程序n计计时时器器控控件件常常用用于于提提供供固固定定时时间间间间隔隔的的中中断断,以以便便执执行行特特定定的的事事件件过过程程;滚滚动动条条控控件件用用于于输输入入数数据
3、据或或显显示示数数据据的的变变化化,也也用用于于与与那那些些不不支支持持滚滚动动的的控控件件配配合合使使用用,给给他他们们提提供供滚滚动动观察的功能。循环程序结构是利用程序控制代码重复执行。观察的功能。循环程序结构是利用程序控制代码重复执行。 n引引例例6.1 带滚动条的九九表。带滚动条的九九表。 设设计计一一个个窗窗体体,在在窗窗体体上上添添加加一一个个滚滚动动条条和和一一个个计计时时器器。运运行行程程序序并并单单击击【输输出出】命命令令按按钮钮,随随着着滚滚动动条条滑滑块块的的移移动动输输出九九表。出九九表。 http:/ 循环结构循环结构 n6.2.1 For6.2.1 ForNextN
4、ext结构结构n6.2.2 Do6.2.2 DoLoopLoop结构结构n6.2.3 6.2.3 循环的嵌套循环的嵌套 http:/ For6.2.1 ForNextNext结构结构ForNext结构在程序中可以实现固定次数的循环。ForNext结构的格式如下:For循环变量=初值To终值Step步长循环体ExitForNext循环变量步长可为正整数或负整数,当步长是正整数执行过程如下: 初值赋给循环变量。 将循环变量的值和终值比较,若小于或等于则执行,否则执行。 执行循环体。 执行Next语句,将循环变量的值增加一个步长。 转向执行。 执行Next语句后面的语句,即退出循环。http:/ h
5、ttp:/ 步长步长 + 1。 Exit For的作用是退出循环。是可选项,当执行的作用是退出循环。是可选项,当执行Exit For语句语句时跳出本层时跳出本层For循环结构,执行循环结构,执行Next的下一个语句。的下一个语句。 http:/ 计算输入的5个数之和 设计一个窗体,在窗体上添加两个命令按钮。运行程序时,单击【计算】,程序将弹出输入对话框,要求输入数据,每次输入1个数,输入5个数之后,将在窗体输出5个数之和。若单击【退出】,结束程序运行。 http:/ DoLoop结构 1. Do WhileLoop形式DoWhile逻辑表达式循环体ExitDoLoopDo WhileLoop形
6、式执行过程如下。 计算逻辑表达式的值,若值为True,执行;否则,执行。 执行循环体。 转向执行。 执行Loop后面的语句,即退出Do WhileLoop循环。 在该形式中,当逻辑表达式的值为True时执行循环体,直到逻辑表达式的值为False时终止循环。 Exit Do的作用是退出循环。Exit Do是可选项,Exit Do语句用来跳出本层Do循环,一般与If语句配合使用。 http:/ Do UntilLoop形式DoUntil逻辑表达式循环体ExitDoLoopDo UntilLoop形式执行过程如下。 计算逻辑表达式的值,若值为False,执行;否则,执行。 执行循环体。 转向执行。
7、执行Loop后面的语句,即退出Do UntilLoop循环。使用Until关键字是当条件为False时执行循环体,直到当条件为True时终止循环。Exit Do是可选项,Exit Do的作用是退出循环。 http:/ Do Loop While形式Do循环体ExitDoLoopWhile逻辑表达式DoLoop While形式执行过程如下。 执行循环体。 计算逻辑表达式的值,若值为True,转向执行;否则,执行。 执行Loop While后面的语句,即退出DoLoop While循环。 该形式不进行任何检查便执行循环体,每次执行循环体后,检查逻辑表达式的值,若值为True时再次执行循环体,直到逻
8、辑表达式的值为False时终止循环。 Exit Do的作用是退出循环。Exit Do是可选项,Exit Do语句用来跳出本层Do循环,一般与If语句配合使用。 http:/ Do Loop Until形式Do循环体ExitDoLoopUntil逻辑表达式DoLoop Until 形式执行过程如下。执行循环体。计算逻辑表达式的值,若值为False,转向执行;否则,执行。执行Loop Until后面的语句,即退出DoLoop Until循环。该形式不进行任何检查便执行循环体,每次执行循环体后,检查逻辑表达式的值,若值为False时再次执行循环体,直到逻辑表达式的值为True时终止循环。Exit D
9、o的作用是退出循环。Exit Do是可选项,Exit Do语句用来跳出本层Do循环,一般与If语句配合使用。 http:/ Do Loop 形式形式Do循环体循环体ExitDo Loop http:/ 求两个大写字母求两个大写字母A之间的子串之间的子串 设计一个窗体,在窗体上添加两个命令按钮。运行程序时,设计一个窗体,在窗体上添加两个命令按钮。运行程序时,单击【开始】,程序将弹出输入对话框,要求输入一串字符单击【开始】,程序将弹出输入对话框,要求输入一串字符(假定输入的字符串中含有两个大写字母假定输入的字符串中含有两个大写字母A),输入后,将在,输入后,将在窗体输出首次出现两个大写字母窗体输出
10、首次出现两个大写字母A之间的子串。若单击【退之间的子串。若单击【退出】,结束程序运行。出】,结束程序运行。 http:/ 循环的嵌套 循环的嵌套也称多重循环。下面代码是双重循环输出九九表的例子。PrivateSubForm_Click()PrintTab(18);九九表PrintTab(18);=Fori=1To9Forj=1To9PrintTab(4*j-3);i*j;NextjPrintNextiEndSub 这是一个双重循环,从For i = 1 To 9语句到Next i语句是外循环,从For j = 1 To 9语句到Next j语句是内循环。 http:/ 为外循环控制变量赋初值。
11、本例中i的初值等于1。 用i与终值比较,如果超过终值,则结束循环,执行Next i语句下面的可执行语句。如果未超过,则执行 。 执行外循环体。当执行到内循环的For j = 1 To 9语句时,为内循环控制变量j赋初值。本例中j的初值等于1。 用j与终值比较,如果超过终值则结束内循环,接着执行内循环终端语句的下一个语句。如果未超过终值,则执行 。 执行内循环体,执行到Next j语句时,使内循环控制变量j按步长增值。 转向执行 ,即重复 到 ,直到j超过终值,执行Next j的下一语句。 执行完外循环的Next i后,使外循环控制变量i按步长增值。 转向执行 ,即重复 到 ,直到i超过终值,执
12、行Next i的下一语句。结束外循环。 http:/ 内循环必须完全嵌套在外循环体内,不得交叉。内循环必须完全嵌套在外循环体内,不得交叉。 并列循环的循环控制变量可以同名,嵌套循环的循环控制变量不能同名。并列循环的循环控制变量可以同名,嵌套循环的循环控制变量不能同名。 Fori=1To9DoWhileK10LoopNextI是允许的是允许的 Fori=1To9Forj=1To9PrintTab(4*j-3);i*j;NextiPrintNextj是不允许的是不允许的(交叉循环交叉循环) )http:/ 滚动条和计时器控件滚动条和计时器控件 n滚动条控件用于输入数据或显示数据的变化,也用于与那些
13、滚动条控件用于输入数据或显示数据的变化,也用于与那些不支持滚动的控件配合使用,给他们提供滚动观察的功能。不支持滚动的控件配合使用,给他们提供滚动观察的功能。计时器控件常用于提供固定时间间隔的中断,以便执行特定计时器控件常用于提供固定时间间隔的中断,以便执行特定的事件过程。的事件过程。 http:/ n6.3.1 计时器控件计时器控件n6.3.2 滚动条控件滚动条控件 http:/ 6.3.1 计时器控件计时器控件计时器控件计时器控件n计时器控件(Timer)在工具箱的图标是 。 计时器控件也称定时器或时钟,他是按一定时间间隔自动触发事件的控件,使用计时器可定时重复执行时钟中断过程。在程序运行时
14、,计时器是不可见的。 http:/ Interval属性属性设定计时器触发Timer事件的时间间隔,即两个计时器中断事件之间的时间间隔,其值以毫秒(0.001秒)为单位,允许范围是065,535。该控件会自动检查系统时间是否又到Interval属性值,到了便产生Timer事件,执行时钟中断过程。当Interval属性值为0时屏蔽计时器,使计时器不再产生Timer事件。2. 名称和其他属性名称和其他属性系统的默认名称为Timer1、Timer2等。和行为有关的重要属性有Enabled,当Enabled为False时,计时器同样不再产生Timer事件。 http:/ 计时器的事件计时器的事件计计时
15、时器器控控件件的的常常用用事事件件是是Timer事事件件,是是计计时时器器在在间间隔隔了了一一个个Interval时间后所触发的事件。时间后所触发的事件。http:/ 倒计数倒计数 设计一个窗体,在窗体上添加两个标签和一个计时器。运行设计一个窗体,在窗体上添加两个标签和一个计时器。运行程序时,自动开始倒计数,从程序时,自动开始倒计数,从10到到0每隔一秒倒计数一次,每隔一秒倒计数一次,计数时在两个标签中分别显示系统当前时间和倒计数的值。计数时在两个标签中分别显示系统当前时间和倒计数的值。 http:/ 6.3.2 6.3.2 6.3.2 滚动条控件滚动条控件滚动条控件滚动条控件 n滚动条控件分
16、为水平滚动条和垂直滚动条,在工具箱的 图标分别是 和 。n滚动条控件用于输入数据,也用于与那些不支持滚动的控件配合使用,给他们提供滚动观察的功能。 http:/ Value1. Value属性属性Value属性标志滚动条的当前值(滚动滑块的位置),当滚动滑块的位置移动时,Value属性值也随之改变。在程序中也可以用代码设置,设置时滚动滑块的位置随之移动。其值为整型,范围应在Min和Max之间。2. Min2. Min属性属性滚动滑块在最小位置的值,其值为整型,范围应在-32768和32767之间。水平滚动条滚动滑块在最左边,垂直滚动条滚动滑块在最上边,是滚动滑块在最小位置的值。 http:/
17、Max3. Max属性属性滚动滑块在最大位置的值,其值为整型,范围应在-32768和32767之间。水平滚动条滚动滑块在最右边,垂直滚动条滚动滑块在最下边,是滚动滑块在最大位置的值。4. SmallChange4. SmallChange属性属性当单击滚动条两端箭头时,Value值的改变量,其值为整型。 http:/ LargeChange属性属性 当单击滚动条的空白位置时,当单击滚动条的空白位置时,Value值的改变量,其值为整型。值的改变量,其值为整型。6. 名称和其他属性名称和其他属性 水平滚动条系统的默认名称为水平滚动条系统的默认名称为HScroll1、HScroll2等,垂直滚动等,
18、垂直滚动条系统的隐含名称为条系统的隐含名称为VScroll1、VScroll2等。和滚动条位置有关等。和滚动条位置有关的属性有的属性有Height、Left、Top和和Width;和滚动条行为有关的主;和滚动条行为有关的主要属性有要属性有Enabled、Visible、TabIndex等。等。 http:/ 滚动条控件常用的事件有Scroll和Change。 当拖动滚动条滑块时触发Scroll事件,当单击滚动条两端箭头时或单击滚动条的空白位置时,触发Change事件。拖动滚动条滑块结束时,也触发Change事件。 http:/ 综综 合合 运运 用用 例6.6 用餐人数组合 一家30个人到小饭馆用餐,其中有男人、女人和小孩。每个男人花3元,每个女人花2元,每个小孩花1元。一共花去50元。问男人、女人和小孩各有几人?。 http:/ 1616进制转换成1010进制 设计一个窗体,在窗体上添加两个标签、两个文本框和两个命令按钮。运行程序时,在Text1中输入一个十六进制数,单击【转换】在text2中输出与其对应的十进制数。 http:/ 庆祝中国载人航天的成功 设计一个窗体,在窗体上添加两个标签、一个文本框和一个水平滚动条。运行程序时,文本框中的汉字随时间而改变颜色,改变水平滚动条滑块位置会改变颜色变化的频率,颜色取红、绿和蓝三色。