枚举与用户定义类型.ppt

上传人:牧羊曲112 文档编号:4983522 上传时间:2023-05-27 格式:PPT 页数:14 大小:287.11KB
返回 下载 相关 举报
枚举与用户定义类型.ppt_第1页
第1页 / 共14页
枚举与用户定义类型.ppt_第2页
第2页 / 共14页
枚举与用户定义类型.ppt_第3页
第3页 / 共14页
枚举与用户定义类型.ppt_第4页
第4页 / 共14页
枚举与用户定义类型.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《枚举与用户定义类型.ppt》由会员分享,可在线阅读,更多相关《枚举与用户定义类型.ppt(14页珍藏版)》请在三一办公上搜索。

1、第十章 枚举与用户定义类型-the type of enumerate and self-define,前面我们讲述了Visual Basic的基本数据类型,包括整型数、单精度数、浮点数等。但是在程序设计中有些数据无法直接用基本数据类型来表示比如:一个学生的档案既有姓名、性别等字符串型的量,又有成绩等的单精度型的量,这时可以将不同的基本类型数据组合成一个有机的整体,便于一起引用。用户定义类型可以满足这种要求。同时,一个变量的取值有时需要限定在某一个指定的范围内,这可以通过枚举类型实现。,10.1 枚举类型-enumerate type,当一个变量有几种可能的取值时,可以将它定义为枚举类型。定义

2、:是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内.一、定义枚举类型:枚举类型放在窗体模块、标准模块或共用模块中的声明部分,通过enum语句来定义。1.格式:public|private enum name membername=constantexpression membername=constantexpression.End enum,说明:public:表示该枚举类型在整个工程中都是可见的(缺省的)private:表示枚举类型只在所生命的模块中是可见的。Name:枚举类型的名称。必须是一个合法的VB标识符,在定义该枚举类型的变量或参数时用该名称来指定类型.Memberna

3、me:指定该枚举类型的组成元素名称.Constantexpression:枚举类型的组成元素的值.如果没有指定具体值,则所有赋的值或者是0或者比其直接前驱的值大1.元素的值也可以是别的enum类型.VB中将枚举中的元素的值按长整数处理.如果将一个浮点数值赋给一个枚举中的元素,VB会将该值取整为最接近的长整数.,10.1 枚举类型-enumerate type,二.枚举变量声明与赋值:定义枚举类型后,可以声明该枚举类型的变量,然后使用该变量存储枚举元素的数值.枚举变量:指用枚举类型定义的变量.变量和参数都可以定义为枚举类型.过程的返回值也可以是枚举类型.格式:dim 枚举变量名 as 枚举类型名

4、注意:尽管通常只将枚举元素数值赋给枚举类型的变量,但也可以将任何长整数数值赋给该变量.当对与枚举常数不相关的变量赋值时,Vb 不会产生错误.枚举语句只能在模块级别中出现,不能用模块名来限定枚举类型.,10.1 枚举类型-enumerate type,使用举例:例如:p199 利用枚举类型输出是否工作日.使用workdays类型的变量存储与workdays枚举中的元素相关联的整数数值.,10.1 枚举类型-enumerate type,10.2 用户定义类型-self-define type,在Vb中可以用系统提供的标准类型定义变量,它们都是计算机处理的基本数据项.但在实际工作中,常见的并不是孤

5、立的数据项,而是由两个或两个以上的基本项组成的组合项.用这些组合项来描述相应对象的若干属性,这些描述相同对象的组合项的集合形成了记录.记录定义:通常由描述某实体对象各属性数据的若干字段(数据项)构成.记录与数组最大的不同就是数组中的每一元素必须具有相同的数据类型,而记录中的每一个数据项目却可以具有不同的数据类型.一.创建用户定义类型:使用type语句可以创建用户定义的类型,该语句必须置于模块的声明部分.,格式:private|publictype varname elementname(subscripts)as type elementname(subscripts)as type end

6、type说明:public|private:typename:elementname:type:subscripts:数组元素的维数.当定义大小可变的数组时,只须圆括号.subscripts参数使用如下语法:格式:lower to upper,lower toupper.说明:如果不显示指定lower,则数组的下界由option base语句控制.如果没有option base语句则下界为0.,10.2 用户定义类型-self-define type,Type语句只能在模块级使用。在标准模块中,用户自定义类型按缺省设置是共用的。可以使用private关键字来改变其可见性。而在类模块中,用户自定

7、义类型只能是私有的,且使用public关键字也不能改变其可见性。注意:(1)在typeend type块中不允许使用行号和行标号。(2)用户定义类型也可以包含对象。Eg:private type accountpack frminput as form dbpayrollaccount as database end type,10.2 用户定义类型-self-define type,10.2 用户定义类型-self-define type,(3)用户定义类型还可以包含其他的用户定义类型。(4)为了保证代码的可读性和易于调试,应尽量将定义用户定义数据类型的所有代码限制在一个模块的范围内。二.用

8、户定义类型变量使用type语句创建一个用户定义类型后,可以定义该类型的变量。定义变量可使用的保留字有dim,private,public,redim或static。,10.2 用户定义类型-self-define type,注意:假如声明了使用dim关键字,标准或类模块中的用户自定义类型将缺省为公用的。使用用户定义类型解决问题:程序举例:三.用户定义类型与数组:1.包含数组的用户定义类型用户定义类型可以包含一个固定数组,也可以包含动态数组。当在用户定义类型中声明大小固定的数组时必须用数字文字或常数而不能用变量来声明数组的维数。Eg:p1972.用户定义类型数组如果一个数组中元素的数据类型是用户

9、定义类型,则称为用户定义类型数组或记录数组。,10.2 用户定义类型-self-define type,四.用户定义类型与过程可以从函数中返回用户定义类型,也可以将属于用户定义类型的变量作为参数传递到过程中。Eg:sub fillsystem(some system as systeminfo)somesystem.cpu=lstcpu.text somesystem.memory=txtmemory.text somesystem.cost=txtcost.text somesystem.purchasedate=now end sub如果要传递窗体或类模块中的用户定义类型,则过程必须是私有

10、的。,10.2 用户定义类型-self-define type,五.with语句如果程序中要求对用户定义类型元素进行频繁操作,可以使用with语句简化用户定义类型元素的访问。格式:with end with说明:(1)对象名-可以是用户定义类型变量名或一个VB对象名。(2)用with语句打开一个对象之后,在with控制结构引用记录元素、对象属性时不需要指出记录变量或对象的名称。(3)要改变一个对象的多个属性,可以使用with语句来给同一个对象的几个属性赋值。,10.2 用户定义类型-self-define type,(4)程序一旦进入with结构,对象就不能改变,因此不能用一个with语句来设

11、置多个不同的对象。可以将一个with结构放在另一个之中,而产生嵌套的with语句。但由于外层with结构成员会在内层的with结构中被屏蔽,所以必须在内层的with结构中,使用完整的对象引用来指出在外层with结构中的对象成员。因此,VB的嵌套with语句并不能有效的处理嵌套的记录变量。(5)不要用转向语句跳入或跳出with结构。如果with结构中的语句被执行,而with或end with语句并没有执行,则会产生错误或不可预知的结果。应用举例:p201 10-6;p202 10-7,本章总结,1、枚举类型的定义格式 枚举类型放在窗体模块、标准模块或共用模块中的声明部分,通过enum语句来定义。2、枚举类型变量的定义格式3、记录类型的定义格式 4、记录类型变量的定义格式 5、记录类型的使用.记录类型数组.记录类型的参数,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号