动态计算公式怎么实现??

山野村夫 2001-06-28 09:49:19
加精
有谁做过动态计算,可否指点一二.

如公式:
((表1.列1+表1.列2)*表2.列1 -0.25)/300+表3.列4
的动态实现

e_mail:assdeng@163.com

谢谢.

...全文
1334 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxy2ab 2001-07-01
  • 打赏
  • 举报
回复
使用脚本控件MSSCRIPT.OCX
用MSSCRIPT.Eval就可以了
不但可以计算动态表达式,连一段脚本程序都可以运行
设置可以在运行时用脚本程序(就是一段文本)动态改变你的程序!
hlyzz 2001-07-01
  • 打赏
  • 举报
回复
收藏
zhaogh 2001-07-01
  • 打赏
  • 举报
回复
你们说的就是有关脚本的解释器.动态公式对应用程序很重,如果想作通用的,解释器是必不可少的.动态sql和msscript.ocx只能解一时之急.如果作简单的公式解释器,就先判断运算符的优先级
.我这有个动库发给你式式.
jokesmith 2001-07-01
  • 打赏
  • 举报
回复
To wxy2ab(Newgay:

高!实在是高!当初我花了整整两天时间!
zhengji 2001-06-30
  • 打赏
  • 举报
回复
assdeng 同志, 一些有关编译原理的书里都有介绍, 何不看一下呢? (如 程序设计语言的设计与实现)
lqh178 2001-06-29
  • 打赏
  • 举报
回复
直接写表达式的字符串分析比较麻烦,且易出错,我采用的是先拼sql,后通过dbms求出表达式的值.
王集鹄 2001-06-29
  • 打赏
  • 举报
回复
Step.1 列出公式
S1=AA1+B1+C //AA1=1; B1=2; C=3
Note: 用户定义

Step.2 替换字符
S1=1+2+3
 Note: 先长度排序 //C, B1, AA1

Step.3 计算表达式
S1=6
Note: 做一个四合运算就可以了
山野村夫 2001-06-29
  • 打赏
  • 举报
回复
to:tanye(萧十一郎) 
email收到,谢谢。
给分先,待我看看,有不懂的地方今后还望多指教。
山野村夫 2001-06-29
  • 打赏
  • 举报
回复
to:bestlea(牙白) 
什么方法,说来听听!??

maoliao 2001-06-29
  • 打赏
  • 举报
回复
如果給我100分﹐本人愿意將源碼奉獻﹐嘿嘿﹐我花了一天一夜才搞定哦﹗我的公式計算可應用于任何地方。
vive 2001-06-29
  • 打赏
  • 举报
回复
有没有计算表达式的控件还是函数等
如 1+2+3*(1+5)/2能算出这个达式等于多少?表达式可变.

脚本语言都有的,javascript是eval(),vbscript我不清楚
你还可以直接document.writeln('<script>'+javascript语句+'</script>')
noall 2001-06-29
  • 打赏
  • 举报
回复
有没有计算表达式的控件还是函数等
如 1+2+3*(1+5)/2能算出这个达式等于多少?表达式可变.
hongqi 2001-06-29
  • 打赏
  • 举报
回复
以前看过一个控件,可以用来作动态公式,输入公式后分解保存,用的时候在合并起来。
SoamI 2001-06-29
  • 打赏
  • 举报
回复

还不如教用户如何写 SQL 语法呢。哈。
tanye 2001-06-28
  • 打赏
  • 举报
回复
当然要做通用的啦,
本人以前写过一个简单的动态计算公司窗口
让用户进行维护,
公式中可以随意定义,
表名,字段,+-*/...
把用户设置好的公式存放与数据库中,用时方便

如果需要,我回去找一下Email 给你

nthb2001 2001-06-28
  • 打赏
  • 举报
回复
billxia() 
说得对啊。。。。
不过这个要用户有一定计算的能力啊
glhorse 2001-06-28
  • 打赏
  • 举报
回复
要注意公式比较复杂的情况,如 ((n1 + n2) - n3 * n4)* n5
glhorse 2001-06-28
  • 打赏
  • 举报
回复
把你牵扯到数据列的数据都转化成用数字表示的公式,取数据可以用getitem...()
或动态sql,如:(n1 + n2) * (n3 - n4)。
这样写个函数处理这样一个数字化的公式应该没问题吧。
billxia 2001-06-28
  • 打赏
  • 举报
回复
自己写个界面,里面有些按钮,点一下在公式里加一个字段名或运算符,
再把公式丢到dw里的一个运算列中,运算一下,看看有没有错,没错,就可以了,有错,请客户修改
完成后,把公式放到dw里,再把dw放到数据库里,下次调用
山野村夫 2001-06-28
  • 打赏
  • 举报
回复
等......
加载更多回复(16)

1,075

社区成员

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

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