各位大侠
问题描述:
有三个编辑框,分别为:edit1、edit2、edit3。
一个命令按钮:button1。1. 定义一个字符串变量:var s:string;
2. 将edit1中的内容赋值给"s"变量,如:s:=edit1.text;
3. edit2中输入公式如"2*s+5";(此公式不唯一,根据需要而定)
4. 点击button1,计算出公式“2*s+5”的结果输入到edit3.text中。如:在edit1中输入3,在edit1中输入2*s+5,点击button1,则在edit3中输出结果值“11”。

解决方案 »

  1.   

    http://blog.csdn.net/simonhehe/article/details/8395610
      

  2.   

    调用JS的eval()也可以
      

  3.   

    这是编译程序的一部分,算术运算部分。简单说说方法吧,不知是否有用。先切割 token,把运算符和运算对象切割出来,变成字符串列表或数组。这不难。然后做 parse(语句分析)处理。要用递归算法,这样最简单。如果有括号,算法就有点复杂。没有括号,只考虑运算符优先级,算法相对简单。要是还想简单,就得把输入规则限制一下,强制把优先级高的运算符放在前面。这样,parse 处理不过是几行代码。要是你的运算对象还包括函数,那就复杂了,得正儿八经写编译程序了。