Страница: 1 |
"sin(x)+12" - к примеру пользователь ввел эту строку в textbox как сосчитать результат этого выражения? как проанализировать эту строку и вычленить из нее мат. функцию sin(x) и константу 12???? просьба присылать ваши варианты на : konik@mail.nnov.ru заранее благодарен!!!
Используй API функцию: 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 Это модуль ' For VB5 ' For VB6 ' FOR Access 97/VBE.dll clients like Word 97 and Excel 97 Public Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean Public Function SecretFunction(a As Long, b As Long) As String Страница: 1 |
Вопрос: ИМЕЕТСЯ СТРОКА "SIN(X)+12" как вычислить ее???!!!
Добавлено: 29.10.02 20:04
Автор вопроса: konik
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
Ян
ICQ: 816105
Вопросов: 38
Ответов: 198
Web-сайт:
Профиль | | #1
Добавлено: 29.10.02 22:27
Номер ответа: 2
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #2
Добавлено: 30.10.02 11:44
========
Option Explicit
'Private Declare Function EbExecuteLine Lib "vba5.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long
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
' Declare Function EbExecuteLine Lib "vba332.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
SecretFunction = "Secret calculation: " & a & " * " & b & " = " & a * b
End Function
==========
Private Sub Command1_Click()
text1.text="var = 3^2 + sin(3.1415926/4):msgbox var"
Dim res As Boolean
res = ExecuteLine(Text1.Text)
End Sub