欢迎来到天天文库
浏览记录
ID:45379377
大小:952.00 KB
页数:56页
时间:2019-11-12
《VisualBasic程序设计(第二版)丁爱萍第9章用户定义与枚举类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章用户定义与枚举类型9.1用户定义类型9.2枚举类型9.3滚动条控件习题九9.1用户定义类型9.1.1用户定义数据类型的概念在VB中,可以用系统提供的标准类型定义变量,它们都是计算机处理的基本数据项。但在实际工作中,常见的并不是孤立的数据项,而是由两个或两个以上的基本项组成的组合项。表9-1学生成绩表9.1.2创建用户定义类型记录与数组一样由多个数据项目组成,但是,记录与数组最大的不同就是数组中的每一元素必须具有相同的数据类型,而记录中的每一个数据项目却可以具有不同的数据类型。在VB中提供了定义记录结构的语句,称这种语句为用户
2、定义数据类型(userdefineddatatype)。用户可以用Type语句来定义自己的数据类型,其格式为[Public
3、Private]Type〈用户类型名〉〈字段名1〉As〈类型名1〉[〈字段名2〉As〈类型名2〉][〈字段名n〉As〈类型名n〉]EndType9.1.3建立和使用用户定义类型变量1.建立用户定义类型变量用户数据类型定义后,可以用Dim、Redim、Static建立一个具有这种数据类型的变量。例如定义一个具有studentrec类型的变量stu:DimstuASstudentrec用户定义数据类型也可以作为数
4、组元素的数据类型。例如,定义一个拥有20个记录元素的数组student:Dimstudent(1To20)Asstudentrec2.使用用户定义类型变量如果要存取用户数据类型变量中的某个字段的数据,其格式如下:〈用户数据类型变量名〉.〈字段名〉【例9-1】把数据值分别赋给stu变量中的各个字段。设计步骤如下:(1)建立应用程序用户界面并设置对象属性,如图9.1所示。(2)在窗体模块的通用段创建用户定义类型:PrivateTypestudentrecstunumAsString*7'学号元素为7个字符的定长字符串namesAsSt
5、ring*8'姓名元素为8个字符的定长字符串creditAsInteger'学分元素为整型avgAsSingle'平均成绩为单精度型EndType编写命令按钮的Click事件代码为PrivateSubCommand1_Click()DimstuAsstudentrec'定义一个具有studentrec类型的变量stustu.stunum="2000108"stu.names="欧阳美丽"图9.1程序运行结果stu.credit=70stu.avg=88.5Text1.Text=stu.stunumText2.Text=stu.na
6、mesText3.Text=stu.creditText4.Text=stu.avgEndSub程序运行结果如图9.1所示。9.1.4用户定义类型数组如果一个数组中元素的数据类型是用户定义类型,则称其为用户定义类型数组或记录数组(Arrayofrecords)。存取记录数组元素中某个字段数据的语法为〈记录数组元素〉.〈字段名〉【例9-2】假设某班有40位学生,每位学生一个记录,定义一个包含40个元素的用户定义数组,并给第10位学生赋值。首先在窗体模块的通用段创建用户定义类型:PrivateTypestudentrecstunumA
7、sString*7namesAsString*8creditAsIntegeravgAsSingleEndType编写命令按钮的Click事件代码为PrivateSubCommand1_Click()Dimstudent(1To40)Asstudentrec'定义记录数组student(10).stunum="2000010"student(10).names="孙小京"student(10).credit=55student(10).avg=78.5Text1.Text=student(10).stunumText2.Text=
8、student(10).namesText3.Text=student(10).creditText4.Text=student(10).avgEndSub程序运行结果如图9.2所示。图9.2用户定义类型数组示例9.1.5程序举例【例9-3】输入学生的姓名、学号、语文分数、英语分数、数学分数,计算每名学生的平均成绩,并显示各科成绩。设计方法如下:(1)选择新建工程,进入窗体设计器。图9.3建立用户界面和设计对象(2)编写代码。首先在窗体的通用段创建用户定义类型并声明变量:PrivateTypestudentrecnaAsStrin
9、g*6'姓名变量定义为6个字符长度noAsString*5'学号变量定义为5个字符长度chAsSingle'语文变量定义为单精度数enAsSingle'英语变量定义为单精度数maAsSingle'数学变量定义为单精度数agAsSingle'平均成绩
此文档下载收益归作者所有