精华内容
下载资源
问答
  • vb数组定义

    万次阅读 2005-06-16 11:56:00
    一、一维数组只有一个下标,数学上形如数列{ai}表示的数据均可用一维数组来处理。注意数组的输入与输出方法。Private Sub Command1_Click() Dim a(100) As Integer Dim s As Integer For i = 1 To 100 a(i) = i...

    一、一维数组

    只有一个下标,数学上形如数列{ai}表示的数据均可用一维数组来处理。注意数组的输入与输出方法。

    Private Sub Command1_Click()   

     Dim a(100) As Integer

        Dim s As Integer

        For i = 1 To 100

           a(i) = i                   

        Next i

         End Sub

    说明:为了养成编程的一些好的习惯,我们建议大家无论是否需要,还是带上s= 0,这样也便于理解。

    --------------------------------------------------------------------------

    二、二维数组

    通常是指由两个下标的数组元素所组成的数组。一个二维表格就是一个二维数组。

    数学上形如矩阵{aij}表示的数据均可用二维数组来处理。

    仍需注意数组的输入与输出方法。

    Private Sub Command1_Click()

     Dim a(1 To 4, 1 To 5) As Integer

     Dim b(1 To 4, 1 To 5) As Integer

     Dim c(1 To 4, 1 To 5) As Integer

     For i = 1 To 4

     For j = 1 To 5

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

      Next j

      Next i

     End Sub

     Dim a(1 To 4, 1 To 5) As Integer

     Dim b(1 To 4, 1 To 5) As Integer

     Dim c(1 To 4, 1 To 5) As Integer

     For i = 1 To 4

     For j = 1 To 5

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

      Next j

      Next i

     End Sub

    -----------------------------------------------------------------------

    三、字符串数组的定义 Dim a(1 To 10) As String

    -----------------------------------------------------------------

    四、多维数组

    由两个以上下标的数组元素所组成的数组。几何上一个立体坐标就可以用三维数组来表示

    Private Sub Command1_Click()

    Dim a(1 To 3, 1 To 4, 1 To 3) As Integer

        For i = 1 To 3

            For j = 1 To 4

                For k = 1 To 3

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

                Next k

            Next j

        Next i

            For j = 1 To 4

                For k = 1 To 3

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

                Next k

            Next j

        Next i

    end Sub

    展开全文
  • VB数组定义问题求助

    2014-05-24 22:49:56
    VB数组定义问题求助 我需要将一个变量​的数值作为数组的上限,但是编译的时候有错误提示,请问一下,这段话错在哪里,要如何写才正确,多谢各位了! 下面是代码: Dim iCount As Long iCount = Shapes.Count ...
  • vb.net 数组定义详解

    千次阅读 2017-08-10 16:53:13
    数组(Arrays),可以用相同名字引用一系列变量,并用数字(索引)来识别它们,在许多场合,使用数组可以...在vb.net中,所有的数组都是以“0”为起始长度的,这与vb 6.0完全不一样,在vb 6.0中,如果写下以下语句:

    数组(Arrays),可以用相同名字引用一系列变量,并用数字(索引)来识别它们,在许多场合,使用数组可以缩短和简化程序,因为可以利用索引值设计一个循环,高效处理多种情况。数组的元素下标是连续的。由于vb.net对每一个索引值都分配空间,所以不要不切实际地声明一个太大的数组。

    在vb.net中,所有的数组都是以“0”为起始长度的,这与vb 6.0完全不一样,在vb 6.0中,如果写下以下语句:
    Dim x(10) As Single

    可以假定x数组的元素从1到10的,但它实际上总是包含第0个元素,换句话来说,x数组实际上是含有11个元素。

    在vb.net中,这样的数组含有10个元素,编号为0到9,使我们在处理数组的长度和编号的情况与C、C++、C#和Java具有一致性,如下例:
    Dim Max As Integer
    Max=10
    Dim x(Max)
    For j=0 to Max-1
    x(j)=j
    Next j
    从上面例子可以看出,数组的最后一个元素的编号,总是数组的长度减1。

    展开全文
  • VB_08 数组 定义

    2010-09-17 15:39:09
    VB_08 数组 定义 基础 适合初学者 基本的定义语句 法则
  • hello各位小伙伴,从本章我们学习VB中的一个重要内容——数组。...数组的概念数组定义:相同数据类型的变量按一定顺序排列的集合。也就是说,数组不是一种数据类型,而是一种相同数据类型的集合。...
    hello各位小伙伴,从本章我们学习VB中的一个重要内容——数组。我们在编程时,如果涉及的数据量不是很多,那么可以直接定义几个变量用于存储和处理数据。但很多时候需要处理大量的数据,那么这种情况下则需要用到数组。利用数组进行数据存储与处理,可以极大简化程序、提高编程效率。数组的概念数组定义:相同数据类型的变量按一定顺序排列的集合。1252d63d566466e7bc3a282b56ec769b.png也就是说,数组不是一种数据类型,而是一种相同数据类型的集合一个数组包括数组名、数组元素、下标、数据类型。数组名:用于标识数组,类似于变量名,其代表了内存中整个连续的存储空间。数组元素:即数组中的变量具体的值,通过数组名和下标来引用数组中的元素。数组元素的个数就是数组的长度,在数组定义时确定(动态数组除外)。下标:默认从0开始,用于区分数组元素。数据类型:即数组中每个元素的数据类型,通常来说一个数组中的所有数据元素都是相同的数据类型。数据类型在数组定义时被确定。

    如上图所示,A(0)表示数组A的第一个元素,其值为5;A(1)表示数组A的第2个元素,其值为10;A(5)表示数组A的第6个也就是最后一个元素,其值为3。

    那为什么需要数组呢?我们在处理数据时,通常会定义个一个变量用来存储和处理数据。举个栗子,需要计算两个数相加的合值时,我们可以定义三个变量。如下面代码所示:
        Dim a%, b%, sum%    a = InputBox("输入第一个数")    b = InputBox("输入第二个数")    sum = a + b    MsgBox a & "+" & b & "=" & sum
    但是,如果数据量很大,比如需要计算100个数的合值时,该怎么做呢?如果还是使用上面的方法,定义100个变量,然后再把100个变量相加,那么代码将会非常的繁琐。各位可以尝试一下不用数组如何完成100个数相加。然后你会发现——好困难。哈哈,这样你才能在接下来深刻的理解数组的妙处。采用数组来解决上面这个问题时,只需要使用For循环就可以轻松完成任意数量的数相加问题。比如:
    Dim i%,sum as LongDim A%(99)'定义了一个数组,数组名为A,数组长度为100,数据类型是整数型    For i=0 To 99            sum=sum+A(i)    'A(i)表示数组元素    Next i
    如上所示,我们可以利用数组名+下标,将下标定义为一个循环变量i,在循环体内实现求解。这就是数组最大的好处了。当然上面这个例子并没有为数组赋值,因此默认为0。赋值的方法将在后面详细教学。OK,本节课程就到这里,相信大家对数组已经有了一个基本的认识了。我们下节课程再见吧。

    886dfa390c8c438c619461c1c30180f4.png

    展开全文
  • VB数组介绍

    2013-11-01 08:38:27
    详细讲解了VB数组的应用,并介绍了用户定义数组和控件数组的建立和使用。
  • 数组的概念在VB中,如果把一组有序的数或变量作为一个整体来处理,这一组数或变量称为数组数组中的每一个数或变量称为数组元素,每一个数组给定一个名称,叫做数组名,一个数组中各个数组元素之间的区别用数...

    数组讲解

    今天我们来学习有关数组的相关知识。

    为了解决大批量的数据处理问题,VB中提供了数组(Array)变量。数组是一种重要的数据结构,在许多程序设计语言中,都要直接或间接用到数组这种数据结构。

    数组的概念

    在VB中,如果把一组有序的数或变量作为一个整体来处理,这一组数或变量称为数组,数组中的每一个数或变量称为数组元素,每一个数组给定一个名称,叫做数组名,一个数组中各个数组元素之间的区别用数组名的下标来表示,放在数组名后的圆括号内。数组中的任意一个数组元素都可以存放一个数据,和使用简单变量一样,所以又称数组元素为下标变量。

    例如:用A来表示一个班50个同学的数学成绩,用A(1)表示1号同学的成绩;A(2)表示2号同学的成绩;A(3)表示3号同学的成绩;...;A(50)表示第50号同学的成绩。则A为数组名,A(1)、A(2)、A(3)等都称为A数组的元素。

    数组也有数值型和字符串型等类型之分。在一个数组中通常只能放置一种类型的数据,并且与数组的类型一致。

    此外,数组还有静态数组和动态数组之分。

    注意:在使用数组前通常都要对数组进行维数、类型及大小等内容的定义或说明。

    静态数组

    一、静态数组定义

    静态数组是在定义数组时就指定了数组维数的多少及数组的大小。

    1语法

    Dim  7354ef8d5ba37cf0f173b9b93266ff36.gif

    redim

    Static

    Public

    2、语法说明:

    (1)Dim:定义窗体模块数组。ReDim:在过程中定义。Static:在过程中定义。Public:在标准模块中定义全局数组。

    (2)数组名的命名规则和变量命名规则相同,但是数组名不能与一般变量同名。

    (3)凡是VB的数据类型,在数组中都可以说明和使用,当“As类型”省略时,为变体型数组(Variant)。

    (4)下限值和上限值的大小范围是从-32768至32767。下限值及关键字TO可以省略,当省略时下限值为0。使用数组时,其下标不能超出所定义的范围。下标可以是负数。

    (5)维数可以多达60维。

    (6)数组要先定义后使用。

    (7)在一个过程内部,数组名不能与某个变量同名。

    (8)Dim语句定义数据组,数值型元素置0,字符型元素置空字符串。

    (9)可用类型说明符说明数组类型。

    (10)若在定义时不指明下标,下标为0,这里可用Option Base 1定义下标为1。

    例子:数组定义举例

    定义的例子

    数组维数

    数组元素

    Dim A(5) As Integer

    整型

    一维

    A(0), A(1),A(2), A(3), A(4), A(5)

    Dim A(1 To 5) As String

    字符型

    A(1),A(2), A(3), A(4), A(5)

    Dim B(2,3) As Single

    单精度实型

    二维

    B(0,0)B(0,1)B(0,2)B(0,3)

    B(1,0)B(1,1)B(1,2)B(1,3)

    B(2,0)B(2,1)B(2,2)B(2,3)

    Dim B(1 To 2,1 To 3) As Integer

    ‘整型

    B(1,1)B(1,2)B(1,3)

    B(2,1)B(2,2)B(2,3)

    Dim C#(2,3,2) ‘双精度实型

    三维

    C(0,0,0)C(0,0,1)C(0,0,2)

    C(0,1,0)C(0,1,1)C(0,1,2)

    C(0,2,0)C(0,2,1)C(0,2,2)

    C(0,3,0)C(0,3,1)C(0,3,2)

    C(1,0,0)C(1,0,1)C(1,0,2)

    C(1,1,0)C(1,1,1)C(1,1,2)

    C(1,2,0)C(1,2,1)C(1,2,2)

    C(1,3,0)C(1,3,1)C(1,3,2)

    C(2,0,0)C(2,0,1)C(2,0,2)

    C(2,1,0)C(2,1,1)C(2,1,2)

    C(2,2,0)C(2,2,1)C(2,2,2)

    C(2,3,0)C(2,3,1)C(2,3,2)

    二、测试数组上、下标函数

    1、测试数组下标函数:Lbound(数组[,维])

    2、测试数组上标函数:Ubound(数组[,维])

    例子:

    Dim D(3, 5, 7,9) As String

    Private Sub Form_Click()

    Print LBound(D, 1),

    Print UBound(D, 1)

    Print LBound(D, 2),

    Print UBound(D, 2)

    Print LBound(D, 3),

    Print UBound(D, 3)

    Print LBound(D, 4),

    Print UBound(D, 4)

    End Sub

    结果显示:

    0    3

    0    5

    0    7

    0    9

    三、变体型(默认)数组

    若定义数组时不指定类型,则该数组是一个变体型数组。其元素的类型可以不同。

    即:Dim A(2,3)等同于:Dim A(2,3) As Variant

    例子:

    Dim A(5)

    Private Sub Form_Click()

    A(1) = "中华人民共和国"

    A(2) = 12345

     A(3) = 3456789

     A(4) = 987654321

     A(5) = "ABCDE" + "abcde"

     Print A(1)

    Print A(2)

    Print A(3)

    Print A(4)

    Print A(5)

    End Sub

    四、数组的操作

    数组的操作包括对数组元素进行数值的输入、输出和复制。

    1、数组元素的赋值

    方法一:用赋值语句对数组元素逐个赋值。

    例子:

    Dim A(5)

    Private Sub Form_Click()

     A(1) = "中华人民共和国"

    A(2) = 12345

     A(3) = 3456789

     A(4) = 987654321

     A(5) = "ABCDE" + "abcde"

     Print A(1)

     Print A(2)

     Print A(3)

     Print A(4)

     Print A(5)

    End Sub

    方法二:用赋值语句结合For循环语句。

    Dim D(0 To 2, 1 To 3) As Integer

    Private Sub Form_Click()

     For i = 0 To 2

       For j = 1 To 3

         D(i, j) = 100

         Print D(i, j)

       Next j

    Next i

    End Sub

    方法三:用InputBox函数。

    Dim array1(5) As Variant

    Private Sub Form_Click()

    For i = 1 To 5

     array1(i) = InputBox("输入元素的值:")

    Next i

    For i = 1 To 5

     Print array1(i)

    Next i

    End Sub

    方法四:对于 变体型一维数组,可应用Array()函数赋值。

    格式Array(值1,值2,值3… …)

    例子:设一个一维变体型数组ABC,不指定维数,用Array()函数赋值,然后显示元素值。

    Option Base 1

    Dim ABC

    Private Sub Form_Click()

     ABC = Array("One", "Two", "Three", "Four", 1, 2, 3, 4, 5, 6)

     For i = 1 To 10

       Print ABC(i)

     Next i

    End Sub

    2、数组元素值的输出

    用Print语句显示输出。前面有相应的例子。这里讨论如何进行“格式”输出。

    例子:设有一个单精度实型三维数组array2(2,3,4),其元素值:

    11 12 13 14

    15 16 17 18

    19 20 21 22

    31 32 33 34

    35 36 37 38

    39 40 41 42

    源程序如下:

    Option Base 1

    Dim array2(2, 3, 4) As Single

    Private Sub Form_Click()

    For i = 1 To 2

      For j = 1 To 3

         For k = 1 To 4

          array2(i, j, k) = InputBox("输入元素的值:")

    Next k

     Next j

    Next i

    For i = 1 To 2

      For j = 1 To 3

         For k = 1 To 4

           Print array2(i, j, k); "";

         Next k

         Print

     Next j

     Print

    Next i

    End Sub

    3、For Each … Next语句

    该语句是专门用于数组操作的语句。

    (1)语句格式

    For Each 成员 in 数组

    循环体

    [ Exit For]

    … …

    Next 成员

    (2)说明

    利用语句中的成员变量可实现数组元素的赋值、计算、显示等操作。

    例子:设一个二维数组array5(3,4),将其中的第一个元素赋值100,后面的元素依次再加1赋值

    Option Base 1

    Dim array5(3, 4)

    Private Sub Form_Click()

     n = 100

     For Each x In array5        ’x为成员

    x = n

       n = n + 1

       Print x

     Next x

    End Sub

    五、嵌套数组

    Visual Basic中,可以用一个数组作为另一个数组的元素。在使用时,可将一个数组(嵌套数组)赋值给另一个数组(被嵌套数组)的元素,嵌套数组名后面加空括号。

    要求:嵌套数组是数据类型,被嵌套数组不指定类型。

    例子:将数组a(4)赋给数组b(2)

    Dim a(4) As Integer

    Dim b(2)

    Private Sub Form_Click()

    For i = 1 To 4

     a(i) = i

     Next i

     b(1) = a()

    b(2) = a()

    Print b(1)(1)

    Print b(1)(2)

    Print b(1)(3)

    Print b(1)(4)

    Print

     Print b(2)(1)

    Print b(2)(2)

    Print b(2)(3)

    Print b(2)(4)

    End Sub

    动态数组

    动态数组是指其数组的维数及大小可以重新定义,根据应用的环境不同随时说明其维数及大小。“动态数组”是由变量作为下标的数组,其下标在程序运行时完成定义。

    一、动态数组的定义

    第一步:用Dim语句或Public语句定义一个只有空括号而无下标的数组。

    第二步:用ReDim定义带下标的数组。语句的格式:

    ReDim [Preserve] 变量(下标) As 类型

    在定义时,类型与Dim语句中的类型要一致。下标通过变量赋值解决。

    例子:

    Dim A() As Integer

    Private Sub Form_Click()

    n = InputBox("输入n的值:")

    ReDim A(n)

    For i = 1 To n

     A(i) = 12345

     Print A(i)

    Next i

    End Sub

    可以动态地定义多个数组。例子:

    Dim A() As Integer, B() As Integer

    Private Sub Form_Click()

    n = InputBox("输入n的值:")

    m = InputBox("输入m的值:")

    ReDim A(n, m)

    ReDim B(n, m)

    For i = 1 To n

      For j = 1 To m

        A(i, j) = 12345

        B(i, j) = 23456

        Print A(i, j), B(i, j)

    Next j

     Next i

    End Sub

    二、数组的清除和重定义

    数组一经定义,在内存中会分配相应的存储单元,其大小是不能改变的。即:在一个程序中,同一个数组只能定义一次。若清除数组内容或重新定义,要使用Erase语句。

    格式:

    Erase 数组名[,数组名]… …

    例子:

    Erase A,B,C

    1、清除静态数组的影响

    数组类型

    对元素的影响

    数值类型数组

    将元素值置0

    字符类型数组(变长)

    将元素值设为空字符串

    字符类型数组(定长)

    将元素值置0

    变体类型数组

    将元素值设为Empty

    用户定义类型数组

    将元素设为单独的变量

    对象数组

    将元素值设为Nothing

    例子:

    Dim A(3) As Integer

    Private Sub Command1_Click()

    For i = 1 To 3

       A(i) = 12345

       Print A(i)

    Next i

    End Sub

    Private Sub Command2_Click()

    Erase A

     For i = 1 To 3

       Print A(i)

    Next i

    End Sub

    2、清除动态数组的影响

    (1)系统会删除数组结构,并释放内存空间。

    (2)下次引用动态数组前,要用ReDim语句重新进行定义。

    三、数组应用算法--数据统计

    利用数组进行数据统计运算

    利用随机函数生成十个100以内的随机整数,计算出这十个数的总和及其平均值,并输出这十个数、总和及其平均值。

    问题分析对象设置把结果使用Print方法直接输出到窗体中,不用设置专用对象

    程序代码

    DimA(10)AsInteger

    Dim B As Single

    Sub Form_Load()

    Form1.Show

    Print  " 十个整数为:"

    For i=1 To 10             '循环产生10个随机整数

    A(I)=Int(Rnd*100)   '生成随机第i个整数

    PrintA(I);             '显示第i个数

    A(0)=A(0)+A(I)   '累加求和

    Next i

    Print

    B=A(0)/10            '求平均值

    Print "总和为:";A(0)

    Print "平均值为:";B

    End  Sub

    大家在学习过程中有不懂之处,可以添加微信号:vbyjk521 ,学习问题在线答疑。

    96685dffcc3eb7e733ff560d07c2093b.png

    4ce8afc8fb11b06e757e7520c06dab88.png



    046f1a1e6641590ae0d6bd6cc4b289ee.gif570e1652c53a53bdfaf1b2085750c4c8.png

    长按上图,关注跟我学VB公众平台

    更多VB知识,尽在跟我学VB

    展开全文
  • VB结构体数组定义

    2012-07-17 22:28:50
    我在程序中用到结构体:当结构体里面的数组都是一维时,我在结构体里面定义都没有定义维数:比如: Public Type O_Data data() As ObsVal ComSateRS() As XYZRS End Type Public obs_data() As O_Data ...
  • vb数组

    2013-02-13 17:42:52
    数组的分类:按静态动态分:静态数组和动态数组静态:数组的大小不可以改变动态:数组的大小可以通过ReDim从新定义,通过Preserve可以让从新定义数组仍然包含原数组的内容按维数分:一维和多维数组的声明一维数组...
  • vb数组题型分析 精品文档 精品文档 收集于网络如有侵权请联系管理员删除 收集于网络如有侵权请联系管理员删除 精品文档 收集于网络如有侵权请联系管理员删除 数组题型分析 29. 以下有关数组的说明中错误的是_29_ (A)...
  • 关键技术由于对数组进行删除元素的操作,会减少数组的长度,因此数组必须定义为动态数组。如果是静态数组则无法完成数组插入这项操作。由于VB并未直接提供删除数组元素的方法,因此我们需要间接的完成删除元素的操作...
  • VB数组的清除

    2019-09-27 12:22:31
    在一个程序中,同一数组只能用Dim语句定义一次。但有时可能需要清除数组的内容或对数组重新定义,这可以用:Erase语句来实现。 格式:Erase(数组名)[,(数组名)] 功能:用于重新初始化静态数组的元素,或者释放...
  • 数组在编程中的重要性不言而喻,在每种编程语言中数组都占据非常重要的地位,所以熟练应用数组去解决程序中的问题就显得尤为必要了。今天,我们共同来学习如何把一个元素...代码实现:程序代码:Dim a%(11) '定义...
  • 常规的给类对象数组是无法定义事件的,这个例子给了一些参考。
  • VB编程中,数组占据着非常重要的地位。而数组的知识点又很多,让初学者非常容易混淆与难于掌握。比如数组定义数组的初始化、多维数组、动态数组、控件数组数组排序、插入、交换等。今天,从数组定义数组...
  • VB.net里定义数组遇到个问题,并且初始化数组的内容。我定义数组是一个已经定义好的类型。文档里给出,这个类型是名称:Node。Node有两个属性,一个是ID,一个是Name。现在要定义一个Node类型的数组,并且初始化。 ...
  • Part 1: 数据的类型变量的定义(Dim等)。定义变量的时候可以同步定义变量的数据类型数据类型包括:整型integer,布尔Boolean,双精度浮点型Double,字符串String,变体型Variant等数据类型决定了变量在内存中的存储...
  • 定义一个数组如下: Dim Age(7) Age(0) = "1" Age(1) = "2" Age(2) = "3" Age(3) = "4" Age(4) = "5" Age(5) = "6" Age(6) = "7" Age(7) = "8" 这么写没有问题,难道是定义了8个元素的数组? Dim...
  • 我们都知道在全部程序设计语言中数组都是一个非常重要的概念,数组的作用是同意程序猿用同...本文主要介绍VB.NET数组的使用,希望对大家的使用带来帮助。 数组中的第一个元素的下标称为下界,最后一个元素的下标称...
  • 在Visual Studio 2019中使用vb.net编小程序的时候,因为提醒窗体数量不定,设想着能创建窗体可变数组来设置提醒,代码如下:Public frmtip() As ...‘假设已定义可变数组frmtip(1),重新定义frmtip(2)frmtip2) =...
  • VB编程中,数组占据着非常重要的地位。而数组的知识点又很多,让初学者非常容易混淆与难于掌握。比如数组定义数组的初始化、多维数组、动态数组、控件数组数组排序、插入、交换等。今天,从数组定义数组...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 446
精华内容 178
关键字:

vb数组定义