Вопрос: Пауза | Добавлено: 21.01.11 01:13 |
Автор вопроса: ![]() |
Function starting()
vopros0()'1е действие vopros1()'2е действие vopros2()'и так далее vopros3() vopros4() Form2.Show() End Function Как делать паузы в секундах между действиями кода не останавливая поток , как это Sleep делает , можно это как то через таймер сделать ? |
Ответы | Всего ответов: 27 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #1 | Добавлено: 21.01.11 11:43 |
как сделать паузу не делая паузы? вдумайся в собственный вопрос, может, вес таки остановить поток? |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 246 Ответов: 3333 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 21.01.11 12:00 |
|
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #3 | Добавлено: 21.01.11 12:12 |
VBDUnit, ты останавливал поток! И, мало того, использовал медленную и бажную функцию DoEvents. А что, если последняя итерация цикла, прямо на каком нибудь событии, в момент DoEvents, займет много времени? функция (странно, что не процедура, ибо возвращаемых значений я не вижу) SoftSleep порработает нагло больше, чем ей было указано в параметре! Что тогда? |
Номер ответа: 4 Автор ответа: ![]() ![]() ICQ: 419841508 Вопросов: 9 Ответов: 100 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 21.01.11 14:13 |
Я имел ввиду что почему то когда выполняется sleep у меня не появляются картинки хотя в функции указано pict.visible=true , просто как будто не успевают появиться и прога зависает на указаное время. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #5 | Добавлено: 21.01.11 14:27 |
Где не появляются, какие картинки, и что такое pict? |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #6 | Добавлено: 21.01.11 14:29 |
vopros0()'1е действие
Кстати, а почему бы не Question(i) ?
vopros1()'2е действие vopros2()'и так далее |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 246 Ответов: 3333 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 21.01.11 15:35 |
AgentFire пишет:
VBDUnit, ты останавливал поток! И, мало того, использовал медленную и бажную функцию DoEvents. А что, если последняя итерация цикла, прямо на каком нибудь событии, в момент DoEvents, займет много времени? функция (странно, что не процедура, ибо возвращаемых значений я не вижу) SoftSleep порработает нагло больше, чем ей было указано в параметре! Что тогда? Бида... особенно когда отображаешь картинки. |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #8 | Добавлено: 21.01.11 15:48 |
VβÐUηìt пишет:
Зачем, в таком случае, ты привел пример, который сам же назвал полным ахтунгом?
Бида ... |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 246 Ответов: 3333 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 21.01.11 16:27 |
Полным ахтунгом назвал его ты, а мой пример вполне годится для решения задачи, которую решает автор. Впрочем, то, что написано справа от слова "Бида..." помогает уловить сарказм. Но, видимо, не всем. uNicO* пишет:
Я имел ввиду что почему то когда выполняется sleep у меня не появляются картинки хотя в функции указано pict.visible=true , просто как будто не успевают появиться и прога зависает на указаное время. Попробуй мой пример, на автора предыдущего поста не обращай внимания - он просто немного комплексует из-за небольшой компетенции (см. пост 5) и пытается самоутвердиться. |
Номер ответа: 10 Автор ответа: ![]() ![]() ICQ: 419841508 Вопросов: 9 Ответов: 100 |
Web-сайт: Профиль | Цитата | #10 | Добавлено: 21.01.11 17:47 |
VβÐUηìt, твой код в vb6 ,я в vb.net, но не суть , напиши на примере , пожалуйста, vopros0() vopros1() , как между этими 2мя процедурами сделать паузу в 5 секунд , при том чтоб все кантинки в vopros0 отобразились(у меня в процедурах стоит перемешивание картинок на рандом), то есть перемешались картинки - отобразились , 5 секунд на них смотришь , потом vopros1 . |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 246 Ответов: 3333 |
Web-сайт: Профиль | Цитата | #11 | Добавлено: 21.01.11 18:07 |
uNicO* пишет:
твой код в vb6 ,я в vb.net, но не суть Нет,нет, тут то как раз и суть. В VB6 потков нет (точнее есть, но это отдельное очень занимательное и веселое занятие), поэтому в легких случаях обходятся дуэвентсами и всем остальным, чтобы не подвисало. Но именно когда "чтобы не повисало", то есть неточности во времени простительны. Если все сложнее - то выкручиваются (или пересаживаются на дотнет и пишут топики про то, что vb6 говно). В дотнете с потоками работать можно, причем абсолютно спокойно. Но потоки, они и в дотнете потоки - это отдельная тема, в твоем случае можно обойтись жутко неоптимальным, ахтуновским, ужастным и нубским, но очень простым путем. Если хочешь, можешь на досуге поразбирать потоки. Если вкраце - потоки нужны, чтобы параллельно выполнять несколько функций. Тебе проще так:
|
Номер ответа: 12 Автор ответа: ![]() ![]() ICQ: 419841508 Вопросов: 9 Ответов: 100 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 21.01.11 18:18 |
VβÐUηìt , огроменное спс, работает )) единственный человек кто разжевал все ) |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #13 | Добавлено: 21.01.11 18:20 |
говнокод
олсо, привязываться к DateTime.Now нельзя, потому что в этот момент может произойти переход на летнее/зимнее время, смена часового пояса или синхронизация часов, отстающих на несколко минут от интернет-времени, и работа функции станет непредсказуемой. DateTime.UtcNow получше, но тоже не то. Можно привязываться к Environment.TickCount. Если пишешь на .NET, запускай отдельный поток и в нем свободно можешь вызывать System.Threading.Thread.Sleep на нужное тебе время. UI блокироваться не будет. Для того чтоб обращаться к UI из этого потока, используется Control.Invoke/Control.BeginInvoke, сложного здесь ничего нет. |
Номер ответа: 14 Автор ответа: ![]() ![]() ICQ: 419841508 Вопросов: 9 Ответов: 100 |
Web-сайт: Профиль | Цитата | #14 | Добавлено: 21.01.11 18:21 |
объясни , пожалуйста, почему этот способ нубский ? |
Номер ответа: 15 Автор ответа: ![]() ![]() ICQ: 419841508 Вопросов: 9 Ответов: 100 |
Web-сайт: Профиль | Цитата | #15 | Добавлено: 21.01.11 18:21 |
пока писал , написали ответ) |
|