Delphi: математическое выражение - PullRequest
2 голосов
/ 02 августа 2011

Можно ли ввести математическую сумму в поле ввода и метку, чтобы получить ответ?Например, если я наберу (3 * 4) * 2, как я могу получить окно редактирования для чтения (3 * 4) * 2 как выражения?

Спасибо

Кериша

1 Ответ

7 голосов
/ 02 августа 2011

Да возможно, но с использованием дополнительного компонента я буду рекомендовать вам TEvaluator, который является частью JCL (Jedi Code library).

Проверьте этот очень простой пример (просто поместите EditText с выражением для оценки)

uses
  JclExprEval;

procedure TForm1.Button1Click(Sender: TObject);
var
 Eval : TEvaluator;
begin
  Eval := TEvaluator.Create;
  try
    ShowMessage(Format('The result is %g', [Eval.Evaluate(Edit1.Text)]));
  finally
    Eval.Free;
  end;
end;
...