Последняя версия DataExpress 3 beta от 1 сентября 2019 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Песочница
ИзображениеИзображениеИзображение

unknown identifier 'ln'

bandrew
Заглянувший
Сообщения: 4
Зарегистрирован: Вс ноя 25, 2018 2:48 pm

unknown identifier 'ln'

Сообщение bandrew » Вс ноя 25, 2018 2:52 pm

добрый день!

стоит задача вычислить ln, решил написать свой модуль

Код: Выделить всё

    {@function
    OrigName=Bandrew
    Name=CR
    Args=n
    Result=n
    Group=bandrew
    Description=Вычисление натурального логарифма
    @}

    function Bandrew(const a:double):double;
    Begin
      result:=ln (a);
    End;


выдаёт unknown identifier 'ln'

Посмотрел на вариант вычисления модуля числа, там это выполняется через "костыль" квадратного корня из квадрата числа. В DX нет расширенных математических функций? Есть ли возможность их подключить?

Аватара пользователя
admin
Разработчик
Сообщения: 4511
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская
Благодарил (а): 19 раз
Поблагодарили: 70 раз

Re: unknown identifier 'ln'

Сообщение admin » Вс ноя 25, 2018 4:55 pm

Надо будет добавить в API. А так - dll можно подключить.

Аватара пользователя
Гocть
Эксперт
Сообщения: 1582
Зарегистрирован: Пн ноя 27, 2017 8:02 am
Поблагодарили: 4 раза

Re: unknown identifier 'ln'

Сообщение Гocть » Вс ноя 25, 2018 5:21 pm

Код: Выделить всё

{@function
  OrigName=ln
  Name=ln
  Args=n
  Result=n
  Group=bandrew
  Description=Вычисление натурального логарифма
@}

function ln(const a:Extended):Extended;
var SE:variant;
Begin
    SE := CreateOleObject('MSScriptControl.ScriptControl');
    SE.Language := 'JScript';
    SE.Eval('function LN(a){return Math.log(a);}');
    result:=SE.Run('LN',a);
    SE:=Unassigned;
End; 

https://developer.mozilla.org/ru/docs/W ... s/Math/log
Фрилансер. Разработка на заказ. Консультирование.

bandrew
Заглянувший
Сообщения: 4
Зарегистрирован: Вс ноя 25, 2018 2:48 pm

Re: unknown identifier 'ln'

Сообщение bandrew » Вс ноя 25, 2018 5:53 pm

Большое спасибо!

Аватара пользователя
Гocть
Эксперт
Сообщения: 1582
Зарегистрирован: Пн ноя 27, 2017 8:02 am
Поблагодарили: 4 раза

Re: unknown identifier 'ln'

Сообщение Гocть » Пн ноя 26, 2018 12:43 am

Тупанул. Не Eval а AddCode. SE.AddCode('function LN(a){return Math.log(a);}');
Фрилансер. Разработка на заказ. Консультирование.


Вернуться в «Разработка расширений»