Страница: 1 |
Вообщем ситуация: в проге нужно использовать задержки. Написал функцию типа Wait(seconds), в которой используется таймер. Проблема в том, что на разных ОС длина задержки разная. Из-за чего это? Да и к тому же, при работе некоторых программ (в частности WinAmp'a), таймер притормаживает. Но учитывая, что комп более-менее мощный, то на него грешить нельзя. Неужели WinAmp использует слишком много таймеров? И нет ли какой-нить функции, организовывающую паузу? Просто кажись в VBA было нечто вроде PauseTime, но все это уже забыто, а толковой инфы нет...
Sleep - функция задержки. Минус - прога "подвешивается", нет обработки event-ов. Можно написать свою задержку с использованием цикла и DoEvents: function Wait(byval aSec as long) dim m_Start as single m_Start = Timer do while Timer-m_Start < aSec DoEvents Loop end function писал не в ВБ, возможны ошибки. Минус, не сработает в полночь (Timer ведет отчет от полночи) Все равно Sleep лучше. Он машину не грузит, другим приложениям проще работать... Да и работает стабильно. Я и не говорю, что лучше, а что хуже. Я предложил два способа, указав ,минусы каждого. Можно сделати и комбинацию из двух. Тогда будет полегче процесору и прога будет реагировать на events. function Wait(byval aSec as long) dim m_Start as single m_Start = Timer do while Timer-m_Start < aSec DoEvents Sleep(500) 'заснуть на пол секунды Loop end function Большое спасибо! Выручили! Страница: 1 |
Вопрос: Pause or Timer?
Добавлено: 28.01.04 22:46
Автор вопроса: LeZZvie | ICQ: 300785402
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #1
Добавлено: 28.01.04 23:40
Номер ответа: 2
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #2
Добавлено: 29.01.04 09:20
Номер ответа: 3
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #3
Добавлено: 29.01.04 10:05
Номер ответа: 4
Автор ответа:
LeZZvie
ICQ: 300785402
Вопросов: 2
Ответов: 9
Профиль | | #4
Добавлено: 29.01.04 22:11