工控随笔_15_西门子_WinCC的VBS脚本_05_变量类型之三_VBS数组
发布日期:2021-09-11 05:52:50 浏览次数:7 分类:技术文章

本文共 2558 字,大约阅读时间需要 8 分钟。

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

一、vbs中的数组类型

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

1、固定数组

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

不能改变了。

2、动态数组

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

设定数组的大小了。

 

二、实例

' vbs 中的数组'vbs中数组具有自己的特点'1、vbs中支持一维、二维和多位数组,最多能有60维'2、vbs中具有和C语言数组一样的下标规范,都是从下标0开始'3、vbs的下标比每一维的长度小1,这个比较多'4、vbs可以定义动态数组,即数组的维数和每一维的'定义一个一维数组Dim nArrTest(2)nArrTest(0) = 1nArrTest(1) = 2nArrTest(2) = 3MsgBox nArrTest(0) + nArrTest(1) + nArrTest(2)'定义维数固定的数组'定义一个 3行 2列的数组Dim strArrPhoneList(3,2)strArrPhoneList(0,0) = "Lily"strArrPhoneList(0,1) = "001"strArrPhoneList(0,2) = "138001"strArrPhoneList(1,0) = "Mike"strArrPhoneList(1,1) = "002"strArrPhoneList(1,2) = "138002"strArrPhoneList(2,0) = "Jack"strArrPhoneList(2,1) = "003"strArrPhoneList(2,2) = "138003" strArrPhoneList(3,0) = "Jone"strArrPhoneList(3,1) = "004"strArrPhoneList(3,2) = "138004"'这个地方有一个常数 vbCrLf 就是换行符号'还会回到行头home位置Dim strInformationstrInformation = "名字       学号        电话号码" & vbCrLf '循环遍历数组'对于固定的数组利用for循环是最好的遍历方式Dim nRowDim nColumnFor nRow = 0 To 3     For nColumn = 0 To 2        strInformation = strInformation & strArrPhoneList(nRow,nColumn)_                         &"           "    Next    strInformation = strInformation & vbCrLfNext'显示信息MsgBox strInformationMsgBox "数组一维的上界为: " & UBound(strArrPhoneList)MsgBox "数组二维的上界为: " & UBound(strArrPhoneList,2)'定义动态数组'输入一组数据Dim nArrSum()Dim nArrayLenDim nInputnArrayLen = 0Do    '这个地方利用了一个关键字, preserve 用来在改变动态数组的维度时    '保持原数组的数据不变    ReDim Preserve nArrSum(nArrayLen)    nInput = InputBox("请输入数值,输入 end 结束输入:","输入数据","0")    If IsNumeric(nInput) Then        nArrSum(nArrayLen) =nInput        nArrLen = nArrayLen + 1    Else        '这个地方需要注意,如果利用上面的方法输入要注意循环的次数        ReDim Preserve nArrSum(nArrLen - 1)        nArrayLen = nArrayLen - 1    End IfLoop While IsNumeric(nInput)Dim nLoopFor nLoop = 0 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、或者在页面右下角点推荐哟!!!

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

转载地址:https://blog.csdn.net/weixin_34406061/article/details/86027700 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:进程管理利器Supervisor--入门简介
下一篇:Idea开启Run DashBoard配置

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月06日 04时48分52秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

大疆机甲大师教育机器人Python开发:API中文化初尝试 2019-04-26
大疆机甲大师Python开发: 两只老虎 2019-04-26
大疆机甲大师教育机器人Python API中文化之一:枪亮枪暗 2019-04-26
大疆机甲大师教育机器人Python API中文化之二:LED闪烁 2019-04-26
大疆 RoboMaster 机甲大师官方刚刚开通”机甲小 S 实验室”知乎专栏 2019-04-26
大疆机甲大师教育机器人Python API中文化之三:底盘灯效 2019-04-26
大疆机甲大师教育机器人Python API中文化之四五:云台灯效,指定序号 2019-04-26
大疆机甲大师教育机器人Python API中文化之六:关灯 2019-04-26
“中文编程”知乎专栏两岁了——山雨欲来风满楼 2019-04-26
大疆机甲大师Python API之七:做个闹钟 2019-04-26
【意外走向】大疆机甲大师Python API之八:计时——为性能测试展开1000次循环 2019-04-26
RFC#2457——Rust 语言支持非 ASCII 码标识符在 GitHub 引发的激辩(一) 2019-04-26
RFC#2457——Rust 语言选择支持非 ASCII 码标识符在 GitHub 引发的激辩(二) 2019-04-26
”为什么有这么多人执着于中文编程?”回答两千赞留念及回应 2019-04-26
【家务】盘点小孩玩具零件缺失情况 2019-04-26
开发中文 API 的一些策略 2019-04-26
从日本编程书籍《我的第一本编程书》中译版看中文例程如何扬长避短——标识符(一) 2019-04-26
中文命名标识符如何区分类型和变量 2019-04-26
编程术语成系统中文化的意义 2019-04-26
草蟒 Python 中文 API 与 IDE 支持尝鲜 2019-04-26