WAIT

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

WAIT

Сообщение iolaus » 17.09.2004 (Пт) 17:38

народ а вот на basic под дос была команда wait которая позволяла запаузить выполнение программы на некоторое врнемя... а на висуале есть что-то подобное???
This message will self destruct in five seconds!!!

Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Сообщение Scuder » 17.09.2004 (Пт) 17:41

Реально "паузит":
Код: Выделить всё
Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)


Чтобы при этом события работали, то через Timer.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.09.2004 (Пт) 17:53

Или через SleepEx.
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение tyomitch » 17.09.2004 (Пт) 17:53

Вместо таймера я для задержек использую
Код: Выделить всё
Dim Start As Double: Start = Timer
While Timer - Start > XXX: DoEvents: Wend

Я не утверждаю что это лучше, просто к этому способу я привык ещё во времена QBasic-а.
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.09.2004 (Пт) 17:58

Отвыкай. На винде это реально худший способ сделать паузу :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

iolaus
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 19.03.2002 (Вт) 18:33
Откуда: Москва

Сообщение iolaus » 17.09.2004 (Пт) 18:20

через апи вроде лучше!!! спасибо!!!
This message will self destruct in five seconds!!!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.09.2004 (Пт) 18:47

tyomitch, ага, мне еще ASD это высказал. Я вначале обиделся малость, а потом подумал, и понял что он прав.
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение tyomitch » 17.09.2004 (Пт) 19:26

alibek писал(а):tyomitch, ага, мне еще ASD это высказал. Я вначале обиделся малость, а потом подумал, и понял что он прав.

:?: :?: :?: :-|
Что - это?
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.09.2004 (Пт) 22:02

Видать то, что это реально худший способ :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

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

Сообщение tyomitch » 17.09.2004 (Пт) 22:23

GSerg, ты чего, я ещё в сто раз хуже могу придумать, только волю дай :-)
Например:
Код: Выделить всё
    Timer1.Interval = XXX: Timer1.Enabled = True
    While Timer1.Enabled: DoEvents: Wend

Private Sub Timer1_Timer
    Timer1.Enabled = False
End Sub
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.09.2004 (Пт) 23:24

Даже не старайся :)
RayShade в этом смысле не переплюнуть :)
Видел бы ты, как он порой копирует лист excel... ммм... конфетка :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ASD
Модератор
Модератор
Аватара пользователя
 
Сообщения: 1758
Зарегистрирован: 07.12.2001 (Пт) 21:08
Откуда: Russia

Сообщение ASD » 19.09.2004 (Вс) 16:28

Хм, я такое предлогал...
Ну может...
Реально юзаю или sleep (если по полной морозить) или MsgWaitForMultipleObjects
Хотя моменты бывают разные..
Moderator VBStreets
---------------------------

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 19.09.2004 (Вс) 16:56

Почитал ваши рассуждения и не понял: так какой же наилучший способ заморозить программу? :roll:
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

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

Сообщение tyomitch » 19.09.2004 (Вс) 17:13

Заморозить - Sleep, чтобы реагировала - развесить таймеры.
Изображение

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 19.09.2004 (Вс) 17:21

tyomitch писал(а):Заморозить - Sleep, чтобы реагировала - развесить таймеры.

Т.е. как ты написал?
Программа ничего не делает, но на изменение размеров и т.п. реагирует. Так?
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

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

Сообщение tyomitch » 19.09.2004 (Вс) 17:33

Нет, как я написал - делать не надо :-)
Надо заэнейблить таймер, а то, что делается после паузы - делать в его событии Timer, а не в основной процедуре. Это имхо самый правильный способ.
Изображение

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 19.09.2004 (Вс) 19:50

tyomitch писал(а):Нет, как я написал - делать не надо :-)
Надо заэнейблить таймер, а то, что делается после паузы - делать в его событии Timer, а не в основной процедуре. Это имхо самый правильный способ.

Ясно, спасибо.
Это Ж-ж-ж-ж неспроста (с) Винни-Пух


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 3

    TopList