|
|
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
Вопрос таков. Есть строка в которой записаноа мат. выражение , как вычислить это выражение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 11:30 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
Все разобрался. Через Eval. Всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 11:49 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
А поподробнее ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 11:50 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
ДуракА поподробнее ? WSH Eval ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2006, 11:50 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
А ещё подробнее? Можно работающий текст программы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 14:29 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
лежит где-то, поищу: 1) определить положение знака (+-*...) с нирзшим приоритетом, 2) вополнить рекурсивную операцию. 3) не забывать скобки (баланс + скобки справа и с лева) 4) не забывать функции 5) если не функция, не знак, то число - брать Val _ом аффтопитезь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 11:40 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
код для VB6 Код: plaintext 1. 2. 3. 4. 5. 6. для Acces VBA использовать функцию Eval (по аналогии) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 12:12 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
Nikzкод для VB6 Код: plaintext 1. 2. 3. 4. 5. 6. для Acces VBA использовать функцию Eval (по аналогии) это: а) нечестно б) привлекает внешние ресурсы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 12:14 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
Aklin Nikzкод для VB6 Код: plaintext 1. 2. 3. 4. 5. 6. для Acces VBA использовать функцию Eval (по аналогии) это: а) нечестно б) привлекает внешние ресурсы а) не согласен б) да, это не есть хорошо, но почему бы нет? своя функция - это бОльшая вероятность глюков, почему бы не использовать уже готовое/отлаженное решение? Тем более что совершенно не обязательно создавать объект excel каждый раз перед использованием evaluate и убивать после этого. Можно создать его в Sub Main() и убивать при выгрузке главной формы... И все будет работать достаточно быстро, а главное с малыми рисками поймать где нибудь единичку вместо нолика или сдвинутый разделитель разрядов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 12:33 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
Nikz а) не согласен б) да, это не есть хорошо, но почему бы нет? своя функция - это бОльшая вероятность глюков, почему бы не использовать уже готовое/отлаженное решение? Тем более что совершенно не обязательно создавать объект excel каждый раз перед использованием evaluate и убивать после этого. Можно создать его в Sub Main() и убивать при выгрузке главной формы... И все будет работать достаточно быстро, а главное с малыми рисками поймать где нибудь единичку вместо нолика или сдвинутый разделитель разрядов... у меня была функция, в 1.5 раза быстрее всего, что я нашел до этого в инете. позже сделал "упаковщик+выполнялку" что получилось еще быстрее, но уже стало смахивать на ассемблер. а глюки - так вы этого и должны избежать, кстати. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 13:03 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
Focus_NEW, Я как-то не понял, как в VB это сделать через Eval. VladConn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 17:56 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
А есть еще невизуальный ActiveX-компонент - Microsoft Script Control 1.0 -, в котором есть этот самый Eval... кушает гораздо-гораздо меньше Excel'я... У нас на нем "корпоративный" строковый калькулятор крутится - лет 5 назад слабал, пока еще никаких поползновений установить каки-нить навороченные калькуляторы ни у кого не было ;)) Компонентик весьма интересный... кто на F2 не забывает нажимать ;)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 18:15 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
Ааа! Нечто вроде этого? Private Sub Command2_Click() Dim objScript As New ScriptControl objScript.Language = "VBScript" MsgBox objScript.Eval("(4+5)*3") End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 18:21 |
|
||
|
Есть текст "1.5+2.5" как получить значение 4
|
|||
|---|---|---|---|
|
#18+
aklin's calc аффтопитезь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 19:30 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34062873&tid=2165109]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
160ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 494ms |

| 0 / 0 |
