|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] остановка функции при условии. |
|
[решено] остановка функции при условии.
|
Новый участник Сообщения: 21 |
Профиль | Отправить PM | Цитировать в коде вызываем функцию, которая будет работать постоянно(через каждый 3 минуты)
в этой функции есть переменная. например паралельно это функции в "главном" коде программа выполняется какаято другая функция(не столь важно). Вопрос: как сделать чтобы при достижении скажем $i=5(через 15минут) мы останавливали функцию в "главном" коде, а при $i=6(спустя три минуты после паузы) снова ее возобновляли. |
|
Отправлено: 17:36, 21-07-2011 |
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать Не знаю, правильно ли я понял
!AutoIt Version: 3.3.6.0 #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Global $i = 0, $begin = 0 Global $iTimeSleep = 3 * 60 ; 3 Минуты AdlibRegister('_Timetosleep', 180000) AdlibRegister('_TrackingTimer', 1000) $Form1 = GUICreate("", 243, 58, 348, 246, BitOR($WS_CAPTION, $WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS)) $Button1 = GUICtrlCreateButton("Х", 8, 8, 227, 41, 0) GUISetState() Do Until GUIGetMsg() = $Button1 Func _Timetosleep() $i += 1 ConsoleWrite('> ' & $i & @CRLF) If $i = 5 Then $begin = TimerInit() AdlibUnRegister('_Timetosleep') EndIf EndFunc ;==>_Timetosleep Func _TrackingTimer() If $begin > 0 And Round(TimerDiff($begin) / 1000) > $iTimeSleep Then AdlibRegister('_Timetosleep', 180000) EndFunc ;==>_TrackingTimer |
Отправлено: 15:14, 24-07-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать реализация знакома и понятна. вотЪ только вопрос- продолжит ли он с местра разЪединения фнкию, или нанет заново
|
Отправлено: 07:37, 25-07-2011 | #3 |
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать Малец не правильно написал код ...
Функцию _Timetosleep он продолжит, те глобальная переменная $i будет приращиваться (Остановится на 5 ... после паузы 3 минуты будет 6,7,8 ...) #include <WindowsConstants.au3> Global $i = 0, $begin = 0, $fTimerOff = False Global $iTimeSleep = 3 * 60 ; 3 Минуты AdlibRegister('_Timetosleep', 180000) AdlibRegister('_TrackingTimer', 500) $Form1 = GUICreate("", 243, 58, 348, 246, BitOR($WS_CAPTION, $WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS)) $Button1 = GUICtrlCreateButton("Х", 8, 8, 227, 41, 0) GUISetState() Do Until GUIGetMsg() = $Button1 Func _Timetosleep() $i += 1 ConsoleWrite('> ' & $i & @CRLF) If $i = 5 Then $begin = TimerInit() AdlibUnRegister('_Timetosleep') EndIf EndFunc ;==>_Timetosleep Func _TrackingTimer() If $begin > 0 And Round(TimerDiff($begin) / 1000) > $iTimeSleep And Not $fTimerOff Then AdlibRegister('_Timetosleep', 180000) $fTimerOff = True EndIf EndFunc ;==>_TrackingTimer |
Отправлено: 00:01, 26-07-2011 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Как добавить ключ реестра, при условии что винда не загружается? | Blast | Microsoft Windows 2000/XP | 56 | 26-01-2013 13:01 | |
Установка - XP согласна ставится при условии выбора по F5 | бУРов | Microsoft Windows 2000/XP | 5 | 27-01-2010 03:11 | |
XP согласна ставится при условии выбора по F5 | бУРов | Непонятные проблемы с Железом | 10 | 25-01-2010 18:39 | |
CMD/BAT - [решено] Создание текстового файла при условии его отсутствия в папке | spilberg | Скриптовые языки администрирования Windows | 1 | 12-07-2009 15:58 | |
Непонятная остановка при установке ХР | DRadmin | Microsoft Windows 2000/XP | 2 | 04-03-2006 17:08 |
|