您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> VB >> 辅导 >> 正文    
  VB考试教程:记录 【注册男护士专用博客】          

VB考试教程:记录

www.nanhushi.com     佚名   不详 

四、记录类型(用户自定义类型)

使用VB提供的数据类型基本上已经可以满足用户的要求,但有时会需要存放一组不同类型的数据。例如,一个管理学生的教务系统,一个学生通常要有许多特征,如学生的姓名、年龄、性别等。如果每个特征都用一个变量表示,当有许多学生时很可能产生混乱。这时,就可以把学生的所有特征构造为一个数据类型。

1、记录类型定义

在Visual Basic中构造数据类型可以用Type语句定义,Type的语法如下:

    [Private| Public] Type 记录类型名

        成员列表

    End Type

说明:

记录类型的定义必须放在模块(包括标准模块和窗体模块)的声明部分。

记录数据类型是定义在“Type …End Type”之间的数据。“[ ]”内的是可选项。

    Public用于声明可在所有工程的所有模块的任何过程中使用记录类型;

    Private用于声明只能在包含该声明的模块中使用记录类型。

当在标准模块中定义时,可以有关键字Public(默认)或Private;而如果在窗体模块中定义,则必须加上关键字Private。

记录类型的命名遵循标准的变量命名约定。

成员的类型声明格式为:

    成员名 As  数据类型

注意:

  • Type …End Type中不允许使用行号和标签。

  • Type 语句只能在模块的声明部分中使用。

例如:

Type Student

    Num  As Integer
    Name As String *20   
'定长字符串(20个)
    Sex  As String*1           
'定长字符串(1个)
    Age  As Integer
    Score As single
    Addr  As String

End Type

该例定义了一个类型名为:“Student”六个成员的记录集合。

使用 Type 语句声明了一个记录类型后,就可以在该声明范围内的任何位置声明该类型的变量。可以使用 Dim、Private、Public、ReDim 或 Static 来声明记录类型的变量。对同一种用户定义类型,可以声明为局部的、私有的或公用的模块级变量。

下表介绍了在什么地方声明用户定义类型和该类型的变量及其作用范围。

过程/模块

将用户定义类型创建成为…

用户定义类型的变量可以被声明成…

过程
标准模块
窗体模块
类模块

不适用
私有或公用
仅私有
私有或公用

仅局部
私有或公用
仅私有
私有或公用

缺省情况下,用Type语句声明的记录类型是公有的,但任何公有的声明和定义只能放在标准模块的声明部分,因此,在窗体模块或类模块的声明部分定义用户自定义类型时,一定要加上Private关键字。

例如,在一个标准模块中创建一个记录有关公司雇员信息的用户定义类型时,必须使用关键字Private:

Private Type Employee

    ID As Integer
    Name As String *20
    Salary As Cureency

End Type

记录类型中的成员可以是数组。包括:静态数组和动态数组。例如:

Type SystemInfo

    CPU As Varint
    Memory As Long
    DiskDrives(25) As String
'静态数组(此处也可以是动态数组,即可以改为DiskDrives() As String)
    VideoColore As Integer
    Cost As Currency
    PurchaseDate As Variant

End Type

2、定义记录类型变量

定义了一个记录类型之后,可以用Dim(或Public,Static)来声明拥有这种数据类型的变量。例 如:

    Dim Student1,Student2 As Student

定义Student1和Student2为Student之后,Student1和Student2就具有了Student类型的结构。

       Student1

1001

Zhang Zhen

M

18

90

Shanghai

        Student2

1002

Wang Chen

M

18

95

Beijing

3、赋值和检索值

对记录类型变量的元素赋值和检索类似于对象属性的设置和获取。例如:

    MySystem.CPU="486"

    If MySystem.PurchaseDate>#1/1/92# Then…

如果两个变量都属于同一个用户定义类型,也可将其中一个变量赋给另一个变量。这种赋值是将一个变量的所有元素赋给另一个变量的对应元素。例如:

    YourSystem=MySystem    (两者均为记录类型)

记录中的成员的数据也可以是记录类型,称之为嵌套记录。

4、记录数组

一个记录变量可以是一组数据(如一个学生的学号、姓名、成绩……等数据)。如果对一个班的学生的数据进行统计与处理,显然应该使用记录数组。记录数组与以前的数组不同之处在于每个数组元素都是一个记录类型的数据。下面的示例完成对记录数组的初始化。

    Private Type Student '定义记录类型

        Name As String * 20
        Score As Single

    End Type  

可以采用访问对象中的属性的方法来访问记录中的元素。

   Dim Students(1 To 2) As Student
  
Students(1).Name = "Li Pin"
  
Students(1).Score = 90
  
Students(2).Name = "Liu Jun"
  
Students(2).Score = 80

记录数组也可以是动态数组,例如

    Dim Students() As Student
  
ReDim Students(2) '重新定义动态数组

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。