例如:W001+C002+(A03*K09/Y33)*1000-1000比如上边的语句,我怎么获取其中的参数呢?
W001,C002,A03,K09,Y33 并且讲这些参数保存到数组或者StringList中。
并且 在我计算好值后反填到该川中。
比如我计算的W001=100,C002=200,A03=300,K09=400,Y33=500
那么该川就是 100+200+(300*400/500)*1000-1000
在线等待。急急
W001,C002,A03,K09,Y33 并且讲这些参数保存到数组或者StringList中。
并且 在我计算好值后反填到该川中。
比如我计算的W001=100,C002=200,A03=300,K09=400,Y33=500
那么该川就是 100+200+(300*400/500)*1000-1000
在线等待。急急
解决方案 »
- 如何用delphi 实现附加保存任何类型的文件(如excle,word,ini ...),并切能找开打。有点类型似邮件中的附加一件.
- 大家好!网址favico.ico图标怎么获得
- spcomm的comm1.WriteCommData向串口写数据时经常无效,怎么回事?
- 高分啊!一个算法问题,如何逆操作
- 为什么下面的代码影响到了字符串的引用记数???
- 记录指针!问题!菜鸟提问!
- chr 是什么函数 是什么意思 举个例子
- 怎样把自定义数据类型存入字段中
- 为什么Form不能free
- Delphi6比Delphi5增加了什么功能?减去了什么功能?Delphi5的控件、程序在Delphi6能否正常运行?
- 请高手解释一系列关于Delphi6 QiuckRep 的问题,共记300分,参与者有份,解决立即揭贴,谢谢
- Why we can not connect to delphibbs.com?
上边的W001是一个参数,可以用任何的数字代替。
可能很多种,但是知道W001=100 首先要知道字符串里有那些参数,进而
用数字取代它。
这时候 A和B就是参数了,我想获取A和B。
当然表达式不可能是1+2这么简单的了,是很复杂的了。
其中的运算符要支持+,-,*,/等了。
这回清楚了吧。
将表达式用stringreplace()将所以的*,/,-换成+,然后将它拆分到stringlist中,
循环将stringlist中每一行不是数值的取出来就是你要的变量!!
tmpstr := 'W001+C002+(A03*K09/Y33)*1000-1000'
tmpstr := StringReplace(tmpstr ,'*','+',rfReplaceAll);
tmpstr := StringReplace(tmpstr ,'/','+',rfReplaceAll);
tmpstr := StringReplace(tmpstr ,'-','+',rfReplaceAll);
tmpstr := StringReplace(tmpstr ,'(','',rfReplaceAll);
tmpstr := StringReplace(tmpstr ,')','',rfReplaceAll);tmpList.Delimiter:='+';
tmpList.DelimitedText := tmpstr;for i:= 0 to tmplist.count do
begin
...
end;