Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Northwind
-
- Начинающий
-
-
- Сообщения: 2
- Зарегистрирован: 17.11.2006 (Пт) 15:35
Northwind » 17.11.2006 (Пт) 15:53
Подскажите плз. Может быть есть такая функция
(не хочется самому писать) чтобы было примерно так:
Dim S as String
Dim I as Integer
S = "(5 + 5) / 2 - 3"
I = ФУНКЦИЯ(S)
Соответственно I = 2 после ее действия...
В справочнике не нашел, как написать представляю,
но если уже есть - зачем...
Последний раз редактировалось
Northwind 17.11.2006 (Пт) 15:55, всего редактировалось 1 раз.
-
Northwind
-
- Начинающий
-
-
- Сообщения: 2
- Зарегистрирован: 17.11.2006 (Пт) 15:35
Northwind » 17.11.2006 (Пт) 16:01
Спасибо. Слово ЭВАЛЮТАТОР - было незнакомым (поиск по нему не делал)
-
artful84
-
- Начинающий
-
-
- Сообщения: 18
- Зарегистрирован: 28.12.2005 (Ср) 2:04
- Откуда: 2la
-
artful84 » 24.11.2006 (Пт) 15:21
Я сталкивался с похожей проблемой. Есть довольно хороший способ - использовать функцию eval из javascript. Для ее использования необходим MS Script Control. Если нужен пример, могу поискать.
Дилетант
-
artful84
-
- Начинающий
-
-
- Сообщения: 18
- Зарегистрирован: 28.12.2005 (Ср) 2:04
- Откуда: 2la
-
artful84 » 25.11.2006 (Сб) 10:05
Нашел пример - метод Симпсона для решения определенных инегралов с использованием MS SCript Control.
- Код: Выделить всё
Option Explicit
Dim a As Double, b As Double, m As Integer
Dim h As Double
Dim x As Double
Dim sFun As String
Dim f As Double, n As Integer, i As Double
Private Sub cmdSol_Click()
On Error GoTo 100
f = 0
sFun = text1.Text
Dim strFunction As String
strFunction = "Function Eval(x)" & vbCrLf & " eval =" & text1.Text &_ vbCrLf & "End Function"
SCSimp.AddCode strFunction
a = CDbl(txtA.Text)
b = CDbl(txtB.Text)
m = CInt(txtM.Text)
h = (b - a) / m / 2
x = a
f = SCSimp.Run("Eval", x)
i = f: n = 0
10 x = x + h
f = SCSimp.Run("Eval", x)
i = i + 4 * f: n = n + 2
If n = 2 * m Then GoTo 20
x = x + h
f = SCSimp.Run("Eval", x)
i = i + 2 * f
GoTo 10
20 x = b
f = SCSimp.Run("Eval", x)
i = (i + f) * h / 3
txtSol.Text = Str(i)
Exit Sub
100 txtSol.Text = "Ошибка при решении. Проверьте данные"
End Sub
Последний раз редактировалось
artful84 25.11.2006 (Сб) 13:41, всего редактировалось 1 раз.
Дилетант
-
Viper
-
- Артефакт VBStreets
-
-
- Сообщения: 4394
- Зарегистрирован: 12.04.2005 (Вт) 17:50
- Откуда: Н.Новгород
-
Viper » 25.11.2006 (Сб) 10:13
artful84, ты бы привел этот код в божеский вид перед тем как выложить. А то в этой жути без ящика пива не разберешься
Весь мир матрица, а мы в нем потоки байтов!
-
tyomitch
-
- Пользователь #1352
-
-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 25.11.2006 (Сб) 12:03
artful84 писал(а):Нашел пример - метод Симпсона для решения определенных инегралов с использованием MS SCript Control.
А я здесь выкладывал такой же пример, только без левых контролов -- через TLB...
-
artful84
-
- Начинающий
-
-
- Сообщения: 18
- Зарегистрирован: 28.12.2005 (Ср) 2:04
- Откуда: 2la
-
artful84 » 25.11.2006 (Сб) 13:36
!Viper! писал(а):artful84, ты бы привел этот код в божеский вид перед тем как выложить. А то в этой жути без ящика пива не разберешься
Гм... Первокурсники, которые VB первый раз видели, разобрались без ящика пива. Ладно, приведу.
Дилетант
-
artful84
-
- Начинающий
-
-
- Сообщения: 18
- Зарегистрирован: 28.12.2005 (Ср) 2:04
- Откуда: 2la
-
artful84 » 25.11.2006 (Сб) 13:42
tyomitch писал(а):А я здесь выкладывал такой же пример, только без левых контролов -- через TLB...
Ну не такой уж он и левый
Дилетант
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: SemrushBot и гости: 102