gpt4 book ai didi

delphi - JCL TEvaluator 类中预定义了哪些函数

转载 作者:行者123 更新时间:2023-12-03 15:23:36 25 4
gpt4 key购买 nike

有谁知道 Delphi 7 的 TEvaluator JCL 类中包含哪些预定义函数(例如 ABS 函数)?

最佳答案

Math.pas 中没有任何标准函数包括。默认评估解析器中实现的所有内容都是运算符 or , xor , and , not , mod , + , - , / , * , < , > , <= , >= , = , div , cmp , bor , bxor , band , bnot , shl ,和shr 。 (我在快速检查源代码时发现了很多,还有一些是根据@David 的评论我错过的。)

您可以相当轻松地将函数(包括 Delphi RTL 的一部分)添加到求值器中。它甚至在演示中进行了展示,它添加了 JCL 单元之一的功能。

默认情况下在 JCL\examples\common\expreval 中找到 JCL 求值器示例 (ExprEvalExample.dpr)文件夹传递 TComboBox.ItemsInit函数位于 ExprEvalExampleLogic.pas作为FuncList参数,由此代码填充(TEasyEvaluator 被赋予同一例程中的函数)以及 JclMath.pas 中的函数:

  with FuncList do
begin
Add('LogBase10');
Add('LogBase2');
Add('LogBaseN');
Add('ArcCos');
Add('ArcCot');
Add('ArcCsc');
Add('ArcSec');
Add('ArcSin');
Add('ArcTan');
Add('ArcTan2');
Add('Cos');
Add('Cot');
Add('Coversine');
Add('Csc');
Add('Exsecans');
Add('Haversine');
Add('Sec');
Add('Sin');
Add('Tan');
Add('Versine');
Add('ArcCosH');
Add('ArcCotH');
Add('ArcCscH');
Add('ArcSecH');
Add('ArcSinH');
Add('ArcTanH');
Add('CosH');
Add('CotH');
Add('CscH');
Add('SecH');
Add('SinH');
Add('TanH');
end;

这些将是演示应用程序支持的功能。您可以以类似的方式添加您自己的。

关于delphi - JCL TEvaluator 类中预定义了哪些函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13592136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com