![]() |
|
Модераторы: Akina |
![]()
|
|
| Гость_Иван |
|
|||
|
Unregistered |
Зрасть .
Может кто поможет, в Факе не нашёл. В макросе для Эксел я ипользую такую паузу. p = 2 s = Timer Do While Timer < s + p DoEvents Loop В течении паузы диспетчер задач показывает 100 процентную загрузку проца. Ну для настольного компа без разницы. А вот когда я запускаю этот макрос на ноутбуке.Ноут начинает греться, начинет вентилятор жужжать, соответственно повышенный расход энергии и небольшое время автономной работы ноутбука. Есть какой нибудь другой способ задать паузу? |
|||
|
||||
| -Mikle- |
|
||||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
Можно так:
в этом случае проц не грузится, но перестают приходить события на форму и Excel можно попробовать так:
вот так все будет нормально и с процессором и с событиями, правда она будет немного даинее указанного значения, из-за doEvents А вот если использовать ЕЁ в твоем варианте, то по идее, все должно быть окей
-------------------- Если тебе плюют в спину, значит ты впереди... |
||||||
|
|||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Добавлено @ 12:57 Посему вместо паузы надо просто завершить исполнение процедуры, предварительно взведя флаг вызова ее окончания (помещенного в отдельную процедуру), который обрабатывается таймером формы или еще где. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Гость_Иван |
|
|||
|
Unregistered |
Я решил использовать такой код
Dim a As Long Do a = Second(Now) If a = 1 Then Call Макрос2 Sleep 1000 DoEvents Loop Процессор не грузиться и вроде система нормально работает. Никто не знает функция Sleep не вредна для ноутбука, может при её использовании какие нибудь переходные процессы возникают или что нибудь ещё вредное?? |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 8 Всего: 59 |
Да вряд ли, это стандартная ф-ия из Kernel32, мелкософты умно ее сделали, там нет никаких циклов по ожиданию прохода времени... Ты должен беспокоиться только о ресурсоемкости твоей проги(в данном случае), я не слышал такого, что программы пишуться отдельно под ноут и настольный, если зарузка ЦП не превышает 0-2 процентов при выполнении проги, значит все нормально. Вообще загрузка ЦП, это не совсем то, как кажется на первый взгляд... но это уже отдельная тема, не в этом топике... PS: Зарегистрируйся, это бесплатно!!! -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |