第 6章 数组和其它控件
2009-11-10
认识计时器和数组
例 6.1输入日期计算天数 。设计一个窗体,在
窗体上添加一个标签框、一个计时器和两个命
令按钮。运行程序并单击“开始”,弹出输入
对话框,要求按照固定格式输入日期,程序计
算输入日期是该年中的第几天。
第 6章 数组和其它控件
2009-11-10
控件属性数组
例 6.2列表项操作。 设计一个窗体,在窗体上添加一
个列表框、一个框架、一个文本框、一个复选按钮
和五个命令按钮。运行程序并单击, 增加元素,,
给列表框增加 10个列表项。单击, 交换元素,,交
换相邻的两个列表项。在查找中输入要查找的文本,
单击, 开始,,将找到所有含该文本的列表项并使
之处于选择状态,选择严格查找,只有列表项的内
容和要查找的文本完全一致时,才算找到。单击
,反向选择,,使选择的列表项变成未被选择的列
表项,而未被选择的列表项变成选择的列表项。单
击, 删除元素,,将删除所有选择的列表项。
第 6章 数组和其它控件
2009-11-10
控件数组
控件数组由一组相同类型的控件组成 。 这些控件具
有相同的名称, 具有很多相同的属性 。 数组中的每个
控件都有唯一的索引号, 即下标, 下标值由 Index属性
指定, 第 1个控件数组元素的下标为 0,第 2个控件数组
元素的下标为 1等等 。 它是创建控件数组时系统自动按
顺序赋给每个控件数组元素的, 程序通过索引值来区
别控件数组中的元素 。
由于控件数组是由一组相同类型的控件组成,这
些控件共用一个相同的名字。数组中的每个控件都有
唯一的索引号(下标),所以它们非常方便的共享同
一事件过程。在若干控件执行的操作相似的场合最适
于使用控件数组。
第 6章 数组和其它控件
2009-11-10
例 6.3计算器。 设计一个窗体,在窗体上设计由十个数字按钮、
四个运算符、四个函数按钮、一个, C”按钮、一个, =” 按钮
和一个标签, 模拟计算器能完成一步整数计算功能。
第 6章 数组和其它控件
2009-11-10
自定义数组
在本章介绍列表框的 List和
Selected属性时,谈到这样的属性是数
组。它们分别存放列表框中所有列表项
的内容和每个列表项是否被选择的状态。
在实际应用中,也经常需要处理成批数
据,为此高级语言都提供了数组。它是
一种非常有用的数据结构。一般来讲,
数组是由一系列元素构成,每个元素的
类型相同。
第 6章 数组和其它控件
2009-11-10
在计算机中数组占据一块内存区域, 数组名是这个区域的名
称, 下标可标识数组元素在该区域的位置 。 数组应遵循先定
义后使用的原则 。 定义数组的目的是为其留出所需空间 。 这
一点和控件属性中使用到的数组不同, 控件属性中用到的数
组是系统定义的 。
定义数组的一般格式:
Dim 数组名 (第一维说明 [,第二维说明 ] …,.) [As 类型 ]
第 6章 数组和其它控件
2009-11-10
除使用 Dim语句指定下界, 还可以使用 Option Base 语句指定下
界 。
Option Base 语句格式为:
Option Base 下界值
第 6章 数组和其它控件
2009-11-10
例 6.4试验数据。 设计一个窗体,在窗体上添加一个文本框、
一个图片框、一个列表框和三个命令按钮。运行程序时,单
击, 模拟数据, 按钮,用随机函数产生 30个两位模拟试验随
机整数,并且显示在文本框中。单击, 数据分布, 按钮,统
计试验数据的分布,按 10到 19,20到 29…… 90到 99分段,统
计每段模拟试验数据的个数,并在图片框中显示。单击, 计
算平均, 按钮,计算模拟试验数据的平均值和低于平均值数
据的个数,并且显示在列表框中。
第 6章 数组和其它控件
2009-11-10
例 6.5杨辉三角形。 设计一个窗体,在窗体上添加一个文本框
和三个命令按钮。运行程序时,单击, 输出,,弹出输入对
话框,用于输入要输出杨辉三角形的行数,假定要输入的数
小于 11,程序将计算并在文本框中输出杨辉三角形。
第 6章 数组和其它控件
2009-11-10
可调数组
定义数组的目的是为了预留连续的存储空间, 但有时数组
的大小只有运行程序时才能确定, 定义, 足够大, 的数
组虽然可以解决这个问题, 但浪费了很多存储空间 。 在
例 8.5中处理 gz数组 VB的编译程序将预留了 100个存储空
间, 但实际可能只使用其中一部分 。 为此, VB 6.0提供
了可调数组用来解决这个问题, 可调数组也称动态数组 。
可调数组的长度可以在运行程序时改变 。
定义可调数组的方法是
(1) 用 Dim语句 ( 或 Private和 Public), 但不要指定维数 。
(2) 再用 ReDim语句指定数组的准确尺寸。
第 6章 数组和其它控件
2009-11-10
例 6.6计算前三名学生成绩 。 设计一个窗体,在窗体上添加两
个命令按钮。运行程序时,单击【计算】,弹出输入对话框,
要求输入学生人数。以后要求输入每个学生的成绩,输入结
束后计算并输出学生人数和平均成绩,然后再输出成绩最高
的前三名学生的成绩。
第 6章 数组和其它控件
2009-11-10
可变类型数组
当一个数组被说明成变体类型的数组, 它的每个元素也是变体
类型的, 因此, 可以存放各种类型的数据 。
Option Base 1
Private Sub Form_Click()
Dim an(6)
For i = 1 To 3
an(i) = "Name" + Str(i)
Next i
For i = 4 To 6
an(i) = Int(Rnd * 10000) / 100
Next i
For i = 1 To 3
Print an(i),an(i + 3)
Next i
End Sub
第 6章 数组和其它控件
2009-11-10
变体变量可以扩充为数组, 用 Array函数可以给变体变量赋一组
数, 这组数的数据类型可以不同, 赋值以后变体变量扩充为数
组, 要访问其中的元素 。 例如:
Option Base 1
Private Sub Form_Click()
Dim an
an = Array("Name 1","Name 2","Name 3",Int(Rnd *
10000) / 100,Int(Rnd * 10000) / 100,Int(Rnd * 10000)
/ 100)
For i = 1 To 3
Print an(i),an(i + 3)
Next i
End Sub
第 6章 数组和其它控件
2009-11-10
计时器控件 (Timer)
计时器控件也称定时器或时钟,
他是按一定时间间隔自动触发事件的控
件,使用计时器可定时重复执行时钟中
断过程。在程序运行时,计时器是不可
见的。
第 6章 数组和其它控件
2009-11-10
计时器的属性
( 1) Interval属性
设定计时器触发 Timer事件的时间间隔, 即两个计时器事件
之间的时间间隔, 其值以毫秒 ( 0.001秒 ) 为单位, 允许范
围是 0到 65,535。 该控件会自动检查系统时间是否又到
Interval属性值, 到了便产生 Timer事件, 执行时钟中断过程 。
当 Interval属性值为 0时屏蔽计时器, 使计时器不再产生
Timer事件 。
( 2) 名称和其他属性
第 6章 数组和其它控件
2009-11-10
计时器的事件
计时器控件的常用事件是 Timer事件,是计时器在间隔了
一个 Interval时间后所触发的事件。
例 6.7倒计数。 设计一个窗体,在窗体上添加两个标签和一
个计时器。运行程序时,自动开始倒 计数,从 10到 0每隔一
秒倒计数一次,计数时在两个标签中分别显示系统当前时间
和倒计数的值 。
第 6章 数组和其它控件
2009-11-10
滚动条控件
滚动条控件用于输入数据,也用
于与那些不支持滚动的控件配合使用,
给它们提供滚动观察的功能。
第 6章 数组和其它控件
2009-11-10
滚动条的属性
( 1) Value属性
Value属性标志滚动条的当前值 ( 滚动滑块的位置 ), 当滚动
滑块的位置移动时, Value属性值也随之改变 。 在程序中也可
以用代码设置, 设置时滚动滑块的位置随之移动 。 其值为整
型, 范围应在 Min和 Max之间 。
( 2) Min属性
滚动滑块在最小位置的值, 其值为整型, 范围应在 -32768和
32767之间 。 水平滚动条滚动滑块在最左边, 垂直滚动条滚动
滑块在最上边, 是滚动滑块在最小位置的值 。
( 3) Max属性
滚动滑块在最大位置的值,其值为整型,范围应在 -32768和
32767之间。水平滚动条滚动滑块在最右边,垂直滚动条滚动
滑块在最下边,是滚动滑块在最大位置的值。
第 6章 数组和其它控件
2009-11-10
( 4) SmallChange属性
当单击滚动条两端箭头时, Value的改变量, 其值为整型 。
( 5) LargeChange属性
当单击滚动条的空白位置时, Value的改变量, 其值为整型 。
( 6) 名称和其他属性
第 6章 数组和其它控件
2009-11-10
滚动条的事件
滚动条控件常用的事件有 Scroll和 Change。
当拖动滚动条滑块时触发 Scroll事件,当单击滚动条两端箭
头时或单击滚动条的空白位置时,触发 Change事件。拖动滚
动条滑块结束时,也触发 Change事件。
例 6.8 比较 Scroll和 Change事件。 设计一个窗体,在窗体上添
加两个文本框和两个水平滚动条。运行程序时,单击左边滚
动条两端箭头时或单击滚动条的空白位置时,改变文本框 1
的宽度和文本框 1中字的大小,拖动右边滚动条滑块时,改
变文本框 2的宽度和文本框 2中字的大小。
第 6章 数组和其它控件
2009-11-10
综合运用
例 6.9入网登记。 设计一个窗体,在窗体上添加三个标签、一
个文本框、一个列表框和两个命令按钮。运行程序时,输入入
网人员姓名,单击【入网登记】按钮,在列表框中增加一位网
民,若在列表框中单击网民的姓名,将显示该网民入网时间,
单击【退出】命令按钮,结束程序运行。
例 6.10庆祝中国载人航天的成功。 设计一个窗体,在窗体上添
加两个标签、一个文本框和一个水平滚动条。运行程序时,文
本框中的汉字随时间而改变颜色,改变水平滚动条滑块位置会
改变颜色变化的频率,颜色取红、绿和蓝三色。
第 6章 数组和其它控件
2009-11-10
例 6.11 奔跑的马。 设计一个窗体,在窗体上添加一个图像
框。运行程序后,在窗体上显示马奔跑的动画。
例 6.12 运行中的载人飞船。 设计一个窗体,在窗体上添加
一个图片框和一个形状控件。运行程序后,模拟飞船绕地
球运动。