Тут открыл кое-что, возможно, давным давно всем известное. :) Поделюсь на
всякий случай.
Сначала немного о корнях проблемы. Не секрет, что в Delphi модуль Math
поставляется только с Enterprise-версией программы. А платить больше тысячи
долларов только за то, чтобы воспользоваться парой функций совсем не хочется
(мне, например, простенькой atan2 часто не хватало).
Простым решением является "заимствование" модуля Math из пиратской
Enterpise-версии, но это, вообще-то, воровство. Самому же создавать
матеатическую библитеку с нуля - занятие неблагодарное (по крайней мере
достаточно трудоёмкое).
Не работая плотно на MSVC я как-то был не в курсе наличия библиотеки
crtdll.dll в Windows (насколько мне удалось выяснить, она таки является частью
операционной системы, по крайней мере ставится вместе с Windows 9x/NT/2000). С
её помощью можно решить указанную проблему, воспользовавшись готовым решением, а
именно - объявить все необходые функции из math.h в своей программе и
наслаждаться. :)
Пример с atan2:
function atan2(x, y: Double): Double; stdcall;
external "crtdll.dll" name "atan2";
Проверено - работает. Поскольку метод открылся буквально только что, я ещё не
успел сделать модуль-обёртку для всех математических функций. Видимо, сделаю и
отдам во всеобщее пользование.
Да, в crtdll.dll много фукнций, не связанных с математикой, в частности, если
вы в программе используете PChar, то можно воспользоваться набором сишных
strcmp, strcpy..., так же доступны isalpha, isdigit..., и, наконец, bsearch и
qsort. :)
Если Вас заинтересовала или понравилась информация по разработке на Delph - "Если нет модуля Math", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!