Вниз
Скачать: CL | DM;

Перевод формулы   Найти похожие ветки 

 
Тимур   (2003-06-27 17:56) [0]

Сделал я программу для построения графиков и возникла проблема: надо сделать так, чтобы при
введении формулы в Edit1, строился график. Ведь в Edit1 я ввожу формулу типа string, а само
выражение [к примеру cos(x)] определяется числовым значением.
Пока данные я ввожу в самой программе. Помогите пожалуйста.


 
Demiurg ©   (2003-06-27 18:40) [1]

Надо писать парсер для разбора выражений. Но есть и специальные компоненты для этого, поищи...


 
ST ©   (2003-06-27 19:14) [2]

Гемороя много, лучше поищи компонент...


 
reonid ©   (2003-06-27 19:55) [3]

Можно написать маленькую длл-ку след. вида:

library userfunc;
{$E fnc}

uses Math;

function f(X: Double): Double;
begin
Result := ...;
end;

exports
f;

begin
end.

в рантайме её откомпилить и подгрузить.
Компилится со страшной скоростью.
Понадобятся файлы

dcc32.exe
rlink32.dll

math.dcu
sysconst.dcu
sysinit.dcu
system.dcu

Я делал такую фигню (для проверки принципа),
если хочешь - могу прислать.


 
Тих   (2003-06-27 20:34) [4]

Script Control от Microsoft. Вся мощь VB и JScript %-) к вашим услугам. Если серьезно - очень удобно.


 
Burmistroff   (2003-06-27 22:44) [5]

на Delphi Companion Tools CD (что поставляется вместе с Delphi) есть компоненты/объекты/вообщем че-то, что делает это. Причем быстро. Защет того, что формула - компилируется в рантайме, бех к-либо доп. модулей/библиотек, а затем, когда надо посчитать значений ф-ции при другом параметре, парсинг не производится, а выполняется именно тот скомпилированный код, как если бы ты изначально написал эту процедуру на Delphi. Так вот :)


 
Dimaxx   (2003-06-27 23:01) [6]

Есть у меня где-то парсер формул. Надо поискать в своей барахолке. Черкни на мыло, я вышлю. Правда там несколько ограничений, но все-таки.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
8-31370
lexa
2003-03-23 17:58
2003.07.10
Как заставить MediaPlayer играть mp3


1-31211
A_ndrew
2003-06-28 20:38
2003.07.10
TaskBar((


7-31535
Holy
2003-04-25 10:16
2003.07.10
Сетевой принтер


1-31197
Navi
2003-06-28 14:29
2003.07.10
Сбросить фокус


14-31408
Knight
2003-06-23 16:37
2003.07.10
Ищу... микросхему




   Наверх