-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Как заменить Goto
Здравствуйте.
Подскажите, какой алгоритм применить?
нужно выполнение следующих действий:
окно
название функции1
да-нет-выход
если да - выполнение функции1 и переход к окну название функции2
если нет - пропуск функции1 и переход к окну название функции2
выход - выход из программы
окно
название функции2
да-нет-выход
тот же алгоритм для следующей по порядку функции.
и так несколько функций (около 10)
в конце выход
Читал про замену циклами, как-то сложно для понимания, если не трудно опишите алгоритм замены (сам смысл, не очень понятно как задать условие перехода к следующей функции).
Спасибо
|
Код:
#include <GUIConstantsEx.au3>
Global $bState=0
For $i=1 to 3 ;у вас сдесь будет по числу ваших функций
$Gui = GUICreate("Функция"&$i, 269, 101)
$OkButton = GUICtrlCreateButton("Да", 8, 64, 75, 25)
$CancelButton = GUICtrlCreateButton("Нет", 96, 64, 75, 25)
$ExitButton = GUICtrlCreateButton("Выход", 184, 64, 75, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $ExitButton
Exit
Case $OkButton
$bState=1
ExitLoop
Case $CancelButton
$bState=0
ExitLoop
EndSwitch
sleep(10)
WEnd
if $bState=1 then
Call ( "MyFunction"&$i)
else
ContinueLoop
endif
$bState=0
Guidelete($Gui)
Next
Exit
Func MyFunction1()
MsgBox(64,"Message", "Функция 1 выполнена!", 1)
Endfunc
Func MyFunction2()
MsgBox(64,"Message", "Функция 2 выполнена!", 1)
Endfunc
Func MyFunction3()
MsgBox(64,"Message", "Функция 3 выполнена!", 1)
Endfunc
|
Время: 04:59.
© OSzone.net 2001-