资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,章 数组和自定义类型,5.1,数组,5.2,数组的基本操作,5.3,列表框和组合框控件,5.4,自定义类型及其数组,5.5,控件数组,5.6,综合应用,5.1,数组,(,P97,),例,5-1(P98),输入,10,个学生的成绩,求平均成绩,然后统计高于平均分的人数,.,5.1.1,数组的基本概念,(,P97,),一般情况,:,若干个,具有相同数据类型,的,数据元素,的集合,;,变体数组,:,若干个,不同数据类型,的数据元素的集合,.,数组分类,定长数组,:,元素个数一经定义后,则不能改变,.,动态数组,:,根据需要可以调整数组中的元素个数,.,数组的使用说明,:,VB,中数组的数组必须先,定义,(,声明,),后,使用,.,重点,1,重点,2,用下标区分,5.1.2,定长数组及声明,(,P99,),指定数组名,;,指定数组的元素个数,(,动态数组例外,);,指定数组元素的数据类型,.,数组声明的作用,例如,:,Dim A(,1 To 10,)As Integer,数组元素的数据类型,下标的取值范围,由此可确定数组元素的个数,数组名,Dim,数组名(,下标下界,To,下标上界,),As,数据类型,1.,数组声明语句的一般格式,(,以一维数组为例,),关于数组声明的说明:,数组声明时,下标下界和上界必须用常量,.,数值型数组元素被初始化为0;定长字符串数组各元素用0填充;变长字符串数组各元素初始化为空串。,省写时,下界为,0;,省写时为变体数组,例2:,二维数组,Dim b(5,5)As Single,单精度数组,b,共有36个元素,b(0,0)、b(0,1)、b(0,5)、,b(1,0)、b(1,1)、b(1,5),b(5,0)、b(5,1)、b(5,5),例1:,一维数组,Dim a(10)AS Integer,整型数组,a,,共有11个元素:,a(,0,)、a(1)、a(2)、a(,10,);,例,3:Dim a(2 To 10)AS Integer,整型数组,a,它共有,?,个元素:,a(2)、a(3)、a(10);,例,4:Dim b(1 To 2,-1 To 2)As Single,单精度数组,b,共有,?,个元素,b(1,-1)、b(1,0)、b(1,1)、b(1,2),Option Base 1,2.,数组下标下界设置语句,(,P100,),格式1:设置数组下标下界为1.,Option Base 0,格式2:设置数组下标下界为0.,5.1.3,动态数组及声明(,P100,),1.,建立动态数组的步骤:,用,Dim,语句声明数组,但不能指定大小,.,例如:,当程序中需要时,使用,ReDim,语句重新定义数组的真正大小.例如:,ReDim,A(9),Dim A()As Integer,维数为空,2.,ReDim,语句的常用格式,之,1(,P101,),ReDim,数组名(维数),As,数据类型,说明:,可以使用该语句多次修改数组的维数和元素个数;,若原数组已声明数据类型,则该语句不能修改数据类型;,数组重新定义后,原有数据丢失.,常量或者变量均可,ReDim,Preserve,数组名(维数),As,数据类型,说明:,该语句不能更改原数组的维数,只能更改数组最后一维的上界,该语句重新定义数组后,数组中原有数据不会丢失.,例,5-2,(,P101,),显示斐波那契数列的前,n,个数动态数组,,结果每行显示,5,个数据。,ReDim,语句的常用格式,之,2,5.2,数组的基本操作,(,P102,),1.数组元素的引用,数组名(下标1,下标2,),2.,数组的赋值函数,Array(,P103,),=,Array(,常量列表),格式:,功能:,将常量表中的常量分别赋给一个,一维数组,的各个元素,使用说明:,变量必须声明为,变体型,,但作为数组使用;,数组,下界由,Option Base,语句,指定的下界,决定,;,若不提供数值,则创建一个长度为0的数组。,变体类型的变量,3.,获取数组下标上、下界函数,(,P103,),(1),获取数组下标下界函数,LBound,(,数组名,),(2),获取数组下标上界函数,UBound,(,数组名,),4.,数组的应用,(,P103,),例,5-3,(,P103,),随机产生一个,4*4,的方阵,在,3,个,Picture,框中分别输出方阵中的所有元素、上三角元素、下三角元素。,例,5-4,(,P105,),求一维数组中各元素之和、最小数组元素,并将最小数组元素与数组中第一个元素交换,.,5.,数组排序,(,P105,),例,5-5,(,P106,),选择法排序。,例,5-6,(,P107,),冒泡法排序。,6.,数组中插入数据、删除数据,(,P107-109,),例,5-7,(,P108,),向有序数组中插入一个数据,插入完成后,数组仍然是有序的。,例,5-8,(,P108,),从数组中删除一个数据。,5.3,列表框和组合框控件,(,P109,),列表框,组合框,5.3.1,列表框,(,P109,),默认名称:,List1、List2、,默认属性:,Text,默认事件:,Click,1.,列表框的常用属性,之,1,(1)List,属性:,一维字符串数组,。每个数组元素对应于列表框中的一个选项,.,注意,:,第一个列表项下标为,0.,一般在,窗体的,Load,事件,中对,List,数组进行初始化。,(2),ListCount,属性:,列表框中所有选项的总数目。,(3)Text,属性:,用户最后一次单击列表框时,被单击的列表项的文本内容。,(4),ListIndex,属性:,用户最后一次单击列表框时,被单击的列表项的编号,即在,List,数组中的下标。,(5),MultiSelect,属性:,指定是否允许用户同时选中多个选项。,=0(默认值,),:不允许多重选择;,=1:允许简单的多重选择;,=2:允许高级的多重选择(与,Windows,操作相同)。,(6)Selected,属性:,与,List,元素个数相同的一维逻辑型数组。,元素值=,True,时,表示对应选项被选中。,(7),SelCount,属性:,当允许同时选中多个列表选项时,该属性表示当前已选中的列表选项的个数。,列表框的常用属性,之,2,(8)Sort,属性:,=,True,时,列表框中的各选项按字母顺序排列。,列表框的常用属性,之,3,2.,列表框的常用方法,(,P111,),(1),Addltem,方法:,向列表框添加项目。其完整语法如下:,列表框对象名,.,AddItem,项目字符串,索引值,(2),RemoveItem,方法:,从列表框中删除项目,格式为:,列表框对象名,.,RemoveItem,索引值,(3)Clear,方法:,删除列表框控件中的所有项目。,列表框对象名,.Clear,(1)Click:,单击列表中的项目时发生.此时,Text,属性的值为单击选中的项目.,3.,列表框的常用事件,(,P111,),(2),DblClick,:,双击列表中的项目时发生.,列表框应用示例,例,5-9(,补充,),注意单选和多选 两种情况,5.3.2,组合框(,ComboBox,),组合框:,由列表框和文本框组合而成的控件,组合框中既能选择列表中给定的选项,也能输入 列表中未给出的信息;,列表框中只能选择给定的列表选项。,组合框与列表框的区别:,默认名称:,Combo1、Combo2、,默认属性:,Text,默认事件:,Click,Style,属性:,设置组合框的样式.,=0,包含一个文本框和一个下拉列表,文本框中可以 输入文本;,默认属性值,=1,包含一个文本框和一个不下拉的列表,文本框中 可以输入文本;,=2,包含一个文本框和一个下拉列表,但文本框中不 能输入文本.,1.,组合框的常用属性,之,1,组合框的常用属性,之,1,Text,属性:,用户选中或输入的文本,显示在组合框的文本框处。,ListIndex,属性:,用户最后一次单击列表框时,被单击的选项的编号,即在,List,数组中的下标。,如果用户直接在文本框中输入,该属性值=-1,其它常用属性同列表控件.,2.,组合框的常用方法,与列表框相同,AddItem,RemoveItem,Clear,列表部分触发的事件与列表框相同,;,文本框部分触发的事件与文本框相同。,3.,组合框的常用事件,例,5-10(P113):,利用组合框选择字体、字号设置标签上的字体格式。,例,5-10-1(,补充,):,利用组合框选择计算公式,组合框应用示例,5.4,自定义类型及其数组,(,P116,),1.定义自定义,数据类型,Public,|,Private,Type,自定义数据类型名,元素名1,As,数据类型1,元素名2,As,数据类型2,End Type,自定义类型不能在过程内定义,;,在窗体模块内定义必须用,Private;,数据类型为,String,类型时,通常使用定长字符串,.,2.自定义类型的变量(,P117,),(1)变量的声明,Dim,变量名,As,自定义类型名,(2)访问变量的元素,变量名.元素名,例,5-11:,自定义数据类型和变量的使用.,例,5-11-1:,自定义数据类型数组的使用.,可使用,with,语句,:,With,变量名,语句块,End With,5.5,控件数组,(,补充,),1.控件数组的基本概念,(1)控件数组:,是一组具有共同名称和类型的控件。,它们的事件过程也相同.,(2)使用控件数组的优点:,减少资源消耗,便于多个控件使用相同的一段代码,能够在程序运行时创建新控件,2.建立控件数组的常用方法,方法1:修改控件名称建立控件数组,在窗体中添加多个相同类型的控件;,选定一个控件作为控件数组的第一个元素,并将其(名称)属性改为所需控件数组名;,修改其它控件的(名称)属性同上(系统自动将第一个控件的,Index,属性,置0,其他控件的,Index,属性值顺序增1).,方法2:利用复制和粘贴控件的方法建立控件数组,在窗体中放置一个控件,并将其(名称)属性修改为所需控件数组名;,复制该控件,然后粘贴多次.,控件数组应用举例,例,5-12:,简易四则运算器,例,5-13:,使用三个滚动条分别控制红、绿、蓝三种颜色的值,并用这三种颜色设置标签的前景和背景色,5.6,综合应用,(,P120,),自学,
展开阅读全文