作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有谁知道 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.Items
到Init
函数位于 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/
我是一名优秀的程序员,十分优秀!