Visual Basic 程序设计教程第6章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

其格式为: Erase数组名[, 数组名]„„ Erase语句用来重新初化静态数组的各 元素,或释放动态数组的存储空间。注意: 在Erase语句中,只给出需要刷新的数组名, 不带括号和下标。例如:Erase a。
【说明】 (1)当把Erase语句用于静态数组时, 如果这个数组是数值型数组,则把数组中 各元素置为0;如果是字符串数组,则把所 有各元素置为空字符串;如果是记录数组, 则根据每个元素(包括定长字符串)的类 型重新进行设置。设置如表6.2所示:
4.数组的操作
(1).数组元素的输入和输出
数组元素一般通过过循环语句、文本 框控件、InputBox( )函数配合进行输入和 输出。
(2).数组的清除和重新定义
静态数组一经定义,编译时便在内存 中分配了相应的存储空间,从建立数组到 程序运行结束,它的大小和维数是不能改 变的;而动态数组是在程序的执行过程序 中用ReDim语句根据用户的需要重新分配存 储空间的。可能需要清除数组的内容或对 数组重新定义,这时可以用Erase语句来实 现。
(3).数组元素的引用
若要将数组的各个元素的值赋给另一 个数组,在VB 6.0以前的版本中,需要通 过for„next循环来实现。在VB 6.0中只要 通过一句简单的赋值语句即可实现。
在数组对数组赋值时要注意:
①赋值号“=”两边的数据类型必须 一致; ②如果赋值号左边是一个动态数组, 则赋值时系统自动将动态数组ReDim 成与右边同样大小的数组; ③如果赋值号“=”左边是一个大小 固定的数组,则数组赋值出错。
(2)当把Erase语句作用于动态数组时, 将删除整个数组结构并释放该数组所占用 的内存空间。也就是说,动态数组经Erase 后即不复存在,而静态数组经Erase后仍然 存在,只是其内容被清空。
(3)当把Erase语句用于变体类型时, 每个元素将被置为“空”(Empty)。 (4)Erase语句释放动态数组所使用的 内存,在下次引用动态数组之前,必须用 ReDim语句重新定义该数组变量的维数及 大小。
动态数组是在定义数组时未给出数组 的大小(省略括号中的下标),在程序运 行时,根据需要随时用ReDim语句重新声明 数组的大小。使用动态数组的优点是可根 据用户的需要,有效地利用存储空间。它 是在程序执行到ReDim语句时分配存储空间 的,而静态数组是在程序编译时分配存储 空间的。
ReDim [As 类型]
5.控 件 数 组
控件数组是指数组元素的类型是我们 前面所介绍的控件,它们共用一个控件名, 具有相同的属性,共享同样的事件过程。 当建立控件数组时,系统给每个元素赋予 唯一的索引号(Index),通过属性窗口的 Index属性,可以知道该控件的索引值是多 少。
控件数组适用于若干个控件执行操作 相似的场合。例如,控件数组Cmd有4个命 令按钮,则不管单击哪个命令按钮,都会 响应命令பைடு நூலகம்钮的单击事件过程。
第6章 数 组
1
数组的基本概念
一.数组的基本概念
数组是Visual Basic提供的一种数据 结构,它是同一类型的数据的集合(除了 记录类型数组外),数组在内存中占一组 连续的存储空间。数组中每一个元素具有 唯一的索引号,即元素的下标,用“数组 名(下标)”来标识数组中的某一个元素。 数组必须先定义然后才能使用。
(2)下标的形式:
下标的形式有两种,第一种是直接给 出一个常数,另一种是给出一个范围:[下 界 to 上界],下界最小可为−32 768,上 界最大为32 767,若省略下界,则其默认 值为0。一维数组元素的个数为:上界−下 界+1。
(3)As类型:
说明数组的类型,省略该参数默认为 是变体类型。 Dim语句定义的数组,实际上为系统编 译程序提供了几种信息:数组名、数组类 型、数组的维数和各维的大小,使系统分 配所需要的连续存储单元。例如: Dim a(10) As integer Dim Str (−5 to 5) as String*3
在数组声明中,下标关系到每一维的 大小,与数组名结合在一起,说明了数组 的整体。而在程序中出现的下标用于指明 数组元素,与数组名结合起来表示数组中 的一个元素。两者写法相同,但意义不同。 在数组声明时下标只能是常数,而在程序 中其他地方出现的数组元素的下标可以是 变量,读者要加以区分。
3.动态数组
首先声明了数组a是一维整型数组,有 11个元素,下标的范围为0~10。若在程序 中引用a(11),则系统会提示“下标越界” 的错误。 接着声明了数组Str是一维字符串类型 数组,有11个元素。下标的范围为−5~5, 每个元素最多存放3个字符。
2.多维数组
如果一个数组有两个以上的下标,则 该数组称为二维数组或多维数组。 Dim 数组名(下标1, 下标2, „)[As 类型]
1.静态数组
在定义时确定了大小的数组称为静态 数组。静态数组从建立到程序运行结束, 数组的维数和大小是不能改变的,它在内 存中使用一组连续的存储单元。
一维数组:
如果数组只有一个下标,那么这个 数组称为一维数组。声明一维数组的形 式如下: Dim 数组名(下标) [as 类型]
(1)下标:
下标必须为常数,不能是变量或表达 式。
表6.2
Erase语句对静态数组的影响
数 组 类 型 数值数组
Erase语句对数组元素的影响 将每个元素设为0
字符串数组(变长)
字符串数组(定长) Variant数组 用户定义类型的数组 对象数组
将每个元素设为0长度字符串(“”)
将每个元素设为定长的空字符串 将每个元素设为Empty 将每个元素作为单独的变量来设置 将每个元素设为Nothing
数组名(下标1, 下标2, „)
(1)在静态数组声明中的下标只能 是常量,在动态数组ReDim语句中的 下标可以是常量,也可以是有了确 定值的变量。
(2)在过程中可以多次使用ReDim 语句来改变数组的大小,也可以改 变数组的维数,但不能改变数组元 素的类型。
(3)每次使用ReDim语句都会使原 来数组中的各元素的值丢失,可以 在ReDim语句中使用Preserve参数用 来保留数组中原有的数据。但使用 Preserve参数后,ReDim只能改变数 组最后一维的大小。
相关文档
最新文档