工控随笔_11_西门子_WinCC的VBS脚本_02_运算符
Posted volcanol
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工控随笔_11_西门子_WinCC的VBS脚本_02_运算符相关的知识,希望对你有一定的参考价值。
VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作。运算符具有不同的类型
不同的运算符之间具有运算优先级。
一、运算符的分类
大体分为以下几类:
1、赋值运算符
2、算术运算符
3、比较运算符
4、逻辑运算符
5、链接运算符
二、运算符的优先级
运算符具有优先级,优先级决定表达式中的运算顺序,就和 1 + 2 * 3 - 4 一样,先计算 2*3 , 然后得到的结果在和
1相加,最后在减去4, 这里先计算 * 然后再计算 + 和 - 就表示运算优先级。
算术运算符的优先级和我们学数学时的计算顺序一样。
大体是: 算术运算符 优先于 比较运算符, 比较运算符 优先于 逻辑运算符, 赋值运算符优先级最低。
例如: 1+ 2 > 3 and 2*4 < 5
这个就和我们数学里面一样,先计算 1+2 后与3比较得到一个结果A, 然后计算 2*4 再与5比较,得到一个结果B,最后
结果A和结果B最终进行逻辑运算得到整个表达式的值。
如果不确定那么可以通过增加圆括号来改变运算符的运算顺序,这个与我们在数学中学习到的一样。
例如: (1 + 2 ) * 3 , 在VBS中这个表达式的计算顺序与数学一致,先算 1+ 2, 然后得到的和再与3相乘。
三、实例代码
‘VBS脚本内置很丰富的运算符号 ‘1、赋值运算符 = ‘2、数学运算符 + - * / mod (mod为取余数) (为整除运算) ‘3、比较运算符 > < = >= <= <> is ‘4、逻辑运算符 and or not xor Eqv Imp ‘5、连接运算符 & 和 + Option Explicit ‘赋值运算符 Dim nLen Dim strName ‘利用赋值运算符将函数的返回值赋值给变量 strName = InputBox("请输入你的名字:","提示","volcanol") nLen = Len(strName) MsgBox nLen ‘数学运算符 ‘通过数学运算符对数字进行数学运算可以实现很多功能 ‘加法 Dim nAugend Dim nAddend Dim nSum nAugend = 10 nAddend = 20 nSum = nAugend + nAddend MsgBox "和是:" & nSum ‘减法 Dim nMinuend Dim nSubtractor Dim nSub nMinuend = 1000 nSubtractor = 999 nSub = nMinuend - nSubtractor MsgBox "差是:" & nSub ‘乘法 Dim fRadius Dim fPi Dim fCycle Dim fArea fRadius = 10.0 fPi = 3.1415926 fCycle = 2 * fPi * fRadius fArea = fPi * fRadius * fRadius MsgBox "周长是:" & fCycle MsgBox "面积是:" & fArea ‘除法 Dim fSquare Dim fRoot Dim fDivision fSquare = 81 fRoot = 9 fDivision = fSquare / fRoot MsgBox "商是:" & fDivision ‘求余数 Dim nDividend Dim nDivisor Dim nMod nDividend = 10 nDivisor = 3 nMod = nDividend Mod nDivisor MsgBox "余数为:" & nMod ‘比较运算符号 ‘比较运算符用来比较两个数、字符、或者字符串的大小 ‘下面演示大于号的比较,其他的不再演示 Dim strCompare(2) strCompare(1) = "volcanom" strCompare(2) = "volcanol" If strCompare(1) > strCompare(2) Then MsgBox "strCompare(1)大于strCompare(2)" Else MsgBox "strCompare(1)小于strCompare(2)" End If ‘is运算符 ‘is运算符用来比较两个对象是否是同一个对象 Dim objectA Dim objectB Dim objectC Set objectC = CreateObject("WScript.shell") Set objectA = objectC Set objectB = objectC If objectA Is objectB Then MsgBox "objectA 和 objectB 是同一个对象" Else MsgBox "objectA 和 objectB 不是同一个对象" End If ‘逻辑运算符 ‘逻辑运算符也可以叫做布尔逻辑运算符,其运算结果得到的布尔逻辑的 ‘true 或者 false, 注意VB有两个内置的常数TRUE 和 FALSE If True Then MsgBox "总是执行这一句" Else MsgBox "从来不会执行" End If If Not False Then MsgBox "false取非运算,得到结果为真,执行这一句" Else MsgBox "false取非运算,得到结果为真,不执行这一句" End if If 0 Then MsgBox "0的逻辑结果为假,这一句不执行" Else MsgBox "0的逻辑结果为假,执行这一句" End If If 3 Then MsgBox "非0数的逻辑结果为真,执行这一句" Else MsgBox "非0数的逻辑结果为真,这一句不执行" End If ‘下面两个例子,演示函数返回值参与逻辑运算 If strCompare(1) > strCompare(2) And MsgBox("输入选择测试",vbYesNo,"测试") Then MsgBox "逻辑与运算结果为真" Else MsgBox "逻辑与运算结果为假" End If If strCompare(1) < strCompare(2) or MsgBox("输入选择测试",vbYesNo,"测试") Then MsgBox "逻辑或运算结果为真" Else MsgBox "逻辑或运算结果为假" End If If 0 Xor 1 Then MsgBox "两个逻辑结果不一样的值进行异或得到的结果为真,执行这一句" Else MsgBox "两个逻辑结果不一样的值进行异或得到的结果为真,不执行这一句" End If
四、Tips
在VBS中,运算符的优先级直接决定表达式的运算结果,如果不确定的话,那么最好的方式就是增加
圆括号() 来强制规定运算顺序,这样会减少出错的可能性。
--------------------------------------------------------------分割线---------------------------------------------------------------
1、文章均为个人原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/
2、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料
3、如果您觉得文章对您有帮助可转至页面上半部分打赏,或移步:打赏
4、或者在页面右下角点推荐哟!!!
--------------------------------------------------------------分割线-------------------------------------------------------------
以上是关于工控随笔_11_西门子_WinCC的VBS脚本_02_运算符的主要内容,如果未能解决你的问题,请参考以下文章
工控随笔_07_西门子_WinCC利用命令行实现操作log日志
工控随笔_03_西门子_Step7项目打开后CPU显示问号解决方法
如何wincc中使用VBS脚本读写SQLServer数据库文件
如何用vbs程序批量改某个文件夹下的文件名?即原文件名前加001_,002_,......或者某些汉字:百度_,百度_...