Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Как заменить Goto

Ответить
Настройки темы
Как заменить Goto

Новый участник


Сообщения: 18
Благодарности: 6

Профиль | Отправить PM | Цитировать


Здравствуйте.
Подскажите, какой алгоритм применить?
нужно выполнение следующих действий:

окно
название функции1

да-нет-выход
если да - выполнение функции1 и переход к окну название функции2
если нет - пропуск функции1 и переход к окну название функции2
выход - выход из программы

окно
название функции2
да-нет-выход

тот же алгоритм для следующей по порядку функции.

и так несколько функций (около 10)
в конце выход

Читал про замену циклами, как-то сложно для понимания, если не трудно опишите алгоритм замены (сам смысл, не очень понятно как задать условие перехода к следующей функции).
Спасибо

Отправлено: 20:21, 24-10-2012

 

Аватара для beve

Старожил


Сообщения: 307
Благодарности: 137

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
#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

-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.


Последний раз редактировалось beve, 25-10-2012 в 23:56.


Отправлено: 23:51, 25-10-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Как заменить Goto

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - [решено] Powershell equivalent 'Goto' dosperados Скриптовые языки администрирования Windows 3 25-01-2012 14:02
Java - Как заменить заменить символ \ на \\ , с помощью replaceall ? Большой Кол Программирование и базы данных 3 29-04-2011 05:37
CMD/BAT - [решено] Погите с goto Tw!ster74 Скриптовые языки администрирования Windows 8 13-11-2010 11:21
Аналог goto Frost_Imp AutoIt 8 24-07-2009 17:14
[решено] IF EXIST <условие> goto Pozia AutoIt 1 18-01-2009 19:20




 
Переход