Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.017 c
15-1182249681
Megabyte
2007-06-19 14:41
2007.07.22
В Firebird е нельзя во вьюхах использовать процедуры выбора?


1-1179389007
Magedon
2007-05-17 12:03
2007.07.22
XP manifest что-то не работает.


2-1182764274
oi!
2007-06-25 13:37
2007.07.22
проблемы с загрузкой в image


2-1182876294
kalkal
2007-06-26 20:44
2007.07.22
Вырезание кусков файла


2-1182866042
TruePunk
2007-06-26 17:54
2007.07.22
прозрачность




   Наверх