Есть ли аналог Delay?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Snussi
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 151
Зарегистрирован: 21.07.2004 (Ср) 18:08
Откуда: Москва, Россия

Есть ли аналог Delay?

Сообщение Snussi » 14.12.2004 (Вт) 13:11

Уважаемые господа!
А есть ли в VB аналог функции Delay(time in...) PHP и других языков?

Т.е., мне надо "запаузить" выполнение программы между 2-мя вызовами функций?

Mleha
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 146
Зарегистрирован: 06.10.2004 (Ср) 7:49
Откуда: Ангарск

Сообщение Mleha » 14.12.2004 (Вт) 13:13

Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 14.12.2004 (Вт) 13:14

Да, API-функция Sleep

Код: Выделить всё
'This project needs a button
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
    'KPD-Team 1998
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    Me.Caption = "Your system will sleep 5 sec."
    'Sleep for 5000 milliseconds
    Sleep 5000
    Me.Caption = ""
End Sub
Private Sub Form_Load()
    Me.Caption = ""
    Command1.Caption = "Sleep ..."
End Sub
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)

Snussi
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 151
Зарегистрирован: 21.07.2004 (Ср) 18:08
Откуда: Москва, Россия

Сообщение Snussi » 14.12.2004 (Вт) 13:33

А будут ли в это время обрабатываться другие события, например - таймеры?

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 14.12.2004 (Вт) 13:58

Нет, не будут

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 14.12.2004 (Вт) 13:59

Мог бы и сам проверить такую простую вещь...

Нет, не будут. Sleep приостанавливает впыолнение нити. Поскольку VB весь в GUIшном потоке сидит, то события от таймеров обрабатываться не будут.

А тебе что надо-то?

P.S. хм... что-то я в этой теме все время на минуту позже отвечаю :D
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.12.2004 (Вт) 18:22

Rainbow писал(а):P.S. хм... что-то я в этой теме все время на минуту позже отвечаю :D
Не иначе, твоя нить приостановлена и не обрабатывает события :-D
Изображение

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 16.12.2004 (Чт) 8:14

Помню я так делал:
Код: Выделить всё
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Sub Delay(ms as long)
dim lStart as long
dim lEnd as long
lStart = timeGetTime
lend = lstart + ms
do while (timegettime > lEnd)
doevents
loop
end sub

Тогда таймеры работают :)
الفيجوال بيسك الرابح

Sol
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 23.04.2006 (Вс) 11:32
Откуда: Москва

Сообщение Sol » 30.08.2007 (Чт) 14:52

А есть ли возможность реализовать задержку в VBScript? API там не помогут..
- Внимание, Земля, говорит борт 13, у нас отказал бортовой компьютер, что делать?
- Борт 13, борт 13, это диспетчер, слышите меня? Играйте пока на резервном, играйте на резервном.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.08.2007 (Чт) 14:56

Прогнать цикл?
Лучший способ понять что-то самому — объяснить это другому.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 30.08.2007 (Чт) 15:17

WScript.Sleep (mSek)

Sol
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 23.04.2006 (Вс) 11:32
Откуда: Москва

Сообщение Sol » 30.08.2007 (Чт) 15:23

Спасибо, jangle!
- Внимание, Земля, говорит борт 13, у нас отказал бортовой компьютер, что делать?
- Борт 13, борт 13, это диспетчер, слышите меня? Играйте пока на резервном, играйте на резервном.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 14

    TopList