运行时能不能生成一个动态的表达式

town 2000-05-18 01:34:00
请问在VB中能不能实现把一个字符串作为一个表达式在函数中运行.比如我想执行这一个表达式:Mid("abc",1,2),那我就把这样一个字符串传给某个函数"Mid(""abc"",1,2)",它就象VB的解释器样帮我算出答案,并返回给我.
...全文
158 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Un1 2000-05-26
  • 打赏
  • 举报
回复
两种方法都可以。
我的方法需要在“工程”->“引用”中加入"Microsoft Script Control",或者使用:
set sc = CreateObject("ScriptControl")

这种方法允许在Script代码中Set Script 引擎为Nothing释放资源,而控件方式则不允许。

tiger_zl 2000-05-22
  • 打赏
  • 举报
回复
上面Un1回复的方法我试过,可以完成你提出的问题,我是这样作的:在 form 上放一个
scriptControl控件,而不是象Un1那样用 new !
TopHead 2000-05-22
  • 打赏
  • 举报
回复
怎么你的代码好像不行,我用的是vb6,部件中将msscript.ocx加载,为什么?
Un1 2000-05-22
  • 打赏
  • 举报
回复
Dim sc As ScriptControl
Set sc = New ScriptControl
With sc
.Language = "VBScript"
End With

Dim abc As String
abc = "123456789"

Dim sExp As String
sExp = "Mid(" & abc & ",1,2)"

Dim sRet As String
sRet = sc.EVal(sExp)

MsgBox sRet
dragonwater 2000-05-20
  • 打赏
  • 举报
回复
我想知道源程序
Un1 2000-05-18
  • 打赏
  • 举报
回复
使用MSScript.OCX

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧