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

解决方案 »

  1.   

    除非你做一个编译的控件,也就是编译器,嵌套进Delphi中去。当然,这当中要有语法分析等等需要你实现。^_^
      

  2.   

    csdn的技术拦目里不是有这样的文章吗
    http://www.csdn.net/develop/read_article.asp?id=18134
      

  3.   

    呵呵,如果是c/c++的话,可以用#define宏定义实现
    好像delphi里根本没“宏”这个东西
      

  4.   

    我认为还是最好不要过分依赖这个东西,delphi的设计人员没有把这个包含在内有自己的道理
      

  5.   

    csdn的技术拦目里不是有这样的文章吗
    http://www.csdn.net/develop/read_article.asp?id=18134网页的内容可能用到汇编呢,对于个问题是很不好用的程序生成代码,再执行这段代码,这种事情其实编程中不应该出现的,
    不知作者要解决的是什么问题的,请你说明一下,应该有相应的算法,大家可以一起解决的
      

  6.   

    http://www.csdn.net/develop/read_article.asp?id=18134
    讲的哪行呀!
    只是诱导!
      

  7.   

    哎, 编译原理呀... 刚考完, 想起来还有些头大呢. huhu
    这个问题好难呀, 不过确实有些使用价值, 比如编个可以由用户输入函数式的计算器.顶!
      

  8.   

    看我以前写的....
    http://expert.csdn.net/Expert/TopicView1.asp?id=1818477
      

  9.   

    本质:
    1。楼主既然说了JavaScript,就应该不难理解,所谓“脚本”,仅仅是描述而已,而具体对此描述会有什么样的反应,由解释它的程序来决定,即JVM。
    2。Windows应用程序以及其他操作系统中的应用程序,他们的共同点是直接被操作系统解释,而不需要间接通过类似于JVM的东西被OS识别。
    3。早先的DOS应用程序以及51、DSP和ARM,如果不是刻意加载OS,都需要向ROM中直接写机器指令。再回到Object Pascal,它是高级语言,所谓高级,就是编译器本身是依赖于操作系统的,(因此传统的汇编语言不是高级语言,因为编译器只针对芯片的指令集而不针对操作系统;而Pascal中的内嵌汇编则根本与传统的汇编语言是两码事。)这也是为什么在Windows和Linux中各自存在不同的Object Pascal开发环境(Delphi和Kylix)。脚本描述语言如PL/SQL,Java,HTML等等,至今保留的Autoexec.bat、Config.sys以及*.bat,*.ini,*.inf等等,都有其自身的灵活性,因为他们通过不同的解释程序向操作系统请求执行。这也是Java与传统编程语言最根本的不同。Delphi鼓吹能开发跨平台应用,但没有明示还需要购买Kylix或者至少是一个Linux下的Object Pascal编译器。而因特网上到处乱飞的Java,则是真正的跨越各种平台,因为各种版本的JVM已经在各种操作系统中或者很容易就可以安装了。
      

  10.   

    网上下一个表达式计算组件把。xaeaval不错,推荐!
      

  11.   

    Delphi工具盘里的ifpasscript。这样的问题太多了,回答了也无数次了,以后发的前面现搜索一下旧贴吧真的不喜欢回答重复的问题