首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DWScript创建宏

使用DWScript创建宏
EN

Stack Overflow用户
提问于 2012-03-13 07:59:43
回答 1查看 494关注 0票数 1

我从Delphi工具站点上读到这段话

代码语言:javascript
复制
Changes since the last SVN update are:
  Added support for FreePascal-like compile-time $INCLUDE “macros”:
    %FILE% and %LINE% insert the current filename and line number into the source
    %FUNCTION% inserts the current function name, or class.method name into the source
    %DATE% and %TIME% allow inserting the compile date/time

是否有一种方法可以在DWScript (这些函数除外)中定义宏,就像人们用简单的方式在excel中定义宏(使用VBscript),其中脚本的名称将是以后将使用的函数的名称,而无需在执行的脚本中添加{$Include XXX}

注:我知道这可以通过管理要保存在一个名为functions for ex的文件中的脚本来完成。然后保存添加的函数及其名称(Add),然后用户会编写Add(1,2)来获得结果;但是我的老板希望它看起来像excel中的vbscript。

EN

回答 1

Stack Overflow用户

发布于 2012-03-13 15:38:24

我不太明白这个问题,所以我会列出各种可能解释的答案.

  • 如果希望声明脚本引擎隐式支持的函数,而不必"{$include}“或”使用“它们,则可以通过TdwsUnit组件声明它们,并将其附加到脚本组件。如果您没有"coExplicitUses“选项集,它们将自动可用,并且在IDE中得到设计时支持。
  • 如果您想要添加内部函数(始终存在),请使用RegisterInternalFunction重载之一,您可以检查任何"dwsXxxxFunctions.pas“单元作为示例。这可能更有效率,但也更麻烦。
  • 如果要预处理源代码中的自定义源代码级宏(ala C的宏),可以使用筛选器功能(检查HTML或JS过滤器作为如何实现过滤器的示例)。
  • 如果您想对“未知”名称做出动态反应,那么您可以当场声明它们,或者将它们动态绑定到某个地方,您可以使用TdwsLanguageExtension.FindUnknownName,这就是RTTI环境的工作方式f.i。(参见TRTTIEnvironment in dwsRTTIConnector)。
  • 如果您想以完全自定义的方式解析代码的完全自定义区域,您也可以使用语言扩展,重写ReadInstr,并检查asmLib & JSLibModule如何使用它来支持"asm“。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9680242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档