数组是一种复杂数据类型,不但有数组本身的数据类型: 数组,还有数组元素中存储的数据的类型。

一、vbs中的数组类型

  在VBS中提供了两种数组类型,一种是固定数组,一种是动态数组。

1、固定数组

  就是在定义的时候数组的大小固定了,也就是说一旦定义了固定的数组,那么数组能存储多少的数据就

不能改变了。

2、动态数组

  就是在定义的时候并不指定数组的大小,在运行的时候动态的指定数组的大小,这样就能根据实际情况

设定数组的大小了。

二、实例

' vbs 中的数组

'vbs中数组具有自己的特点
'1、vbs中支持一维、二维和多位数组,最多能有60维
'2、vbs中具有和C语言数组一样的下标规范,都是从下标0开始
'3、vbs的下标比每一维的长度小1,这个比较多
'4、vbs可以定义动态数组,即数组的维数和每一维的 '定义一个一维数组
Dim nArrTest()
nArrTest() =
nArrTest() =
nArrTest() =
MsgBox nArrTest() + nArrTest() + nArrTest() '定义维数固定的数组
'定义一个 3行 2列的数组
Dim strArrPhoneList(,)
strArrPhoneList(,) = "Lily"
strArrPhoneList(,) = ""
strArrPhoneList(,) = "" strArrPhoneList(,) = "Mike"
strArrPhoneList(,) = ""
strArrPhoneList(,) = "" strArrPhoneList(,) = "Jack"
strArrPhoneList(,) = ""
strArrPhoneList(,) = "" strArrPhoneList(,) = "Jone"
strArrPhoneList(,) = ""
strArrPhoneList(,) = "" '这个地方有一个常数 vbCrLf 就是换行符号
'还会回到行头home位置
Dim strInformation
strInformation = "名字 学号 电话号码" & vbCrLf '循环遍历数组
'对于固定的数组利用for循环是最好的遍历方式
Dim nRow
Dim nColumn
For nRow = To
For nColumn = To
strInformation = strInformation & strArrPhoneList(nRow,nColumn)_
&" "
Next
strInformation = strInformation & vbCrLf
Next
'显示信息
MsgBox strInformation
MsgBox "数组一维的上界为: " & UBound(strArrPhoneList)
MsgBox "数组二维的上界为: " & UBound(strArrPhoneList,) '定义动态数组
'输入一组数据
Dim nArrSum()
Dim nArrayLen
Dim nInput nArrayLen =
Do
'这个地方利用了一个关键字, preserve 用来在改变动态数组的维度时
'保持原数组的数据不变
ReDim Preserve nArrSum(nArrayLen)
nInput = InputBox("请输入数值,输入 end 结束输入:","输入数据","")
If IsNumeric(nInput) Then
nArrSum(nArrayLen) =nInput
nArrLen = nArrayLen +
Else
'这个地方需要注意,如果利用上面的方法输入要注意循环的次数
ReDim Preserve nArrSum(nArrLen - )
nArrayLen = nArrayLen -
End If
Loop While IsNumeric(nInput) Dim nLoop
For nLoop = To nArrayLen
MsgBox nArrSum(nLoop)
Next '要注意函数ubound对于一维数组的返回值一直是0,也就是说
'这个函数主要针对多维数组才有意义
MsgBox "动态数组的一维的上界为: " & UBound(nArrSum) '数组的清除
'vbs中提供了一项方便的功能来清除数组
'Erase语句
Erase nArrSum
'下面的语句不能执行应为
'MsgBox "通过Erase语句清除动态数组后的维数为: " & UBound(nArrSum,1)

三、Tips

  数组的应用主要要注意数组的下标的下界和上届,对于动态数组,需要注意。Ubound函数的限制也需要

注意。

--------------------------------------------------------------分割线---------------------------------------------------------------

1、文章均为个人原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/

2、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料

3、如果您觉得文章对您有帮助可转至页面上半部分打赏,或移步:打赏 

4、或者在页面右下角点推荐哟!!!

--------------------------------------------------------------分割线---------------------------------------------------------------

工控随笔_15_西门子_WinCC的VBS脚本_05_变量类型之三_VBS数组的更多相关文章

  1. 工控随笔_13_西门子_WinCC的VBS脚本_04_变量类型之二

    上一个随笔说了一些关于vbs变量类型的内容,这一篇我们继续说说变量类型相关的内容. 一.NULL补充内容 '需要注意的是,NULL不能简单通过 = 来进行比较,而必须通过 'IsNull函数来实现 ' ...

  2. 工控随笔_12_西门子_WinCC的VBS脚本_03_变量类型

    说到编程语言,总是绕不开数据类型,因为数据类型决定了数据可以进行什么样的操作.同时数据类型 从广义上来说是一种数据结构,在过程式编程的过程中,曾经有过这样一种说法: 程序 = 数据结构 + 算法 可见 ...

  3. 工控随笔_18_西门子_WinCC的VBS脚本_07_变量作用域和传值、传址

    在vbs脚本中也存在和其他编程语言一样的概念,那就是变量的作用域,变量的作用域决 定在什么范围内可以访问. 同样的在vbs脚本中对于变量也有一个生命周期, 变量的生命周期决定了变量的存续时间 这个主要 ...

  4. 工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门

    很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两 ...

  5. 工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01

    最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定 ...

  6. 工控随笔_20_西门子_WinCC的VBS脚本_09_常量和流程控制_02

    vbs不但提供了分支结构,还提供了丰富的循环形式.一共有3种循环: 1.for循环 2.do...loop循环 3.while循环 各种循环有各自的特点,在使用的时候可以进行转换. 前面已经描述过Fo ...

  7. 工控随笔_19_西门子_WinCC的VBS脚本_08_常量和流程控制_01

    在编程的过程中,有时候我们会使用一些固定的值,例如圆周率,或者某个人的生日,或者家庭住址等等, 这些信息对于一个对象来说一旦确定就不会改变,因此我们在编程的时候也不希望这些信息会改变,在VBS里面 也 ...

  8. 工控随笔_17_西门子_WinCC的VBS脚本_06_过程和函数

    和其他语言一样,vbs提供了过程和函数机制,通过函数和过程可以优化代码结构和实现代码复用, 减少代码的编写量. 一.代码 具体不再多说,看实例代码. ' vbs的函数和过程 '1.过程式编程是一大编程 ...

  9. 工控随笔_11_西门子_WinCC的VBS脚本_02_运算符

    VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作.运算符具有不同的类型 不同的运算符之间具有运算优先级. 一.运算符的分类 大体分为以下几类: 1.赋值运算符 2.算术运 ...

随机推荐

  1. TSMBIOS

    TSMBIOS Object Pascal language (Delphi or Free Pascal). https://github.com/RRUZ/tsmbios

  2. linux中tar及压缩解压命令用法

    把常用的tar解压命令总结下,当作备忘: tar 命令可以为Linux的文件和目录创建档案.利用 tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向 档案中加入新的文件.t ...

  3. 剑指Offer 64. 滑动窗口的最大值 (其他)

    题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6 ...

  4. C++编程题#1:含k个3的数

    描述 输入二个正整数m 和 k,其中1 < m < 100000,1 < k <5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO. 例 ...

  5. Knowledge From Practice(rf,fiddler)

     1.较精准定位 2.关于Appium+RF的轴表达式 child:选取当前节点的所有子元素 parent:选取当前节点的直接父元素 descendant:选取当前节点的所有后代元素 ancestor ...

  6. python常量 变量 数据类型 注释 交互 if语句

    1.认识python python的创始人吉多·范罗苏姆(Guido van Rossum )龟叔在89年圣诞节开始开发python python属于解释型语言,强类型定义语言. 编译型/解释型:编译 ...

  7. spring cloud_1_mm_eureka

    有的人不知道导什么包 什么版本好 可能教程版本十几根本不能用 这里建议直接用idea生成 避免麻烦 eureka-sever application.yml #注册中心端口 server: port: ...

  8. VIM:Found a swap file by the name

    在linux下用vi或vim打开Test.java文件时 [root@localhost tmp]# vi Test.java出现了如下信息: E325: ATTENTION    Found a s ...

  9. Sql 查询当天、本周、本月记录、上周、上月记录

    查询当天: select * from info where DateDiff(dd,datetime,getdate())=0 查询24小时内: select * from info where D ...

  10. 浅谈session和cookie

    含义: session(会话):指用户登录网站后的一系列动作,比如浏览商品添加到购物车并购买 cookie:用户身份的一种标识 区别: 1.Cookie通过在客户端记录信息确定用户身份,Session ...