Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
Тимур   (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 вся ветка

Форум: "Основная";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-31278
denis24
2003-06-26 12:09
2003.07.10
Проверка изменения данных в эдите


7-31547
BaDeVlad
2003-03-25 14:07
2003.07.10
Свернуть все окна


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


1-31231
SeAl
2003-06-26 14:05
2003.07.10
нужна помощь с переводом из real в integer


7-31557
Dimaz-z
2003-04-26 20:18
2003.07.10
Как зарегистрировать расширение за своей программой?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский