一个即简单又有点难度的问题,可能大家不常用,不过进来试一试?

nmcflcl 2003-08-22 12:51:23
怎么执行一存在变量的语句:
如"if a>0 then p=1 else p=2"存在一个变量里,然后怎么让它执行,就像在VF里
m="if a>0 then p=1 else p=2",用&m就可执行了,不知在VB里怎么执行
...全文
72 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzhjs 2004-01-17
  • 打赏
  • 举报
回复
不过,如果真的需要的话,我建议做一个简单的脚本解释器,以后都可以使用
pigpag 2003-08-24
  • 打赏
  • 举报
回复
//他的对象里面有一条叫做Execute的命令

ExecuteStatement
blood 2003-08-24
  • 打赏
  • 举报
回复
这个问题在VB里涉及到编译器的问题。大家都知道VB中没有宏替换功能。
所以不可能执行这样的代码,但是如果真的想运行,用VB做一个简单的编译器就行了。
将语法定义成VB的语法就行了。
wzhjs 2003-08-24
  • 打赏
  • 举报
回复
引用Microsoft Script Control


他的对象里面有一条叫做Execute的命令
-神仙- 2003-08-24
  • 打赏
  • 举报
回复
用MSScript控件,可以执行VBScript脚本语言。
pigpag 2003-08-24
  • 打赏
  • 举报
回复
VFP做了二次解释工作,VB没有这种功能。

如果是纯数学运算的共式,或者说简单的语句,那么恭喜楼主:经典问题——如何解析表达式字符串。

请楼主举个例子,“很复杂的语句”是什么?
132105 2003-08-24
  • 打赏
  • 举报
回复
那你在vfp下做个控件让vb调用吧,呵呵,好像只能这样啦。
nmcflcl 2003-08-22
  • 打赏
  • 举报
回复
大家说的都不可行,我是举了个简单的例子用if a>0 then p=1 else p=2,我真的想法是在数据库里存了很复杂的语句,然后取出后直接执行,
就想一个报表的审核公式在库里存着然后调出来直接用;如

gs(1,n)=gs(2,n)+gs(3,n)-gs(4,n){3-9}
hxy2003 2003-08-22
  • 打赏
  • 举报
回复
我也觉得用iif(a>0,1,2)这样子可以满足你的要求
132105 2003-08-22
  • 打赏
  • 举报
回复
如果非要宏代的话,可以在VFP做个类,然后......嘿嘿,绕个圈子玩宏代换
向上面的具体问题,具体对待吧,老兄。
132105 2003-08-22
  • 打赏
  • 举报
回复
这句话:if a>0 then p=1 else p=2
我认为用这个比较好一点

p=iif(a>0,1,2)

p就是结果
flxa 2003-08-22
  • 打赏
  • 举报
回复
VB中好像没有这种功能吧!
sgx 2003-08-22
  • 打赏
  • 举报
回复
VF中的宏替换确实很好用
在vb中好象没有宏替换
planetike 2003-08-22
  • 打赏
  • 举报
回复
建议写成一个函数.好像&功能在VB里面是没有的.
hxy1982 2003-08-22
  • 打赏
  • 举报
回复
类似c++中的模板~!!!楼上的也可以哦~!!关注
希望看到好方法
wumy_ld 2003-08-22
  • 打赏
  • 举报
回复
有点难度,建议把常用公式做成函数,在数据库里存放函数名,这样就可以用一个select case语句调用相应函数。

select case rs("函数名")
case "高斯函数"
.....'调用写好的函数
case "牛顿迭代函数"
...
case "卡门方程"
...
.......
end select
踏平扶桑 2003-08-22
  • 打赏
  • 举报
回复
干吗又发一个帖子啊
看看你原来那个吧,我有了点新的想法:)

7,762

社区成员

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

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