您现在的位置:首页 >> 软件开发 >> 内容

Execute和Eval的区别和应用

时间:2023-12-12 23:13:44 点击:

  核心提示:Execute 这个函数在按键文档里面查找到的是一个Object的方法,这个当然不是我的那种用法。事实上Execute这个函数没有正式列在文档里面,只有在 Eval函数里面顺带说了一下,所以新人会比较...
Execute 这个函数在按键文档里面查找到的是一个Object的方法,这个当然不是我的那种用法。事实上Execute这个函数没有正式列在文档里面,只有在 Eval函数里面顺带说了一下,所以新人会比较迷惑。
先说一下这个函数的原型:

Execute(expression)
参数:expression是一个字符串类型
返回值:无
函数功能:把expression作为一条命令执行

例子:
dim tempA
dim tempB
tempA = 10:tempB = 20
str = "tempA = 100:tempB = 200"
execute str
MessageBox tempA        // tempA = 100
MessageBox tempB        // tempA = 200

例子很简单
str = "tempA = 100:tempB = 200"
execute str
这两句命令相当于
tempA = 100:tempB = 200 这一条命令

可以应用的方向:大数量变量赋同一或有规律的值(比如a1 = 1 a2 = 1 a3 = 1或者 a1 = 1 a2 = 2 a3 =3),或者是在某些特定的条件下(如同新人求助帖里面的需求)在代码量上做缩减。
需要注意的是,Execute 可以执行 MessagexBox MoveTo 等一些操作,但是不能执行“跳转有关”的操作,比如Goto Call之类的操作。


与Execute相关的另一个函数是Eval函数,原型:
Eval(expression)
参数:expression是一个字符串类型
返回值:expression的运算结果
函数功能:把expression作为一条运算指令去执行,并把结果返回

例子:
dim tempA
dim tempB
dim tempC
tempA = 10:tempB = 20:tempC = 100
str = "tempA + tempB"
tempC = Eval(str)
MessageBox tempC        //tempC = 30

这个例子也很简单,就不讲解了

这个函数可以应用到的方向是:如果有人问你 1 + 2 + 3 + 4 + 5 + 6 + 7 + ..... 100000 等于多少,你可以直接把数字和运算符号用大漠做成字库,然后识别(不要用分隔符)并把结果存进 str。然后你就可以 result = Eval(str) 直接得到结果了。如果验证码问你 1 + 3 等于多少呢???嗯?

作者:站长 来源:网络
相关文章
  • 没有相关文章
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 陈工笔记(www.dui580.com) © 2024 版权所有 All Rights Reserved.
  • 站长:陈工 微信号:chengongbiji QQ:24498854
  • Powered by 陈工