Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.22;
Скачать: CL | DM;

Вниз

Вычислить   Найти похожие ветки 

 
Тимофей   (2007-06-27 22:43) [0]

ситуация проста:
Есть поле в стринггриде, которое должно вычисляться.
Пример поля (string):

"Количество * 2"

в итоге я нахожу вовне параметр Количество и заменяю его на цифру и остается напр: "30 * 2", как мне получить (вычислить) результат (в string) этого выражения как можно более простым способом ?


 
Тимофей   (2007-06-27 22:47) [1]

Ессесенно, может быть выражение и посложнее, например:

"((Количество * 2) + (Количество2 + 5)) * ПрайсЦена"


 
homm ©   (2007-06-27 22:51) [2]

Преобразовать в обратную польскую запись, разобрать посимвольно, посчитать.


 
Тимофей   (2007-06-27 22:54) [3]


> разобрать посимвольно, посчитать.


Неужели нет какой нибудь функции в  дельфи типа:

S1:=Calculate(String);

???

*это я придумал )


 
TUser ©   (2007-06-27 22:56) [4]


> Неужели нет какой нибудь функции в  дельфи типа:

стандартной нет


 
Тимофей   (2007-06-27 22:59) [5]

может у кого есть похожий код разпарсировки и вычисления?


 
Loginov Dmitry ©   (2007-06-27 23:08) [6]

Используй TScriptControl


 
Тимофей   (2007-06-27 23:19) [7]


> Используй TScriptControl


да, почитал про этот компонент, это хорошая идея. надыбал даже примерчик
{$APPTYPE CONSOLE}
uses ActiveX, MSScriptControl_TLB;
var
 scr: TScriptControl;
begin
 CoInitialize(nil);
 scr := TScriptControl.Create(nil);
 scr.Language := "VBS"; // Используем VBScript
 scr.AddCode("A = 55"); // Код сразу выполняется.
 scr.AddCode("B = 11");
 scr.AddCode("X = A + B");
 scr.AddCode("MsgBox X"); // Окно с результатом
 WriteLn(scr.Eval("X")); // Результат вытаскивается в делфи и печатается
 scr.Free;
end.


только осталось найти и подключить этот компонент, не подскажешь где и как это сделать ?


 
Malik ©   (2007-06-28 00:51) [8]

проверь почту!!!


 
Malik ©   (2007-06-28 00:54) [9]

Там я тебе пример своего калькулятора дал. Если нужно разбирайся...


 
Сергей М. ©   (2007-06-28 09:47) [10]


> осталось найти и подключить этот компонент


Project -> Import Type Library .. -> Microsoft Script Control -> Install


 
Игорь Шевченко ©   (2007-06-28 11:19) [11]


> может у кого есть похожий код разпарсировки и вычисления?


Этих парсеров и калькуляторов в сети, как звезд на небе.



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

Текущий архив: 2007.07.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
2-1182500300
First
2007-06-22 12:18
2007.07.22
Анимация


4-1171500406
Serega41
2007-02-15 03:46
2007.07.22
TreeView: Как получить изображение "+"?


2-1182851785
trace
2007-06-26 13:56
2007.07.22
как можно корректно определить, что за указателем есть объект


2-1182855821
Vazhik
2007-06-26 15:03
2007.07.22
Консольное приложение


15-1180946373
Voproshay
2007-06-04 12:39
2007.07.22
Компьютерный тир