QTP中常用的VB函數

來源:互聯網
上載者:User

 

Left 函數
返回 Variant (String),其中包含字串中從左邊算起指定數量的字元。
文法
Left(string, length)
Left 函數的文法有下面的具名引數:
 
部分 說明   
string 必要參數。字串運算式其中最左邊的那些字元將被返回。如果 string 包含 Null,將返回 Null。   
length 必要參數;為 Variant (Long)。數值運算式,指出將返回多少個字元。如果為 0,返回零長度字串 ("")。如果大於或等於 string 的字元數,則返回整個字串。 

說明
欲知 string 的字元數,使用 Len 函數。
注意    LeftB 函數作用於包含在字串中的位元組資料。所以 length 指定的是位元組數,而不是要返回的字元數。

Mid 函數
從字串中返回指定數目的字元。
Mid(string, start[, length])
參數
string
字串運算式,從中返回字元。如果 string 包含 Null,則返回 Null。
Start
string 中被提取的字元部分的開始位置。如果 start 超過了 string 中字元的數目,Mid 將返回零長度字串 ("")。
Length
要返回的字元數。如果省略或 length 超過文本的字元數(包括 start 處的字元),將返回字串中從 start 到字串結束的所有字元。
說明
要判斷 string 中字元的數目,可使用 Len 函數。
下面的樣本利用 Mid 函數返回字串中從第四個字元開始的六個字元:
Dim MyVar
MyVar = Mid("VB指令碼is fun!", 4, 6) 'MyVar 包含 "Script"。
注意   MidB 函數與包含在字串中的位元組資料一起使用。其參數不是指定字元數,而是位元組數。

Len 函數
返回字串內字元的數目,或是儲存一變數所需的位元組數。
Len(string | varname)
參數
string
任意有效字串運算式。如果 string 參數包含 Null,則返回 Null。
Varname
任意有效變數名。如果 varname 參數包含 Null,則返回 Null。
說明
下面的樣本利用 Len 函數返回字串中的字元數目:
Dim MyString
MyString = Len("VBSCRIPT") 'MyString 包含 8。
注意   LenB 函數與包含在字串中的位元組資料一起使用。LenB 不是返回字串中的字元數,而是返回用於代表字串的位元組數。

Right 函數
從字串右邊返回指定數目的字元。
Right(string, length)
參數
string
字串運算式,其最右邊的字元被返回。如果 string 參數中包含 Null,則返回 Null。
Length
數值運算式,指明要返回的字元數目。如果為 0,返回零長度字串;如果此數大於或等於 string 參數中的所有字元數目,則返回整個字串。
說明
要確定 string 參數中的字元數目,使用 Len 函數。
下面的樣本利用 Right 函數從字串右邊返回指定數目的字元:
Dim AnyString, MyStr
AnyString = "Hello World"      ' 定義字串。
MyStr = Right(AnyString, 1)    ' 返回 "d"。
MyStr = Right(AnyString, 6)    ' 返回 " World"。
MyStr = Right(AnyString, 20)   ' 返回 "Hello World"。
注意   RightB 函數用於字串中的位元組資料,length 參數指定返回的是位元組數目,而不是字元數目。

InStr 函數
返回某字串在另一字串中第一次出現的位置。
InStr([start, ]string1, string2[, compare])
參數
start
可選項。數值運算式,用於設定每次搜尋的開始位置。如果省略,將從第一個字元的位置開始搜尋。如果 start 包含 Null,則會出現錯誤。如果已指定 compare,則必須要有 start 參數。
string1
必選項。接受搜尋的字串運算式。
string2
必選項。要搜尋的字串運算式。
compare
可選項。指示在計運算元字串時使用的比較類型的數值。有關數值,請參閱“設定”部分。如果省略,將執行二進位比較。
設定
compare 參數可以有以下值:
 
常數 值 描述   
vbBinaryCompare 0 執行二進位比較。   
vbTextCompare 1 執行文本比較。 
傳回值
InStr 函數返回以下值:
 
如果 InStr 返回   
string1 為零長度 0   
string1 為 Null Null   
string2 為零長度 start   
string2 為 Null Null   
string2 沒有找到 0   
在 string1 中找到 string2 找到匹配字串的位置   
start > Len(string2) 0 
說明
下面的樣本利用 InStr 搜尋字串:
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' 要搜尋的字串。
SearchChar = "P"   ' Search for "P".
MyPos = Instr(4, SearchString, SearchChar, 1)   ' 在位置 4 進行的文本比較。返回 6。
MyPos = Instr(1, SearchString, SearchChar, 0)   ' 在位置 1 進行的二進位比較。返回 9。
MyPos = Instr(SearchString, SearchChar)   ' 預設情況下,進行的是二進位比較(省略了最後的參數)。返回 9。
MyPos = Instr(1, SearchString, "W")   ' 在位置 1 進行的二進位比較。返回 0(找不到 "W")。
注意   InStrB 函數使用包含在字串中的位元組資料,所以 InStrB 返回的不是一個字串在另一個字串中第一次出現的字元位置,而是位元組位置。

LTrim、RTrim與 Trim 函數
返回不帶前置空格 (LTrim)、後續空格 (RTrim) 或前置與後續空格 (Trim) 的字串副本。
LTrim(string)
RTrim(string)
Trim(string)
string 參數是任意有效字串運算式。如果 string 參數中包含 Null,則返回 Null。
說明
下面的樣本利用 LTrim, RTrim, 和 Trim 函數分別用來除去字串開始的空格、尾部空格、 開始和尾部空格:
Dim MyVar
MyVar = LTrim("   vbscript ")   'MyVar 包含 "vbscript "。
MyVar = RTrim("   vbscript ")   'MyVar 包含 "   vbscript"。
MyVar = Trim("   vbscript ")   'MyVar 包含 "vbscript"。

Rnd 函數
返回一個隨機數。
Rnd[(number)]
number 參數可以是任意有效數值運算式。
說明
Rnd 函數返回一個小於 1 但大於或等於 0 的值。number 的值決定了 Rnd 產生隨機數的方式:
 
如果 number 為 Rnd 產生   
小於零 每次都相同的值,使用 number 作為種子。   
大於零 序列中的下一個隨機數。   
等於零 最近產生的數。   
省略 序列中的下一個隨機數。 
因每一次連續調用 Rnd 函數時都用序列中的前一個數作為下一個數的種子,所以對於任何最初給定的種子都會產生相同的數列。
在調用 Rnd 之前,先使用無參數的 Randomize 語句初始化隨機數產生器,該產生器具有基於系統計時器的種子。
要產生指定範圍的隨機整數,請使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
這裡, upperbound 是此範圍的上界,而 lowerbound 是此範圍內的下界。
注意   要重複隨機數的序列,請在使用數值參數調用 Randomize 之前,立即用負值參數調用 Rnd。使用同樣 number 值的 Randomize 不能重複先前的隨機數序列。

Randomize 語句
初始化隨機數產生器。
文法
Randomize [number]
可選的 number 參數是 Variant 或任何有效數值運算式。
說明
Randomize 用 number 將 Rnd 函數的隨機數產生器初始化,該隨機數產生器給 number 一個新的種子值。如果省略 number,則用系統計時器返回的值作為新的種子值。
如果沒有使用 Randomize,則(無參數的)Rnd 函數使用第一次調用 Rnd 函數的種子值。
注意 若想得到重複的隨機數序列,在使用具有數值參數的 Randomize 之前直接調用具有負參數值的 Rnd。使用具有同樣 number 值的 Randomize 是不會得到重複的隨機數序列的。
Rnd 函數樣本
本樣本使用 Rnd 函數隨機產生一個 1 到 6 的隨機整數。
本樣本用 Randomize 語句初始化隨機數產生器。由於忽略了數值參數, 所以 Randomize 用 Timer 函數的傳回值作為新的隨機數種子值。

Dim MyValue
Randomize   ' 對隨機數產生器做初始化的動作。

MyValue = Int((6 * Rnd) + 1)   ' 產生 1 到 6 之間的隨機數值。
Split函數
描述
返回一個下標從零開始的一維數組,它包含指定數目的子字串。
文法
Split(expression[, delimiter[, count[, compare]]])
Split函數文法有如下幾部分:
 
部分 描述   
expression 必需的。包含子字串和分隔字元的字串運算式 。如果expression是一個長度為零的字串(""),Split則返回一個空數組,即沒有元素和資料的數組。   
delimiter 可選的。用於標識子字串邊界的字串字元。如果忽略,則使用空白字元(" ")作為分隔字元。如果delimiter是一個長度為零的字串,則返回的數組僅包含一個元素,即完整的 expression字串。   
count 可選的。要返回的子字串數,–1表示返回所有的子字串。   
compare 可選的。數字值,表示判別子字串時使用的比較方式。關於其值,請參閱“設定值”部分。 

設定值
compare參數的設定值如下:
 
常數 值 描述   
vbUseCompareOption –1 用Option Compare語句中的設定值執行比較。   
vbBinaryCompare 0 執行二進位比較。   
vbTextCompare 1 執行文字比較。   
vbDatabaseCompare 2 僅用於Microsoft Access。基於您的資料庫的資訊執行比較。 

Replace 函數
返回字串,其中指定數目的某子字串被替換為另一個子字串。
Replace(expression, find, replacewith[, compare[, count[, start]]])
參數
expression
必選項。字串運算式包含要替代的子字串。
Find
必選項。被搜尋的子字串。
Replacewith
必選項。用於替換的子字串。
Start
可選項。expression 中開始搜尋子字串的位置。如果省略,預設值為 1。在和count 關聯時必須用
count
可選項。執行子字串替換的數目。如果省略,預設值為 -1,表示進行所有可能的替換。在和 start 關聯時必須用。
Compare
可選項。指示在計運算元字串時使用的比較類型的數值。有關數值,請參閱“設定”部分。如果省略,預設值為 0 ,這意味著必須進行二進位比較。
設定
compare 參數可以有以下值:
 
常數 值 描述   
vbBinaryCompare 0 執行二進位比較。   
vbTextCompare 1 執行文本比較。 
傳回值
Replace 返回以下值:
 
如果 Replace 返回   
expression 為零長度 零長度字串 ("")。   
expression 為 Null 錯誤。   
find 為零長度 expression 的副本。   
replacewith 為零長度 expression 的副本,其中刪除了所有由 find 參數指定的內容。   
start > Len(expression) 零長度字串。   
count 為 0 expression 的副本。 
說明
Replace 函數的傳回值是經過替換(從由 start 指定的位置開始到 expression 字串的結尾)後的字串,而不是原始字串從開始至結尾的副本。
下面的樣本利用 Replace 函數返回字串:
Dim MyString
MyString = Replace("XXpXXPXXp", "p", "Y")   '二進位比較從字串左端開始。返回 "XXYXXPXXY"。
MyString = Replace("XXpXXPXXp", "p", "Y", '文本比較從第三個字元開始。返回 "YXXYXXY"。3,, -1, 1)

StrComp 函數
返回一個表明字串比較結果的值。
StrComp(string1, string2[, compare])
參數
string1
必選項。任意有效字串運算式。
string2
必選項。任意有效字串運算式。
Compare
可選項。指示在計算字串時使用的比較類型的數值。如果省略,則執行二進位比較。有關數值,請參閱“設定”部分。
設定
compare 參數可以有以下值:
 
常數 值 描述   
vbBinaryCompare 0 執行二進位比較。   
vbTextCompare 1 執行文本比較。 
傳回值
StrComp 函數有以下傳回值:
 
如果 StrComp 返回   
string1 小於 string2 -1   
string1 等於 string2 0   
string1 大於 string2 1   
string1 或 string2 為 Null Null 
說明
下面的樣本利用 StrComp 函數返回字串比較的結果。如果第三個參數為 1 執行文本比較;如果第三個參數為 0 或者省略執行二進位比較。
Dim MyStr1, MyStr2, MyComp
MyStr1 = "ABCD": MyStr2 = "abcd"   '定義變數。
MyComp = StrComp(MyStr1, MyStr2, 1)   ' 返回 0。
MyComp = StrComp(MyStr1, MyStr2, 0)   ' 返回 -1。
MyComp = StrComp(MyStr2, MyStr1)   ' 返回 1。

CInt 函數
返回運算式,此運算式已被轉換為 Integer 子類型的 Variant。
CInt(expression)
expression 參數是任意有效運算式。
說明
通常,可以使用子類型轉換函式書寫代碼,以顯示某些操作的結果應被表示為特定的資料類型,而不是預設類型。例如,在出現貨幣、單精確度或雙精確度運算的情況下,使用 CInt 或 CLng 強制執行整數運算。
CInt 函數用於進行從其他資料類型到 Integer 子類型的國際公認的格式轉換。例如對十進位分隔字元(如千分符)的識別,可能取決於系統的地區設定。
如果 expression 在 Integer 子類型可接受的範圍之外,則發生錯誤。
下面的樣本利用 CInt 函數把值轉換為 Integer:
Dim MyDouble, MyInt
MyDouble = 2345.5678      ' MyDouble 是 Double。
MyInt = CInt(MyDouble)    ' MyInt 包含 2346。
注意   CInt 不同於 Fix 和 Int 函數刪除數值的小數部分,而是採用四捨五入的方式。當小數部分正好等於 0.5 時, CInt 總是將其四捨五入成最接近該數的偶數。例如, 0.5 四捨五入為 0, 以及 1.5 四捨五入為 2.

CStr 函數
返回運算式,該運算式已被轉換為 String 子類型的 Variant。
CStr(expression)
expression 參數是任意有效運算式。
說明
通常,可以使用子類型轉換函式書寫代碼,以顯示某些操作的結果應被表示為特定的資料類型,而不是預設類型。例如,使用 CStr 強制將結果表示為 String。
CStr 函數用於替代 Str 函數來進行從其他資料類型到 String 子類型的國際公認的格式轉換。例如對十進位分隔字元的識別取決於系統的地區設定。
expression 根據下表決定返回的資料:
 
如果 expression 為 CStr 返回   
Boolean 字串,包含 True 或 False。   
Date 字串,包含系統的短日期格式日期。   
Null 執行階段錯誤。   
Empty 零長度字串 ("")。   
Error 字串,包含跟隨有錯誤號碼的單詞 Error。   
其他數值 字串,包含此數字。 
下面的樣本利用 CStr 函數把數字轉換為 String:
Dim MyDouble, MyString
MyDouble = 437.324         ' MyDouble 是雙精確度值。
MyString = CStr(MyDouble)  ' MyString 包含 "437.324"。

LCase 函數
返回字串的小寫形式。
LCase(string)
string 參數是任意有效字串運算式。如果 string 參數中包含 Null,則返回 Null。
說明
僅大寫字母轉換成小寫字母;所有小寫字母和非字母字元保持不變。

下面的樣本利用 LCase 函數把大寫字母轉換為小寫字母:
Dim MyString
Dim LCaseString
MyString = "VBSCript"
LCaseString = LCase(MyString)   ' LCaseString 包含 "vbscript"。
UCase 函數
返回字串的大寫形式。
UCase(string)
string 參數是任意有效字串運算式。如果 string 參數中包含 Null,則返回 Null。
說明
只有小寫字母被轉換成大寫字母;所有大寫字母和非字母字元均保持不變。
下面的樣本利用 UCase 函數返回字串的大寫形式:
Dim MyWord
MyWord = UCase("Hello World")   ' 返回"HELLO WORLD"。

MsgBox 函數
在對話方塊中顯示訊息,等待使用者單擊按鈕,並返回一個值指示使用者單擊的按鈕。
MsgBox(prompt[, buttons][, title][, helpfile, context])
參數
prompt
作為訊息顯示在對話方塊中的字串運算式。prompt 的最大長度大約是 1024 個字元,這取決於所使用的字元的寬度。如果 prompt 中包含多個行,則可在各行之間用斷行符號符 (Chr(13))、分行符號 (Chr(10)) 或斷行符號分行符號的組合 (Chr(13) & Chr(10)) 分隔各行。
Buttons
數值運算式,是表示指定顯示按鈕的數目和類型、使用的表徵圖樣式,預設按鈕的標識以及訊息框樣式的數值的總和。有關數值,請參閱“設定”部分。如果省略,則 buttons 的預設值為 0。
Title
顯示在對話方塊標題列中的字串運算式。如果省略 title,則將應用程式的名稱顯示在標題列中。
Helpfile
字串運算式,用於標識為對話方塊提供即時線上說明的協助檔案。如果已提供 helpfile,則必須提供 context。在 16 位系統平台上不可用。
Context
數值運算式,用於標識由協助檔案的作者指定給某個說明主題的上下文編號。如果已提供 context,則必須提供 helpfile。在 16 位系統平台上不可用。
設定
buttons 參數可以有以下值:
 
常數 值 描述   
vbOKOnly 0 只顯示確定按鈕。   
vbOKCancel 1 顯示確定和取消按鈕。   
vbAbortRetryIgnore 2 顯示放棄、重試和忽略按鈕。   
vbYesNoCancel 3 顯示是、否和取消按鈕。   
vbYesNo 4 顯示是和否按鈕。   
vbRetryCancel 5 顯示重試和取消按鈕。   
vbCritical 16 顯示臨界資訊表徵圖。   
vbQuestion 32 顯示警告查詢表徵圖。   
vbExclamation 48 顯示警告訊息表徵圖。   
vbInformation 64 顯示資訊訊息表徵圖。   
vbDefaultButton1 0 第一個按鈕為預設按鈕。   
vbDefaultButton2 256 第二個按鈕為預設按鈕。   
vbDefaultButton3 512 第三個按鈕為預設按鈕。   
vbDefaultButton4 768 第四個按鈕為預設按鈕。   
vbApplicationModal 0 應用程式模式:使用者必須響應訊息框才能繼續在當前應用程式中工作。   
vbSystemModal 4096 系統模式:在使用者響應訊息框前,所有應用程式都被掛起。 
第一組值 (0 - 5) 用於描述對話方塊中顯示的按鈕類型與數目;第二組值 (16, 32, 48, 64) 用於描述表徵圖的樣式;第三組值 (0, 256, 512) 用於確定預設按鈕;而第四組值 (0, 4096) 則決定訊息框的樣式。在將這些數字相加以產生 buttons 參數值時,只能從每組值中取用一個數字。
傳回值
MsgBox 函數有以下傳回值:
 
常數 值 按鈕   
vbOK 1 確定   
vbCancel 2 取消   
vbAbort 3 放棄   
vbRetry 4 重試   
vbIgnore 5 忽略   
vbYes 6 是   
vbNo 7 否 
說明
如果同時提供了 helpfile 和 context,則使用者可以按 F1 鍵以查看與上下文相對應的說明主題。
如果對話方塊顯示取消按鈕,則按 ESC 鍵與單擊取消的效果相同。如果對話方塊包含協助按鈕,則有為對話方塊提供的即時線上說明。但是在單擊其他按鈕之前,不會返回任何值。
當MicroSoft Internet Explorer使用MsgBox函數時,任何對話方塊的標題總是包含"VBScript",以便於將其與標準對話方塊區別開來。
下面的例子示範了 MsgBox 函數的用法:
Dim MyVar
MyVar = MsgBox ("Hello World!", 65, "MsgBox Example")
   ' MyVar 包含 1 或 2,這取決於單擊的是哪個按鈕。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.