Ввод в InputBox только цифр - VB
Формулировка задачи:
Народ, такая проблема, написал программу для решения диффуравнения, все работает как часы.. Но есть одно НО!
1) Мне нужно сделать, чтобы когда я вводил в окно InputBox шаг не в цифрах, а в тексте, то выдавало не ошибку, а окно с сообщение следующего типа: "нужно ввести цифры, а не текст" и т.п..
2) Если я ничего не ввожу в окно InputBox, то вместо ошибки тоже выдавало какое - нибудь окно с сообщением.
3) Если я нажимаю в окне InputBox кнопку Cancel, то окно просто закрывалось, а не выдавало сообщение об ошибке.
Вот код программы:
Буду приочень благодарен, реально нужна помощь, весь интернет перерыл и ничего не нашел(((
Листинг программы
- Private Sub CommandButton1_Click()
- Dim X As Double
- Dim Y As Double
- Dim X0 As Double
- Dim Y0 As Double
- Dim X1 As Double
- Dim Y1 As Double
- Dim Step As Double
- Dim k1 As Double
- Dim k2 As Double
- Dim k3 As Double
- Dim k4 As Double
- Step = InputBox("Введите значение шага h")
- If Step = 0 Or Step < 0 Or Step > 1 Then
- Step = MsgBox("Шаг не может быть больше единицы, равен нулю или быть отрицательным. Повторите ввод")
- Exit Sub
- End If
- X0 = 0
- X1 = 1
- Y0 = 0
- For X = X0 To X1 Step Step
- k1 = Step * F1(X, Y)
- k2 = Step * F1(X + Step / 2, Y + k1 / 2)
- k3 = Step * F1(X + Step / 2, Y + k2 / 2)
- k4 = Step * F1(X + Step, Y + k3)
- Y1 = (k1 + 2 * k2 + 2 * k3 + k4) / 6
- MsgBox "X =" + Format$(X, "# ### ##0.000") + "Y = " + Format$(Y, "# ### ##0.000")
- Y = Y1
- Next X
- End Sub
- Function F1(X As Double, Y As Double) As Double
- F1 = (1 / 3 * Sin(2 * X)) - (Y * Cos(3 * X))
- End Function
Решение задачи: «Ввод в InputBox только цифр»
textual
Листинг программы
- ...
- Dim k4 As Double
- Do
- Answ$ = InputBox("Введите значение шага h")
- If Answ$="" Then Exit Sub
- If Not isNumeric(Answ$) then
- MsgBox "Нечисловой ввод! Повторите."
- Else
- Step=Cdbl(Answ$)
- If Step <= 0 Or Step > 1 Then
- MsgBox("Шаг не может быть больше единицы, равен нулю или быть отрицательным. Повторите.")
- Else
- Exit Do
- End if
- End if
- Loop
- X0 = 0
- ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д