Здравствуйте.
Подскажите, какой алгоритм применить?
нужно выполнение следующих действий:
окно
название функции1
да-нет-выход
если да - выполнение функции1 и переход к окну название функции2
если нет - пропуск функции1 и переход к окну название функции2
выход - выход из программы
окно
название функции2
да-нет-выход
тот же алгоритм для следующей по порядку функции.
и так несколько функций (около 10)
в конце выход
Читал про замену циклами, как-то сложно для понимания, если не трудно опишите алгоритм замены (сам смысл, не очень понятно как задать условие перехода к следующей функции).
Спасибо
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <GUIConstantsEx.au3>
Global (http://www.autoitscript.com/autoit3/docs/keywords.htm#Global) $bState=0
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i=1 to (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) 3 ;у вас сдесь будет по числу ваших функций
$Gui = GUICreate (http://www.autoitscript.com/autoit3/docs/functions/GUICreate.htm)("Функция"&$i, 269, 101)
$OkButton = GUICtrlCreateButton (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateButton.htm)("Да", 8, 64, 75, 25)
$CancelButton = GUICtrlCreateButton (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateButton.htm)("Нет", 96, 64, 75, 25)
$ExitButton = GUICtrlCreateButton (http://www.autoitscript.com/autoit3/docs/functions/GUICtrlCreateButton.htm)("Выход", 184, 64, 75, 25)
GUISetState (http://www.autoitscript.com/autoit3/docs/functions/GUISetState.htm)(@SW_SHOW (http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_show))
While (http://www.autoitscript.com/autoit3/docs/keywords.htm#While) 1
$nMsg = GUIGetMsg (http://www.autoitscript.com/autoit3/docs/functions/GUIGetMsg.htm)()
Switch (http://www.autoitscript.com/autoit3/docs/keywords.htm#Switch) $nMsg
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $GUI_EVENT_CLOSE, $ExitButton
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $OkButton
$bState=1
ExitLoop (http://www.autoitscript.com/autoit3/docs/keywords.htm#ExitLoop)
Case (http://www.autoitscript.com/autoit3/docs/keywords.htm#Case) $CancelButton
$bState=0
ExitLoop (http://www.autoitscript.com/autoit3/docs/keywords.htm#ExitLoop)
EndSwitch (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndSwitch)
sleep (http://www.autoitscript.com/autoit3/docs/functions/Sleep.htm)(10)
WEnd (http://www.autoitscript.com/autoit3/docs/keywords.htm#WEnd)
if (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $bState=1 then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
Call (http://www.autoitscript.com/autoit3/docs/functions/Call.htm) ( "MyFunction"&$i)
else (http://www.autoitscript.com/autoit3/docs/keywords.htm#Else)
ContinueLoop (http://www.autoitscript.com/autoit3/docs/keywords.htm#ContinueLoop)
endif (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
$bState=0
Guidelete (http://www.autoitscript.com/autoit3/docs/functions/GUIDelete.htm)($Gui)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
Func (http://www.autoitscript.com/autoit3/docs/keywords.htm#Func) MyFunction1()
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(64,"Message", "Функция 1 выполнена!", 1)
Endfunc (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndFunc)
Func (http://www.autoitscript.com/autoit3/docs/keywords.htm#Func) MyFunction2()
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(64,"Message", "Функция 2 выполнена!", 1)
Endfunc (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndFunc)
Func (http://www.autoitscript.com/autoit3/docs/keywords.htm#Func) MyFunction3()
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(64,"Message", "Функция 3 выполнена!", 1)
Endfunc (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndFunc)
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.