以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于表达式计算的求助!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=992)

--  作者:ahljy351
--  发布时间:2008/10/28 10:03:00
--  关于表达式计算的求助!

定义了三个全局变量。分别为 x h y(x、y为整数,h为计算符号+-×÷)

现在要求,将x h y的值赋给变量da.

用Eval()如何写代码?


--  作者:狐狸爸爸
--  发布时间:2008/10/28 10:17:00
--  

帮助重没有说明,Eval是可以实用全局变量的,和字段一样,只是前面要加上符号!

例如:

 

Vars.Add("a",GetType(Double),123.12)

Vars.Add("b",GetType(Double),321.12)

Output.Show(Eval("[!a] + [!b]"))


--  作者:ahljy351
--  发布时间:2008/10/28 10:21:00
--  
但是现在+号是动态的,随机的,赋值给变量h

如何将+替换为变量h?
--  作者:狐狸爸爸
--  发布时间:2008/10/28 10:28:00
--  

Eval的参数是一个字符串,可以随心所欲地合成: 



Dim
h As string = "+"

Vars.Add("a",GetType(Double),123.12)

Vars.Add("b",GetType(Double),321.12)

Output.Show(Eval("[!a]" & h & "[!b]"))


--  作者:ahljy351
--  发布时间:2008/10/28 10:50:00
--  
e.form.controls("zqda").text=Eval("[!x]" & "[!h]" & "[!y]")

标签怎么不能赋值?前面的变量已全部定义了。


--  作者:狐狸爸爸
--  发布时间:2008/10/28 10:51:00
--  
text是只读的,可以读写的是value属性:

e.form.controls("zqda").value=Eval("[!x]" & "[!h]" & "[!y]")

--  作者:ahljy351
--  发布时间:2008/10/28 11:06:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2008/10/28 11:13:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目20.table


--  作者:ahljy351
--  发布时间:2008/10/28 11:48:00
--  

狐爸还是没能理解我的想法。唉。自己再摸摸看吧。我上面的“zqda"是标签。


--  作者:ahljy351
--  发布时间:2008/10/28 11:51:00
--  

Output.Show(Eval("[!x]+[!y]"))能得到答案

Output.Show(Eval("[!x]"  & "[!h]" & "[!y]"))却得不到答案,也不提示错。也就是空白

[此贴子已经被作者于2008-10-28 11:51:24编辑过]