TExprFunc Event

MulticastDelegateTExprFunc

type TExprFunc = procedure(const Expr: TExprRec);

Function type for custom function definition.

Any custome defined function must be of this type to be used in the expression parser.

Examples

delphi
procedure _log10x(Param: TExprRec);
begin
    with Param, Res do
begin
    Complex := Args[0].Complex;
    if Complex then PCValue^ := Log10(Args[0].PCValue^)
    else PValue^ := Log10(Args[0].PValue^);
end;
end;

var ep: TMtxExpression;
begin
    ep := TMtxExpression.Create;
    try
        ep.DefineFunction('Log10x',_log10x,1);
        ep.Add('Log10x(1.2)+3');
        Label1.Caption := SampleToStr(ep.Evaluate);
    finally
        ep.Free;
    end;
end;