Must AutoIt
Сообщения: 3054
Благодарности: 1009
|
Профиль
|
Сайт
|
Отправить PM
| Цитировать
Цитата HORRIBLE:
Смысл работы, как только я нажимаю кнопочку $button_for_func, два файлика func_1, func_2 должны запуститься и висеть в памяти и смотреть, что вписано в $input_for_func_1, $input_for_func_2 и в зависимости от того, что в них вписано выполнять те или иные предписания. »
|
Только немного непонятно, зачем 2 дополнительных файла тут? В любом случае, чуть ниже три файла, и ещё один, в которм совмещаются все три:
Lico.au3
Код: 
#include <GUIConstantsEx.au3>
HotKeySet("{ESC}", "Term")
GUICreate("My App", 1000, 700)
$Label_for_func_1 = GUICtrlCreateLabel("Sost func_1 ", 10, 10, 80, 20)
$Label_for_func_2 = GUICtrlCreateLabel("Sost func_2 ", 10, 50, 80, 20)
$Input_for_func_1 = GUICtrlCreateInput("0", 100, 10, 60, 20)
$Input_for_func_2 = GUICtrlCreateInput("0", 100, 50, 60, 20)
$Button_for_func = GUICtrlCreateButton("Turn on func_1 and 2", 170, 50, 150, 20)
$Label_from_func_1 = GUICtrlCreateLabel("", 350, 10, 100, 20)
$Label_from_func_2 = GUICtrlCreateLabel("", 350, 50, 100, 20)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Button_for_func
Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @ScriptDir & '\Func_1.au3"', @ScriptDir)
Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @ScriptDir & '\Func_2.au3"', @ScriptDir)
EndSwitch
WEnd
Func Term()
Exit
EndFunc
Func_1.au3
Код: 
#NoTrayIcon
$sTitle = "[CLASS:AutoIt v3 GUI;TITLE:My App]"
While 1
$sInput1_Text = ControlGetText($sTitle, "", "Edit1")
If $sInput1_Text = 1 Then
ControlSetText($sTitle, "", "Static3", "1-я задержка 5 с.")
Sleep(5000)
ControlSetText($sTitle, "", "Static3", "2-я задержка 2 с.")
Sleep(2000)
ControlSetText($sTitle, "", "Static3", "сост. 1")
Else
ControlSetText($sTitle, "", "Static3", "сост. 0")
EndIf
Sleep(100)
WEnd
Func_2.au3
Код: 
$sTitle = "[CLASS:AutoIt v3 GUI;TITLE:My App]"
While 1
$sInput2_Text = ControlGetText($sTitle, "", "Edit2")
If $sInput2_Text = 1 Then
ControlSetText($sTitle, "", "Static4", "Задержка 10 с.")
Sleep(10000)
ControlSetText($sTitle, "", "Static4", "Сост. 1")
Else
ControlSetText($sTitle, "", "Static4", "Сост. 0")
EndIf
Sleep(100)
WEnd
Lico_All.au3
Код: 
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1)
HotKeySet("{ESC}", "_Quit")
Global $iCheckInputs = False
Global $iTimer_1 = -1, $iTimer_2 = -1, $iTimer_3 = -1
$hGUI = GUICreate("My App", 1000, 700)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Main_Events")
$Label_for_func_1 = GUICtrlCreateLabel("Sost func_1 ", 10, 10, 80, 20)
$Label_for_func_2 = GUICtrlCreateLabel("Sost func_2 ", 10, 50, 80, 20)
$Input_for_func_1 = GUICtrlCreateInput("0", 100, 10, 60, 20)
$Input_for_func_2 = GUICtrlCreateInput("0", 100, 50, 60, 20)
$Button_for_func = GUICtrlCreateButton("Turn on func_1 and 2", 170, 50, 150, 20)
GUICtrlSetOnEvent(-1, "_Main_Events")
$Label_from_func_1 = GUICtrlCreateLabel("", 350, 10, 100, 20)
$Label_from_func_2 = GUICtrlCreateLabel("", 350, 50, 100, 20)
GUISetState()
While 1
_CheckInputs()
Sleep(1000)
WEnd
Func _Main_Events()
Switch @GUI_CtrlId
Case $GUI_EVENT_CLOSE
Exit
Case $Button_for_func
$iCheckInputs = Not $iCheckInputs
EndSwitch
EndFunc
Func _CheckInputs()
If Not $iCheckInputs Then Return
;Func_1.au3
If GUICtrlRead($Input_for_func_1) = 1 Then
If $iTimer_1 = -1 Then
GUICtrlSetData($Label_from_func_1, "1-я задержка 5 с.")
$iTimer_1 = TimerInit()
EndIf
If TimerDiff($iTimer_1) > 5000 Then
If $iTimer_2 = -1 Then
GUICtrlSetData($Label_from_func_1, "2-я задержка 2 с.")
$iTimer_2 = TimerInit()
EndIf
If TimerDiff($iTimer_2) > 2000 Then GUICtrlSetData($Label_from_func_1, "сост. 1")
If TimerDiff($iTimer_1) > 5000 And TimerDiff($iTimer_2) > 2000 Then
$iTimer_1 = -1
$iTimer_2 = -1
EndIf
EndIf
Else
GUICtrlSetData($Label_from_func_1, "сост. 0")
EndIf
;Func_2.au3
If GUICtrlRead($Input_for_func_2) = 1 Then
If $iTimer_3 = -1 Then
GUICtrlSetData($Label_from_func_2, "Задержка 10 с.")
$iTimer_3 = TimerInit()
EndIf
If TimerDiff($iTimer_3) > 10000 Then
GUICtrlSetData($Label_from_func_2, "Сост. 1")
$iTimer_3 = -1
EndIf
Else
GUICtrlSetData($Label_from_func_2, "Сост. 0")
EndIf
EndFunc
Func _Quit()
Exit
EndFunc
Цитата Рысь:
как окрашивать код в цвета Автоита при посте на форуме? »
|
См. утилиту Au3ToPost  .
|