|
11.09.2009, 09:46 | #1 |
Участник
|
Строковое выражение простейших операций в действие
Добрый день. Идем дальше в наших заморочках Есть строковая переменная в который содержится текст типа %1 + %2
в таблице также содержится описание полей которые должны подставляться вместо этих параметров. Дак вот вопрос как сделать это значение числовым, то есть оно подсчитается и выдаст результат определенное число. Возможно это можно сделать с помощью Query и вообще можно ли такое сделать? Последний раз редактировалось IvanS; 11.09.2009 в 09:50. |
|
11.09.2009, 09:55 | #2 |
Moderator
|
X++: static void Job206(Args _args) { ; print evalbuf(strFmt('%1 + %2', 1.1, 2.2)); // 3.3 pause; } |
|
|
За это сообщение автора поблагодарили: IvanS (1), plumbum (1). |
11.09.2009, 10:08 | #3 |
Боец
|
Тоже самое, с корректным оформлением:
X++: try { permission = new ExecutePermission(); if (permission == null) return ...; pseudoFunc = "static real func() { return " + expression + "; }"; permission.assert(); if(comp.compile(pseudoFunc)) { result = runBuf(expression); } else { ... } CodeAccessPermission::revertAssert(); } catch (Exception::Error) { ... } P.S. Т.е. не совсем тоже самое, скорее другой, чуть более надежный способ Последний раз редактировалось DSPIC; 11.09.2009 в 10:10. |
|
|
За это сообщение автора поблагодарили: alex55 (1), player (1). |
Теги |
evalbuf, runbuf, выражение, как правильно, программно |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|