1. 程式人生 > >工控隨筆_11_西門子_WinCC的VBS腳本_02_運算符

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

演示 volcano 余數 幫助 arc 原創 create 部分 ive

  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、比較運算符  >  <  =  >=  <=   <>   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) < 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_運算符