Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
rash
-
- Начинающий

-
-
- Сообщения: 2
- Зарегистрирован: 08.09.2004 (Ср) 12:26
rash » 08.09.2004 (Ср) 12:41
Задачка очень простая:
Обрабатываю Excel-табличку. Бегу по строкам вниз и выполняю определенные действия с этими строками.
Ессно все это происходит в цикле. Но вот беда, когда запускаю скрипт - откушивается 60-80% ресурсов обеих процессоров. Машина не слабая (2х-головый Р4 с гигом ОЗУ). Файлы как правило достаточно большие (по 2000-10000 строчек с 15-20 колонками).
Вопрос к знатокам:
Как внутри цикла поставить тормоз, который будет немного замедляя работу моего скрипта высвобождать ресурс процессора для выполнения других задач? (в Дельфи это делается одной командой)
Спасибо за участие.
-
marvan
-
- Бывалый

-
-
- Сообщения: 269
- Зарегистрирован: 22.06.2004 (Вт) 13:26
- Откуда: Москва
-
marvan » 08.09.2004 (Ср) 13:02
'или так - прерваться только при действиях пользователя
Declare Function GetInputState Lib "user32" () As Long
'...
If GetInputState() Then DoEvents
'или так - прерывалься всегда
DoEvents
'или так - прерываться на 2 сек
Start = Timer ' Задает начало паузы.
Do While Timer < Start + 2
DoEvents ' Передает управление другим процессам.
Loop
любой из вариантов помещается внутрь цикла
p.s. тока последний вариант не рекомендую - это пауза в программе, но не высвобождение ресурсов процессоа
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Bing-бот, Yandex-бот и гости: 22