$Time = TimerInit()
$InitTime = 20
GUICreate("Test", 300, 200)
$Label = GUICtrlCreateLabel("", 10, 10, 50, 20)
GUISetState()
Do
If GUICtrlRead($Label) <> $InitTime - Round(TimerDiff($Time)/1000, 0) Then
GUICtrlSetData($Label, $InitTime - Round(TimerDiff($Time)/1000, 0))
EndIf
Until GUIGetMsg() = -3
<>
GUIGetMsg() = -3
$Time = TimerInit()
$InitTime = 5
$StopTime = 0
GUICreate("Test", 300, 200)
$Label = GUICtrlCreateLabel(-1, 10, 10, 50, 20)
GUISetState()
Do
If GUICtrlRead($Label) = $StopTime Then
GUICtrlSetData($Label, "stop")
Sleep(500)
Exit
Else
If GUICtrlRead($Label) <> $InitTime - Round(TimerDiff($Time)/1000, 0) Then
GUICtrlSetData($Label, $InitTime - Round(TimerDiff($Time)/1000, 0))
EndIf
EndIf
Until GUIGetMsg() = -3
Fever сказал(а):- не равноКод:<>
- это отлов сообщения от окна, при котором происходит его закрытиеКод:GUIGetMsg() = -3
Код:$Time = TimerInit() $InitTime = 5 $StopTime = 0 GUICreate("Test", 300, 200) $Label = GUICtrlCreateLabel(-1, 10, 10, 50, 20) GUISetState() Do If GUICtrlRead($Label) = $StopTime Then GUICtrlSetData($Label, "stop") Sleep(500) Exit Else If GUICtrlRead($Label) <> $InitTime - Round(TimerDiff($Time)/1000, 0) Then GUICtrlSetData($Label, $InitTime - Round(TimerDiff($Time)/1000, 0)) EndIf EndIf Until GUIGetMsg() = -3
с остановкой таймера
Yashied сказал(а):[warn]За нарушение общих правил (пункт В.2):
Старайтесь избегать “Over quoting” (преувеличенное цитирование) - цитируйте только необходимую часть сообщения, которая наилучшим образом подчеркнёт суть цитируемого.
С уважением, Модератор форума.[/warn]
предлагаю вообще убрать кнопку "цитировать"
Fever сказал(а):можна просто выделить нужный участок сообщения и в выпадающем окне нажать цитировать :whistle:
#include <GUIConstantsEx.au3>
$iInitTimer = 5
$hGUI = GUICreate("Timer Test", 200, 150)
$nTimer_Label = GUICtrlCreateLabel("Timer start...", 10, 10, 70, 20)
GUISetState(@SW_SHOW, $hGUI)
AdlibRegister("_SetTimer_Proc", 1000)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _SetTimer_Proc()
GUICtrlSetData($nTimer_Label, $iInitTimer)
$iInitTimer -= 1
If $iInitTimer < 0 Then
Sleep(1000)
GUICtrlSetData($nTimer_Label, "Timer stop...")
Sleep(1500)
Exit
EndIf
EndFunc
Я написал свою точку зрения, что если запрещается так цитировать, то следует просто убрать ту кнопку, или сообщение сделать по нажатию на эту кнопку "типо не цитируйте все сообщение"!Тебе дали предупреждение, а ты сразу взял и плюнул на него?
Впредь постараюсь больше этого не делать!Лучше бы подправил свои сообщения.
Ваш код выполняется тольо один раз и выходит, это реализовать не вызывает трудностей! Суть в том чтобы вызывать пользовательскую функцию раз в какое то время (отсчет таймера, потом выполнение фнкции, потом опять таймер) до нажатия выход Exit из скрипта(по закрытию окна например)!А почему нужно использовать цикл для таймера?
Д и зачем так всё усожнять...
Это не даёт лигитимацию так делать.Я написал свою точку зрения, что если запрещается так цитировать, то следует просто убрать ту кнопку, или сообщение сделать по нажатию на эту кнопку "типо не цитируйте все сообщение"!
Это шутка? ты написал...Ваш код выполняется тольо один раз и выходит
На код который работает также, но в цикле!Спасибо огромное!
Суть в том чтобы вызывать пользовательскую функцию раз в какое то время (отсчет таймера, потом выполнение фнкции, потом опять таймер) до нажатия выход Exit из скрипта(по закрытию окна например)!
#include <GUIConstantsEx.au3>
$iInitTimer = 5
$hGUI = GUICreate("Timer Test", 200, 150)
$nTimer_Label = GUICtrlCreateLabel("Timer start...", 10, 10, 70, 50)
GUISetState(@SW_SHOW, $hGUI)
AdlibRegister("_SetTimer_Proc", 1000)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _SetTimer_Proc()
GUICtrlSetData($nTimer_Label, $iInitTimer)
$iInitTimer -= 1
If $iInitTimer < 0 Then
Sleep(1000)
GUICtrlSetData($nTimer_Label, "Timer stop, calling user function...")
_MyFunc()
$iInitTimer = 5
EndIf
EndFunc
Func _MyFunc()
MsgBox(64, 'Title', 'User function call', 0, $hGUI)
EndFunc
Я забыл что тему про цикличность функции в отдельную тему вынес!Это шутка? ты написал...
[?]
Цитата
Спасибо огромное!
На код который работает также, но в цикле!
Я специально оставил такое поведение.