Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Вычисление математического выражения. Добавлено: 22.08.02 16:24  

Автор вопроса:  LJ
Я ищу компонент (или функцию), который бы принимал математическое выражение в качестве строки (например "2 + arcsin(3) - log (7)") и выдавал бы его значение (т.е. решал его). Функция eval из Microsoft Script control меня не устраивает, так как не знает некоторых тригонометрических функций (например, arcsin). А может можно как-то научить её (eval) заменять сложные функции более простыми? Может нужная функция есть в Windows API?

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 22.08.02 18:21

Попробуй поюзать вот это:

Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long

Ответить

Номер ответа: 2
Автор ответа:
 LJ



Вопросов: 1
Ответов: 1
 Профиль | | #2 Добавлено: 22.08.02 19:29

To Иван. Подскажи пожалуйста, как её использовать (что означает каждый параметр).

Ответить

Номер ответа: 3
Автор ответа:
 MAGNUS



Вопросов: 12
Ответов: 430
 Профиль | | #3 Добавлено: 22.08.02 19:54

Est v VB takaja funkcija CallByName , podrobnoe ee ispolzowanie ja widel daje kajeusa gde to zdes na sajte, w Biblioteke kodow wrode. Tak wot ti mojesh napisat otdelnie proceduri dla rascheta togo Arcsin , a kogda naprimer w Textbox budet wwedena eta F , to i wiziwaj ee s pomoschju CallByName(object, procedurename, calltype,[arguments()])

primer:CallByName Text1, "Arcsin", vbMethod, 100, 100

Ответить

Номер ответа: 4
Автор ответа:
 Иван



Администратор

ICQ: 147688925 

Вопросов: 24
Ответов: 708
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 22.08.02 22:46

Знал бы не сказал...  не, я честно не знаю конкретно что там означает. Я же говорю - поюзай, на то она и недокументированная функция.

Еще можно обратиться к объектной библиотеке Word-а:

Documents.Add

With Selection

.TypeText "12 + 12 * (5 - 2)"

.HomeKey wdStory, wdExtend

MsgBox .Calculate

.Delete

End With

ActiveDocument.Close False

 

Или вот так:

Debug.Print WordBasic.ToolsCalculate("12 + 12 * (5 - 2)")

Ну, конечно же, предварительно создай объект Word.

 

Фухххх. Столько "секретов" выдал... меня не побьют ?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам