工控隨筆_11_西門子_WinCC的VBS腳本_02_運算符

  VBS腳本作爲編程語言,提供了不少的運算符,經過這些運算符,能夠實現不一樣的操做。運算符具備不一樣的類型html

不一樣的運算符之間具備運算優先級。shell

 

1、運算符的分類編程

  大致分爲如下幾類:編程語言

    一、賦值運算符ide

    二、算術運算符函數

    三、比較運算符學習

    四、邏輯運算符測試

    五、連接運算符spa

 

2、運算符的優先級code

  運算符具備優先級,優先級決定表達式中的運算順序,就和 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相乘。

 

3、實例代碼

'VBS腳本內置很豐富的運算符號
'一、賦值運算符  = 
'二、數學運算符  + - * /  mod (mod爲取餘數) \ (\爲整除運算)
'三、比較運算符  >  <  =  >=  <=   <>   is
'四、邏輯運算符  and  or  not  xor  Eqv  Imp
'五、鏈接運算符  &  和 +

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

 

4、Tips

  在VBS中,運算符的優先級直接決定表達式的運算結果,若是不肯定的話,那麼最好的方式就是增長

圓括號() 來強制規定運算順序,這樣會減小出錯的可能性。

 

--------------------------------------------------------------分割線---------------------------------------------------------------

一、文章均爲我的原創,歡迎轉載,轉載請保留出處:https://www.cnblogs.com/volcanol/

二、獲取工控PLC、變頻器、HMI、計算機、Windows、Linux、嵌入式資料點擊:獲取資料

三、若是您以爲文章對您有幫助可轉至頁面上半部分打賞,或移步:打賞 

四、或者在頁面右下角點推薦喲!!!

--------------------------------------------------------------分割線-------------------------------------------------------------

相關文章
相關標籤/搜索