Sql server Delphi应用程序中的脚本编写

Sql server Delphi应用程序中的脚本编写,sql-server,delphi,scripting,Sql Server,Delphi,Scripting,我开发了一个BPM软件,我想添加最终用户脚本逻辑 我试着用一个例子来表达我自己 在一个过程中有两个变量(价格、ApplyDiscount、DicountAmount、Total) 用户希望以某种方式定义此逻辑: //Delphi code for explanation: if ApplyDiscount then Total := Price * DiscountAmount else Total := Price; 因为我的应用程序是一个SQL Server客户机-服务器应用程序,

我开发了一个BPM软件,我想添加最终用户脚本逻辑

我试着用一个例子来表达我自己

在一个过程中有两个变量(价格、ApplyDiscount、DicountAmount、Total)

用户希望以某种方式定义此逻辑:

//Delphi code for explanation:
if ApplyDiscount then
  Total := Price * DiscountAmount
else
  Total := Price;
因为我的应用程序是一个SQL Server客户机-服务器应用程序,所以我还考虑了使用参数运行查询的想法,这样用户就可以使用SQL语法编写逻辑脚本,并且可以正常工作。 我需要定义细节,但不知何故,我的想法是使用
:Parameter
语法来允许脚本从我的应用程序传递和接收值

这当然没问题,但我想知道是否有其他方法可以不用编写脚本引擎就完成这项工作


谢谢。

一些用于Delphi的脚本引擎:

  • 这是我的首选:它有最好的语法,可能更快,并且是开源的
  • )
如果您想要“非pascalish”脚本,您可以看看哪种脚本非常简单

编辑:

其他一些候选人:

  • )
  • )
  • 这是一个用Delphi编写的JavaScript引擎,包括JIT
  • 还可以执行JavaScript

我听说了这一点:这可能是一个解决方案,我喜欢脚本语言是“pascal-ish”或“sql-ish”,因为我的用户已经使用pascal(内部报表生成器报表-RAP语言)和sql(用于查询数据库和创建重新报表),因此,添加另一种语言对最终用户来说太复杂了。TMS解决方案更完整,因为它为最终用户提供了一种IDE,但另外两种似乎很有前途。谢谢!您在DWS中有一个IDE(在源代码存储库的子文件夹中)——非常基本,但是可以工作,并且可以集成到您的代码中。