分享

VB程序设计数组

 你喜欢那个 2012-05-13

7.1  数组的概念

7.1.1  数组的定义

1.数组的定义

2.什么是

7.1.2          静态数组与动态数组

1. 静态数组

l         以一维数组为例,其语法格式为

[Dim | Static | Private |Public] <数组名>[Lower to] Upper[As 元素类型说明]

其中,[Dim | Static | Private | Public]可选项指明数组的作用域。

Dim声明为过程级数组;

Static声明为静态过程级数组;

Private声明为模块级数组;

Public声明为全局数组;

[Lower to] Upper指明数组的上下界,下界可以省略,其默认下界为0

【例7.1】建立两个数组,一个包含整数,而另一个包含字符串。然后声明一个Variant数组,并将整数数组和字符串数组放置其中。

1)创建Command1,编写单击事件过程

2)程序功能

l         简单介绍静态二维数组与三维数组。

2.动态数组

一维动态数组的声明语法格式如下

[Dim | Static | Private | Public] <数组名>()[As 元素类型说明]

创建动态数组的步骤为:

(1) 声明数组为动态数组,只须给数组附以一个空的维数表。

(2) 在使用数组之前,使用ReDim语句声明其下标,以确定数组的维数以及元素的个数,并立即为其分配存储空间。

7.2  数组的基本操作

7.2.1  数组元素的输入

1. 使用赋值语句为数组元素赋初值

【例7.2】使用赋值语句对数组进行初始化。

Private Sub Form_Click()     

   Dim week(6) As String

   week(0)="Sunday"

   week(1)="Monday"

   print week(0),week(1)

End Sub

2. 使用Array 函数为一维数组赋初值

Array函数语法格式为

Dim <数组名> As Variant

<数组名>=Array(<列表>)

【例7.3】使用Array函数给数组City的元素赋初值。

编写窗体的单击事件过程如下:

Private Sub Form_Click()

   Dim City() As Variant

   City()=Array("北京","上海","西安","长沙")

   For  i =0 to 3

         Print "City("; i ; ")= ";City(i)

   Next i

End Sub

3. 使用InputBox函数为多维数组赋初值

【例7.4】给数组Fruit4)的元素赋初值。

Dim Fruit(4)  As  String

For i = 1 To 4

   Day(i) = InputBox("enter Day: ")

Next i

7.2.2  For Each…Next语句

1.         For Each…Next循环的语法:

For Each element In group

Statement

Next element

2.         使用For Each…Next时的几点限制:

对于集合,element只能是一个Variant变量的名字,或一般的Object对象变量,或“对象浏览器”中列出的对象。对于普通数组。element 只能是Variant变量。For Each…Next不能与用户自定义类型的数组一起使用,因为Variant 不可能包含用户自定义类型。

3.         举例说明:下面的了过程利用For Each…Next结构输出字符型数组a中的每一个元素

Private Sub Form_Click()

  Dim a()    As String

   Dim x As Variant

  N = InputBox("请输入一个整数")  '随意指定一个数

  ReDim a(1 To N) As String        '按指定的数N调整数组a的大小

  For i = 1 To N                 '用常规ForNext循环语句给数组a各元素赋值

   a(i) = "" & i & "个元素"

  Next i

  For Each x In a                 'For EachNext结构输出数组a各元素的值

    Print x    '注意用到Variant变量x

  Next

End Sub

7.2.3  数组间的初始化

举例说明。

【例7.5】将数组D整体赋值给数组E

Dim D4 As String ,E() As string

D(0)="王华":D(1)="黎明":D(2)="白雪":D(3)="刘芳":D(4)="吴情"

E =D

通过数组间的赋值,将数组D整体赋值给数组E,同时数组E的大小被确定为5

7.2.4  数组的输出

举例说明。

【例7.6】随机产生二维数组a(3,3),交换最左边和最右边的两列元素,然后输出对角线上的元素。

编写窗体的单击事件过程如下:

Private Sub Form_Click()

   Dim a(3, 3) As Integer

   For i = 0 To 3

      For j = 0 To 3

         a(i, j) = Int(90 * Rnd + 10)      

      Next j

   Next  i

   For i = 0 To 3

      Print

      For j = 0 To 3

         Print a(i, j);

      Next j

   Next i      

   For i = 0 To 3

     temp = a(i, 0): a(i, 0) = a(i, 3): a(i, 3) = temp

   Next i

   Print

   Print "输出数组对角线元素"

   For i = 0 To 3

      If i - (3 - i) <= 0 Then

        Print Tab(i * 3 + 1); a(i, i); Spc((2 - 2 * i) * 3 + 1); a(i, 3 - i)

      Else

        Print Tab((3 - i) * 3 + 1);a(i, 3 - i);Spc((2 * i - 4) * 3 + 1); a(i, i)

      End If

   Next i

End Sub

7.3  

7.3.1  控件数组的概念

控件数组是一组具有相同名称(即Name属性相同)和类型的控件,比如一组按钮或一组单选钮,这些控件共享相同的事件过程。与其他类型的数组一样,控件数组中的每个控件都有惟一的下标,其下标值由Index属性指定。

7.3.2  创建控件数组

1.         创建一个控件数组的步骤。

2.         举例说明。

小结:

数组这个概念,在各种编程语言中都有出现。数组,简言之,就是将一连串数字聚集在一起,形成组这个概念,其功能中存储一系列类型相同的变量,并且可以用相同名称引用这些变量,当使用多个类型和功能一致的数据时,使用数组可缩短和简化程序。本讲重点介绍数组的概念、定义和使用方法及其在程序设计中的应用。

作业:

1.什么是静态数组?什么是动态数组?二者有什么区别?

2.使用控件数组有什么好处?如何创建控件数组?

3.对于动态数组,如何实现既增加数组元素的个数,又保存该数组中原有的值?

4.举例说明控件数组中不同的数组元素可以对同一事件过程有不同的响应。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多