Eval
计算一个表达式的值并返回结果。
[result = ]Eval(expression)
Execute
执行一个或多个指定的语句。
Execute statements
例子:
x = 9 y = 10 bIsEqual = Eval("x = y") Execute "x = y" MsgBox "bIsEqual: " & bIsEqual MsgBox "X is no longer 9. It is: " & x
bIsEqual: False
X is no longer 9. It is: 10
x = 9 y = 10 Execute "z = (x = y)" MsgBox "z: " & z
z: False
利用Execute能够执行一些特殊操作
1、创建变量
var_1 = 1 : var_2 = 2 : var_3 = 3 : var_4 = 4: var_5 = 5
如果我们想创建以上5个变量,就可以用Execute来实现
For ix = 1 to 5 Execute "var_" & ix & " = " & ix Next
2、Option Explicit
Option Explicit iNumber = 9
上面的iNumber=9这一行会报错:变量未定义,因为缺少Dim iNumber语句,Option Explicit要求所有变量先定义后使用,但利用Execute函数可绕过这条规则。
Option Explicit Execute "iNumber = 9"
3、赋值语句
bResult = Eval("TypeName(var)")
上述语句中,bResult是一个真实变量。
Execute "bResult = TypeName(var)"
上述语句中,bResult是一个象征性变量,需要事先定义。
4、多行语句
sFunc = "Function ExecuteTest" sFunc = sFunc & vbLf sFunc = sFunc & "MsgBox ""ExecuteTest executed.""" sFunc = sFunc & vbLf sFunc = sFunc & "End Function" Execute sFunc Call ExecuteTest()
程序能够执行成功,输出ExecuteTest executed.也可以将语句写在一行内,如下:
Execute "Function ExecuteTest : MsgBox ""ExecuteTest executed."" : End Function" Call ExecuteTest()
这里,如果将Execute替换成Eval,程序执行失败,提示“语法错误”。
5、执行QTP语句
strBrowser = "Browser(""title:=Google"")" Execute "MsgBox " & strBrowser & ".Exist(0)"
当语句是单行时,两个函数都能使用。
strBrowser = "Browser(""title:=Google"")" bExist = Eval(strBrowser & ".Exist(0)")
而语句为多行时,只能使用Execute函数。
strBrowser = "Browser(""title:=Google"")" 'Browser("title:=Google") strPage = "Page(""title:=Google"")" 'Page("title:=Google") strText = "WebEdit(""name:=q"")" 'WebEdit("name:=q") strEvent = "Set ""Execute Test""" 'Set "Execute Test" Execute strBrowser & "." & strPage & "." & strText & "." & strEvent
或者
strBrowser = "Browser(""title:=.*Google.*"")" 'Browser("title:=Google") strPage = "Page(""title:=.*Google.*"")" 'Page("title:=Google") strText = "WebEdit(""name:=q"")" 'WebEdit("name:=q") strButton = "WebButton(""value:=Google Search"")" 'WebButton("value:=Google Search") strEvent = "Set ""Execute Test""" 'Set "Execute Test" strClick = "Click" 'Click strSync = "Sync" 'Sync strBack = "Back" 'Back Execute strBrowser & "." & strPage & "." & strText & "." & strEvent Execute strBrowser & "." & strPage & "." & strButton & "." & strClick Execute strBrowser & "." & strSync Execute strBrowser & "." & strBack
以上代码与下面的QTP脚本有同样效果:
Browser("title:=.*Google.*").Page("title:=.*Google.*").WebEdit("name:=q").Set "Execute Test" Browser("title:=.*Google.*").Page("title:=.*Google.*").WebButton("value:=Google Search").Click Browser("title:=.*Google.*").Sync Browser("title:=.*Google.*").Back
相关推荐
在VBScript中,函数和运算符是编程的重要组成部分,它们用于执行特定任务和操作。以下是一些在VBScript中常用的函数和运算符的详细解释: 1. **Abs函数**:返回一个数的绝对值,例如`Abs(-5)`将返回5。 2. **And...
在使用Eval函数和Execute语句时,还需要注意VBScript中的一个特性,即赋值运算符(=)与比较运算符(==)的不同。在VBScript中,表达式x=y既可能被解释为赋值语句,也可能被解释为比较x和y是否相等的表达式。Eval函数...
3. **可扩展性**: 开发者可以通过自定义函数和操作符来扩展其表达式处理能力,满足特定应用需求。 4. **性能优化**: 通过高效的编译机制,Z.Expressions.Eval 可以快速编译表达式并生成高效的执行代码。 5. **类型...
这篇文章主要介绍了python重要函数eval多种用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.参数会作为一个 Python 表达式(从技术上说是一个条件...
以下是一些VBS中常用的关键函数和概念的详细解释: 1. **Abs函数**:返回一个数值的绝对值,无论这个数值是正还是负。 2. **And运算符**:在逻辑表达式中,如果两个表达式都为真,则结果为真,否则为假。 3. **...
本文将详细解析“vbs函数大全”中提及的一些关键函数和概念。 1. **Abs函数**:返回一个数值的绝对值,例如`Abs(-5)`将返回5,消除数字前面的负号。 2. **And运算符**:进行逻辑与操作,只有当两边的表达式都为真...
在Java编程语言中,`eval`函数通常与JavaScript关联,因为JavaScript有一个内置的`eval`函数,它能够解析并执行一个字符串作为JavaScript代码。然而,Java本身并不直接提供类似的功能。`eval`函数在Java中并不是标准...
本篇文章将深入探讨`eval()`函数的一些用法,并结合源码分析其工作原理和潜在的安全风险。 一、`eval()`函数的基本概念 `eval()`函数接收一个参数,这个参数必须是一个字符串。在执行时,`eval()`会将这个字符串...
JavaScript 中 eval 函数的用法 JavaScript 中的 eval 函数是一个非常强大且灵活的函数,可以将一个字符串当作一个 JavaScript 表达式来执行。正如我们在上面的描述中所看到的,eval 函数可以将一个字符串解释成 ...
Python的eval函数写的eval_calc(计算器) 进行了多重符号判断,可以在很大程度上帮助孩子们学习。
41. **Eval函数**:计算字符串表达式并返回结果。 42. **Execute方法**:根据字符串执行正则表达式。 43. **Execute语句**:执行单个或多个语句。 44. **Exit语句**:跳出当前循环或函数。 45. **Exp函数**:...
在本讨论中,我们将深入探讨如何自定义`eval()`函数以提高代码的安全性和效率,同时也会涉及到JavaScript的动态执行特性以及其在实际开发中的应用。 首先,`eval()`的默认行为是将其接收到的字符串当作JavaScript...
总结来说,Eval、Execute和ExecuteGlobal这三个语句的主要区别在于它们处理的范围和方式。Eval用来执行表达式并返回值,Execute用来执行一个或多个语句但不返回值,而ExecuteGlobal用来在全局范围内执行一个或多个...
`eval`函数通常用于执行字符串形式的代码,这在C语言中并不直接支持,因为C是一种静态类型的语言,它的特性不包括在运行时解析和执行动态代码。 在C语言中,要实现类似的功能,我们需要理解编译原理、词法分析、...
在VBScript中,`Eval`函数和`Execute`、`ExecuteGlobal`语句是三个重要的动态执行代码的工具,它们各自有不同的用途和特性。 `Eval`函数的主要功能是计算一个字符串表达式,并返回表达式的值。它适用于需要动态计算...
可以无限重置
### Python中函数eval和ast.literal_eval的区别详解 #### 前言 在Python编程中,经常需要处理字符串与各种数据类型(如列表、元组、字典)之间的转换。为了实现这种转换,Python提供了`eval()`函数。然而,`eval()...