|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Прогресс бар. Параллельное выполнение двух функций |
|
[решено] Прогресс бар. Параллельное выполнение двух функций
|
Старожил Сообщения: 410 |
Профиль | Отправить PM | Цитировать
Всем привет!
Подскажите, можно ли сделать так чтобы скрипт продолжал выполнять свою работу, и параллельно шёл прогресс бар, потому-что у меня получается что либо сначала скрипт всё делает, а патом показывает прогресс, либо наиборот, сначала прогресс, затем выполнение. Вот код самого прогресс бара.
Я тут ещё узнал что в autoit нельзя запускать параллельно 2 цикла. Может в таком случае стоит разделить цикл прогресс бара? Ну допустим он выполняется до 10%, запускается одно задание, патом выполняется прогресс бар 10%-20%, дальше выполняется второе задание и так далее до 100. Можно такое сделать? Если да, то подскажите как сделать паузу в прогресс баре. |
|
------- Отправлено: 14:42, 19-04-2012 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Предупреждение за нарушение правил форума, пункт 2.7 и пункт 3.19:
Цитата:
|
|
------- Отправлено: 14:48, 19-04-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Проще сделать второй скрипт показывающий прогресс-бар и запускать его
|
Отправлено: 19:20, 19-04-2012 | #3 |
Старожил Сообщения: 410
|
Профиль | Отправить PM | Цитировать Creat0R, Надеюсь я учел все Ваши замечания.
ferget, Огромное спасибо, как всегда, четкий совет. И как я сразу не додумался сделать что-то такое. В результате сделал так: Разделил все задачи скрипта, раскидал их по функциям. В цикл прогресс бара вставил несколько дополнительных условий и расставил там функции. Теперь получается что при выполнении цикла прогресс бара он поочерёдно вызывает задания, и за одно показывает какая функция выполняется в данный момент. |
------- Отправлено: 06:38, 20-04-2012 | #4 |
Старожил Сообщения: 410
|
Профиль | Отправить PM | Цитировать Почему вот такая конструкция
Выводит текст "Сбор Информаци"и, патом переключается на "Настройка фона" и на этом застревает (хотя прогресс продолжает идти), а патом сразу выводит Завершение настройки. Как сделать чтобы Настройка значков не пропускалась? |
|
------- Отправлено: 15:12, 20-04-2012 | #5 |
Старожил Сообщения: 410
|
Профиль | Отправить PM | Цитировать Пришлось разделить
Может у кого-нибудь есть предложения по-лучше? |
------- Отправлено: 15:40, 20-04-2012 | #6 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать For $i = 0 to 100 sleep(100) If ($i<=25) Then ProgressSet( $i, "Выполнено " & $i & "%" & @CRLF & "Сбор Информации") ElseIf (25<$i and $i<=30) Then ProgressSet( $i, "Выполнено " & $i & "%" & @CRLF & "Настройка фона") ElseIf (30<$i and $i<=50) Then ProgressSet( $i, "Выполнено " & $i & "%" & @CRLF & "Настройка значков") ElseIf(50<$i and $i<=100) Then ProgressSet( $i, "Подождите " & $i & "%" & @CRLF & "Завершение настройки") EndIf Next |
Отправлено: 16:44, 20-04-2012 | #7 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Я бы так сделал.
$sText = 'Сбор необходимых данных' ProgressOn('Настройка рабочего стола', $sText, '0%') Sleep(2000) For $i = 0 To 100 Sleep(200) Switch $i Case 0 To 19 $sText = 'Сбор Информации' Case 20 To 39 $sText = 'Настройка фона' Case 40 To 69 $sText = 'Настройка значков' Case Else $sText = 'Завершение настройки' EndSwitch ProgressSet($i, 'Подождите ' & $i & '%' & @CRLF & $sText) Next Sleep(2000) ProgressOff() |
Отправлено: 17:12, 20-04-2012 | #8 |
Старожил Сообщения: 410
|
Профиль | Отправить PM | Цитировать ТОЧНО! БЛИН! Я даже не подумал применить здесь кейс, только придётся чуть-чуть ещё подправить.
|
------- Отправлено: 17:22, 20-04-2012 | #9 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать McLotos,
Посмотрите еще пример к функции _GUICtrlStatusBar_EmbedControl() |
Отправлено: 17:49, 20-04-2012 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Прогресс бар для vbscript | neo21 | Скриптовые языки администрирования Windows | 2 | 27-10-2011 13:31 | |
[решено] Как сделать прогресс бар с показом выполнения комманд? | in-com | AutoIt | 7 | 08-10-2010 12:33 | |
[решено] progressbar (прогресс-бар) до появления конкретного окна | saavaage | AutoIt | 7 | 28-09-2010 20:24 | |
[решено] [PHP] Прогресс-бар (счетчик игроков) | D_Master | Вебмастеру | 3 | 27-03-2009 18:41 | |
[решено] Прогресс бар | semiono | AutoIt | 17 | 24-03-2009 23:18 |
|