Public Declare Function CreateEvent& Lib "kernel32"
Alias "CreateEventA" (ByVal lpEventAttributes As Long,
ByVal bManualReset As Long, ByVal bInitialState As
Long, ByVal lpname As String)
Public Declare Function WaitForSingleObject Lib
"kernel32.dll" (ByVal hHandle As Long, ByVal
dwMilliseconds As Long) As Long
Public Sub Main()
Dim lEventHandle As Long
'Создаётся пустой указатель lEventHandle, который будет использоваться для задержки:
lEventHandle = CreateEvent(ByVal 0&, False, False,ByVal 0&)
'Задержка в 500 миллисекунд:
WaitForSingleObject(lEventHandle, 500)
END SUB
есть функция в визуале типа getch() (задержка)?
ru = txt.Text
If ru > 350 Or ru < 10 And ru <> Empty Then
rua = 0
ru0 = MsgBox("Неверное время", vbCritical + vbOKOnly, "Время")
txt.Text = Empty
ru = txt.Text ' мне здесь надо остановить цикл что бы ввести новое значение, но как? в борланде С++ есть getch, им бы просто задержал и всё.... есть ли такая функция в Visual Basic?
Else
rua = 1
End If
Loop
Но, что такое txt.Text? Кто его вводит?
спасибо за ответ, но он чё то ругается, синтаксис еррор, как он говорит... )))
Можно так:
так тогда Вам надо не просто задержку на определенное время, а задержку до тех пор пока юзер не введет значение. т.е до нажатия Enter или кнопки.
или самое простое использовать InputBox:
Код:
Dim ru As Long
ru = Val(txt)
Do While ru > 350 Or ru < 10
txt = InputBox("Неверное время! д/б от 10 до 350", "Время", ru)
If txt = "" Then Exit Sub 'юзер нажал Cancel
ru = Val(txt)
Loop
ru = Val(txt)
Do While ru > 350 Or ru < 10
txt = InputBox("Неверное время! д/б от 10 до 350", "Время", ru)
If txt = "" Then Exit Sub 'юзер нажал Cancel
ru = Val(txt)
Loop
или если у Вас этот код вызывается например по нажатию кнопки OK, можно:
Код:
Private Sub btnOK_Click()
Dim ru As Long
ru = Val(txt)
If ru > 350 Or ru < 10 Then
MsgBox "Неверное время", vbCritical + vbOKOnly, "Время"
With txt
.SelStart = 0
.SelLength = Len(.Text)
.SetFocus
End With
Exit Sub
End If
'...
End Sub
Dim ru As Long
ru = Val(txt)
If ru > 350 Or ru < 10 Then
MsgBox "Неверное время", vbCritical + vbOKOnly, "Время"
With txt
.SelStart = 0
.SelLength = Len(.Text)
.SetFocus
End With
Exit Sub
End If
'...
End Sub