Delphi能否把一个类似"if 2>1 then"的字符串自动翻译成Pascal的执行语句??假如我的一个语句是由一个字符串拼写起来的,能否把这样的串自动转为Pascal运行?就像JavaScript里的eval方法一样?谢谢!!!

解决方案 »

  1.   

    我也发现JSCRIPT跟VBSCRIPT中分别有eval()和execute
    但是在C和Pascal相关的论坛中找了很长时间,就是没找到
    如果楼主找到的话,请给我发一份:[email protected]
      

  2.   

    {$I tmp.txt};tmp.txt里写
    if 2>1 then如:
    ShowMessage({$I tmp.txt}
    tmp.txt
    写'哈哈!');
      

  3.   

    好像解释语言里有,如FoxBase里就有宏代换,编译的语言还没听说,当然可以如楼上说的用解释器控件或插入解释性的功能,但实际上属于一种模拟,不是真正实现。你可以写程序模拟一台完整的计算机都没有问题,除了功能低下一些以外。
      

  4.   

    哇塞~ 你以为delphi是什么呀? 脚本语言?
      

  5.   

    哇塞~ 你以为delphi是什么呀? 脚本语言?还是解释呀?
      

  6.   

    IFPS3 组件就可以了
    Google上找去
      

  7.   

    我的初步方案是:
    自己写了一个解释器,分析“if 22>20 then”这样的字符川,如果True,找到下一个end if的位置,把中间的内容输出,否则不输出,来实现客户动态内容输出。但这样效率是否很低?因为是完全基于字符的分析操作。不知道Delphi对正则表达式的支持程度如何,用正则表达式是否更快?而且现在仅实现了一层IF THEN END IF结构,如果嵌套是否效率更低?