Skip to content

TExprBuiltInManager

Class for managing built-in functions and variables in expressions

Declaration

Source position: fpexprpars.pp line 804

type

  TExprBuiltInManager = class(TComponent)
  public
    constructor Create;
    destructor Destroy;
    function IndexOfIdentifier : Integer;
    function FindIdentifier : TFPBuiltInExprIdentifierDef;
    function IdentifierByName : TFPBuiltInExprIdentifierDef;
    function AddVariable : TFPBuiltInExprIdentifierDef;
    function AddBooleanVariable : TFPBuiltInExprIdentifierDef;
    function AddIntegerVariable : TFPBuiltInExprIdentifierDef;
    function AddFloatVariable : TFPBuiltInExprIdentifierDef;
    function AddCurrencyVariable : TFPBuiltInExprIdentifierDef;
    function AddStringVariable : TFPBuiltInExprIdentifierDef;
    function AddDateTimeVariable : TFPBuiltInExprIdentifierDef;
    function AddFunction(const ACategory: TBuiltInCategory; 
                    const AName: ShortString; 
                    const AResultType: AnsiChar; 
                    const AParamTypes: AnsiString; 
                    ACallBack: TFPExprFunctionCallBack)
                     : TFPBuiltInExprIdentifierDef;
    function AddFunction(const ACategory: TBuiltInCategory; 
                    const AName: ShortString; 
                    const AResultType: AnsiChar; 
                    const AParamTypes: AnsiString; 
                    ACallBack: TFPExprFunctionEvent)
                     : TFPBuiltInExprIdentifierDef;
    function AddFunction(const ACategory: TBuiltInCategory; 
                    const AName: ShortString; 
                    const AResultType: AnsiChar; 
                    const AParamTypes: AnsiString; 
                    ANodeClass: TFPExprFunctionClass)
                     : TFPBuiltInExprIdentifierDef;
    procedure Delete;
    function Remove : Integer;
    property IdentifierCount: Integer; {r}
    property Identifiers[AIndex : Integer]: TFPBuiltInExprIdentifierDef; {r}
  end;

Description

The TExprBuiltInManager class serves as a manager for built-in functions and predefined variables that can be used within expressions. It provides a centralized registry where built-in mathematical functions, string functions, date/time functions, and system variables are registered and made available to the expression parser.

The manager handles the registration, lookup, and instantiation of built-in functions when they are encountered during expression parsing. It also maintains predefined variables such as system constants that can be referenced in expressions.

The TExprBuiltInManager class allows for extensibility by enabling the registration of custom built-in functions and variables that should be available across all expression evaluations.

Properties

Member Visibility Description
IdentifierCount read only public Number of built-in identifiers
Identifiers read only public Array access to built-in identifiers
See all Properties

Methods

Member Visibility Description
AddBooleanVariable public Add boolean variable to built-in collection
AddCurrencyVariable public Add currency variable to built-in collection
AddDateTimeVariable public Add datetime variable to built-in collection
AddFloatVariable public Add float variable to built-in collection
AddFunction public Add function to built-in collection
AddIntegerVariable public Add integer variable to built-in collection
AddStringVariable public Add string variable to built-in collection
AddVariable public Add variable to built-in collection
Create public Create built-in manager instance
Delete public
Destroy public Destroy built-in manager instance
FindIdentifier public Find built-in identifier by name
IdentifierByName public Get identifier by name with exception on not found
IndexOfIdentifier public Find index of built-in identifier
Remove public
See all Methods

See also

Name Description
TFPExpressionParser Class for parsing and evaluating mathematical expressions