Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

есть функция в визуале типа getch() (задержка)?

16K
10 марта 2008 года
_HemP_
50 / / 09.03.2008
Do While rua <> 1
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
251
10 марта 2008 года
SkyMаn
1.7K / / 31.07.2007
Вообще-то есть.. Sleep() от АПИ
Но, что такое txt.Text? Кто его вводит?
16K
10 марта 2008 года
_HemP_
50 / / 09.03.2008
txt.Text это вводит сам пользователь. это часть программы должна считывать время, но только из промежутка от 10 до 350, если же не так, он выводит сообщение об ошибке и должно позволять пользователю ввести новое значение.
спасибо за ответ, но он чё то ругается, синтаксис еррор, как он говорит... )))
24K
05 апреля 2008 года
Mixalov_Aleksandr
40 / / 13.01.2008
Можно так:
http://www.sql.ru/forum/actualthread.aspx?tid=311515

Но для процессора будет лучше вот так:
Код:
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
17K
07 апреля 2008 года
HookEst
144 / / 27.03.2008
txt - это текстовое поле?
так тогда Вам надо не просто задержку на определенное время, а задержку до тех пор пока юзер не введет значение. т.е до нажатия 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


или если у Вас этот код вызывается например по нажатию кнопки 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
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог