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

2021-06-29 22:07

阅读:669

标签:put   arch   字符串   window   3.1   逻辑或   ips   cycle   个人   

  VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作。运算符具有不同的类型

不同的运算符之间具有运算优先级。

 

一、运算符的分类

  大体分为以下几类:

    1、赋值运算符

    2、算术运算符

    3、比较运算符

    4、逻辑运算符

    5、链接运算符

 

二、运算符的优先级

  运算符具有优先级,优先级决定表达式中的运算顺序,就和 1 + 2 * 3 - 4 一样,先计算 2*3 , 然后得到的结果在和

1相加,最后在减去4, 这里先计算 * 然后再计算 + 和 - 就表示运算优先级。

  算术运算符的优先级和我们学数学时的计算顺序一样。

  大体是: 算术运算符 优先于 比较运算符,  比较运算符 优先于 逻辑运算符,  赋值运算符优先级最低。

  例如:   1+ 2  >  3  and   2*4

  这个就和我们数学里面一样,先计算 1+2 后与3比较得到一个结果A,  然后计算 2*4 再与5比较,得到一个结果B,最后

结果A和结果B最终进行逻辑运算得到整个表达式的值。

  如果不确定那么可以通过增加圆括号来改变运算符的运算顺序,这个与我们在数学中学习到的一样。

  例如:  (1 + 2 ) *  3 , 在VBS中这个表达式的计算顺序与数学一致,先算 1+ 2, 然后得到的和再与3相乘。

 

三、实例代码

VBS脚本内置很丰富的运算符号1、赋值运算符  = 2、数学运算符  + - * /  mod (mod为取余数) \ (\为整除运算)3、比较运算符  >  =     is4、逻辑运算符  and  or  not  xor  Eqv  Imp5、连接运算符  &  和 +

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) 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_运算符

标签:put   arch   字符串   window   3.1   逻辑或   ips   cycle   个人   

原文地址:https://www.cnblogs.com/volcanol/p/10001392.html


评论


亲,登录后才可以留言!