Expression evaluator
1.0.0
Ein einfacher Delphi- Expression evaluator mit Benutzerfunktionen und Variablen. Diese Arbeit basiert auf alten Zeos-Analysebibliotheken.
Unterstützen Sie Variablen- und Funktionsdefinitionen.
Unterstützte Betreiber:
Begin
Parser = TParser.Create();
P.Equation = ' (5*7) / 2) ' ;
WriteLn(P.Evalute<Int>());
End
procedure GetVar (sender: TParser; VarName: string; var Value : Variant);
begin
If (UpperCase(VarName) = ' X ' ) Then
Value := 3
else
Raise Exception.Create( ' Unkonow variable ' );
end ;
Begin
Parser = TParser.Create(GetVar);
P.Equation = ' (5*7) / x) ' ;
WriteLn(P.Evalute<Int>());
End
Beispiele finden Sie unter SGT.Parser.ZFunction.
procedure GetVar (sender: TParser; VarName: string; var Value : Variant);
begin
// In a form with a dataset, you can use Value:= DataSet.FieldByName(VarName).Value
If (UpperCase(VarName) = ' X ' ) Then
Value := ' say hello!! '
else
Raise Exception.Create( ' Unkonow variable ' );
end ;
begin
p:= TParser.Create(GetVar) ;
TParser.AddFunction( ' Upper ' , function (sender: TParser; const Args: Array of Variant): Variant
begin
result := UpperCase(Args[ 0 ]);
end
);
p.Equation := ' Upper(x) ' ;
Writeln(p.Evalute<String>);
end ;