Oki
Продвинутый
- Сообщения
- 452
- Репутация
- 63
Замечание в целом разумное для случая быстрой порции действий, но закомментировать уместно только для теста. На практике в таком случае нужно организовать опросы периодически. Как-то так.Надо учесть что цикл будет работать медленно, так как в каждом опросе заложена принудительная задержка, чтобы не нагружать процессор.
Закомментировать опрос и счётчик побежит в десять раз быстрее.
Код:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 390, 87, 559, 246)
$iButton1 = GUICtrlCreateButton("Button1", 24, 24, 161, 25)
$iButton2 = GUICtrlCreateButton("Button2", 216, 24, 153, 25)
GUISetState(@SW_SHOW)
$iFlag = 0
Const $iCounterMax = 100
$iCounter = 0
Do
If $iCounter = 0 Then
$nMsg = GUIGetMsg()
$iCounter = $iCounterMax
Else
$iCounter -= 1
EndIf
If $nMsg = $iButton1 Then
$iFlag = 1
$nMsg = ""
ElseIf $nMsg = $iButton2 Then
$iFlag = 0
$nMsg = ""
EndIf
If $iFlag = 1 Then
ConsoleWrite('Test')
ToolTip($iCounter)
EndIf
Until $nMsg = $GUI_EVENT_CLOSE
Возможно даже, что при слишком длительной по времени выполнения порции действий имеет смысл, наоборот, внутри между строками этой порции ставить опросы кнопок и сохранять статус до следующего прохода основного цикла.
Последнее редактирование: