以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]Eval()用法  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=26182)

--  作者:iyplx2425
--  发布时间:2013/8/1 16:04:00
--  [求助]Eval()用法
一翻二公式: 

Eval("Substitute(""|@|"",""|"","""+Substitute("A|B|C","|",""")+""|""+Substitute(""|@|"",""|"",""")+""")")

中出现三次“+”,中间那个与前后两个的关系是怎样的?还是有点糊涂。请帮助讲解下这里的“头”、中、“尾”的分配。只有把这个公式彻底弄懂了,Eval()的用法才能基本掌握吧。


--  作者:iyplx2425
--  发布时间:2013/8/1 16:08:00
--  
依样画瓢毕竟算不得本事。图片点击可在新窗口打开查看
--  作者:wjq1072
--  发布时间:2013/8/1 16:32:00
--  

Substitute("|@|","|","A")+"|"+Substitute("|@|","|","B")+"|"+Substitute("|@|","|","C")----------

==========================================================

你把这个公式写成“一翻一”Eval形式的公式你就知道“一翻二”这个是怎么来的了。也就知道其中为什么出现3个“+”了。


--  作者:wjq1072
--  发布时间:2013/8/1 17:52:00
--  

Substitute("|@|","|","A")+"|"+Substitute("|@|","|","B")+"|"+Substitute("|@|","|","C")----
================================================================================================================
头:Substitute("|@|","|","---------引号加倍:Substitute(""|@|"",""|"",""

尾:")-----------------------------引号加倍:"")

产生中:Substitute("A|B|C","|","替换")

替换|:")+"|"+Substitute("|@|","|","-------------引号加倍:"")+""|""+Substitute(""|@|"",""|"",""

得到中:Substitute("A|B|C","|",""")+""|""+Substitute(""|@|"",""|"",""")

组装:

Eval("头"+中+"尾")

得到:

Eval("Substitute(""|@|"",""|"","""+Substitute("A|B|C","|",""")+""|""+Substitute(""|@|"",""|"",""")+""")")


--  作者:wjq1072
--  发布时间:2013/8/1 18:05:00
--  

最终这些都是作为工具应用了,例如:

一翻二("A|B|C"→"A@A|B@B|C@C")
公式:Eval("Substitute(""|@|"",""|"","""+Substitute("A|B|C","|",""")+""|""+Substitute(""|@|"",""|"",""")+""")")
结果:A@A|B@B|C@C
 
一翻三("A|B|C"→"A@A#A|B@B#B|C@C#C")
公式:Eval("Substitute(""|@|#|"",""|"","""+Substitute("A|B|C","|",""")+""|""+Substitute(""|@|#|"",""|"",""")+""")")
结果:A@A#A|B@B#B|C@C#C
 
一翻四("A|B|C"→"A@A#A&A|B@B#B&B|C@C#C&C")
公式:Eval("Substitute(""|@|#|&|"",""|"","""+Substitute("A|B|C","|",""")+""|""+Substitute(""|@|#|&|"",""|"",""")+""")")
结果:A@A#A&A|B@B#B&B|C@C#C&C
------------
一翻六--------
公式:Eval("Substitute(""|@|#|$|%|&|"",""|"","""+Substitute("A|B|C|D","|",""")+""|""+Substitute(""|@|#|$|%|&|"",""|"",""")+""")")


--  作者:wjq1072
--  发布时间:2013/8/1 18:26:00
--  
以下是引用iyplx2425在2013-8-1 16:08:00的发言:
依样画瓢毕竟算不得本事。图片点击可在新窗口打开查看

没有一点“悟性”要掌握Eval函数,还有很长的路!


--  作者:iyplx2425
--  发布时间:2013/8/2 13:34:00
--  
本人愚钝,缺少悟性,只能慢慢来哦。