СообЧа > База Знаний > Программирование > Delphi

Вопрос

Как в delphi вычислить значение выражения, введенного с клавиатуры, типа a + b*2 — 7, где a — Arr[0], b — Arr[1], Arr — массив real.

Ответ

В Библиотеке RX http://www.torry.net/vcl/packs/huge/etrx275d6.zip
есть Unit Parsing Description. Класс TRxMathParser представляет анализатор арифметических выражений, предоставляемых в виде строки. Строка передается для анализа как параметр AFormula метода Exec. В случае ошибки вычисления возникает исключительная ситуация типа ERxParserError. Допустимые операторы: + , — , * , / , ^ В выражении могут быть использованы следующие функции: Cos, Sin, Tan, ArcTan, ArcSin, ArcCos, Abs, Exp, Ln,
Log, Sqrt, Sqr, Int, Fraq, Trunc, Round, Sign, Not.



Copyright © 2000-2004 Сообщество Чайников
Контактная информация