Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Лoгикa - FastMathParse

FastMathParse
Краткое описание
   Компонент предназначен для вычисления математических выражений
Параметры
  • DataCount - Кол-во аргументов (нумеруются от %1 до %DataCount, %0 - значение результата предыдущего вычисления)
  • MathStr - Строка с формулой
  • ResultType - Определяет тип результата
  • Default - Начальные значения результата
  • AngleMode - Единицы для тригонометрических функций
  • Методы
  • doCalc - Вычисляет математическое выражение
  • doClear - Устанавливает начальные значения результата
  • События
  • onResult - Выдает в поток результат расчета
  • onError - Событие происходит всякий раз при ошибке в работе компонента: 0 - ошибка синтаксиса, 1 - ошибка при вычислениях
  • onDebugStrings - Поток отладочных строк (только для отладки, или любопытства)
  • Свойства
  • Result - Содержит результат вычисления математического выражения (при ошибке - NULL)
  • reCalc - Альтернативный вызов нового вычисления (данные снизу приравниваются данным из потока)
  • PosErr - Позиция ошибки в строке (-1 - нет ошибки)
  • Proc - Результат генерации кода (только для отладки, или любопытства)
  • Примеры
       Пример использования элемента

    Add(MainForm,2603728,98,133)
    {
    Caption="Пример использования FastMathParse"
    }
    Add(Edit,437523,154,84)
    {
    Left=33
    Top=105
    Text="25"
    }
    Add(Edit,2314167,210,84)
    {
    Left=96
    Top=105
    Text="35"
    }
    Add(Button,5611198,154,133)
    {
    Left=227
    Top=105
    link(onClick,16663771:doCalc,[])
    }
    Add(Edit,14627873,252,133)
    {
    Left=297
    Top=105
    Width=55
    }
    Add(Edit,9630350,252,84)
    {
    Left=160
    Top=105
    Text="2"
    }
    Add(FastMathParse,16663771,203,133)
    {
    DataCount=3
    MathStr="%1 + %2 / %3"
    link(onResult,14627873:doText,[])
    link(X1,437523:Text,[(209,125)(160,125)])
    link(X2,2314167:Text,[])
    link(X3,9630350:Text,[(223,125)(258,125)])
    AddHint(-29,50,80,13,MathStr)
    }
    Замечания
       Основное отличие от аналогичного компонента MathParse состоит в том, что данный элемент компилирует выражение в память за счет чего скорость его работы возрастает на многие порядки. По этой же причине с работой элемента могут возникнуть проблемы в тех ОС, где запрещен или ограничен зупуск на выполнения участка кода, находящегося в сегменте данных.

    Обновление элемента: [svn]FastMathParse.pas[/svn]
    BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...