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

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

Ответить
Настройки темы
Одновременная работа цикла и программы

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


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

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


Вызов функций в проге производится опросом:
case "abc"
func1
case"amg"
func2
case"adm"
func3
если вызвать функцию2, то опрос останавливается, пока не выполнит эту фунцию2, а функц2 это бесконецный цикл:
while 1
msgbox(0,"","message")
wend
Как заставить работать прогу параллельно с циклом

Отправлено: 17:56, 13-08-2010

 

Ветеран


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

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


ShogenOFF, не уверен, но, возможно, реализовать как отдельный скрипт и запускать его из основного?

-------
мы рождены, чтоб сказку сделать былью


Отправлено: 18:18, 13-08-2010 | #2



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

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


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


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

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


А нет других вариантов? Ехе'шник, желательно, должен быть один. Если это что-то меняет, то цикл do...until.

Отправлено: 20:58, 13-08-2010 | #3


Аватара для madmasles

Ветеран


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

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


ShogenOFF,
Попробуйте так:
Код: Выделить весь код
While 1
    $ahCallBack_1 = _CallBack_Init("My_Func_1", 5555)
    $ahCallBack_2 = _CallBack_Init("My_Func_2", 2222)
    My_Func_3()
WEnd

Func My_Func_1()
    Local $iX = Random(1, @DesktopWidth - 50, 1), $iY = Random(1, @DesktopHeight - 50, 1)
    MouseMove($iX, $iY)
EndFunc   ;==>My_Func_1

Func My_Func_2()
    SoundPlay(@WindowsDir & "\media\tada.wav")
EndFunc   ;==>My_Func_2

Func My_Func_3()
    While 1
        MsgBox(0, "", "Будут работать все 3 функции, пока не нажмешь OK")
        ExitLoop
    WEnd
    _CallBack_Free($ahCallBack_1)
    _CallBack_Free($ahCallBack_2)
    Exit
EndFunc   ;==>My_Func_3

Func _CallBack_Init($sFuncName, $iTime, $sParam = "")
    Local $hCallBack = DllCallbackRegister($sFuncName, "int", $sParam)
    Local $aTimer = DllCall("user32.dll", "uint", "SetTimer", _
            "hwnd", 0, "uint", 0, "int", $iTime, "ptr", DllCallbackGetPtr($hCallBack))
    Local $ahCallBack[2] = [$hCallBack, $aTimer[0]]
    Return $ahCallBack
EndFunc   ;==>_CallBack_Init

Func _CallBack_Free($ahCallBack)
    If $ahCallBack[0] <> -1 Then DllCallbackFree($ahCallBack[0])
    If $ahCallBack[1] <> -1 Then DllCall("user32.dll", "int", "KillTimer", "hwnd", 0, "uint", $ahCallBack[1])
EndFunc   ;==>_CallBack_Free
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:22, 13-08-2010 | #4


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


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

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


Спасибо, madmasles. Но....ради цикла мсгбокса не хочу так заморачиваться. Думал, есть какая-нить стандартная ф-ия.

Отправлено: 22:48, 13-08-2010 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - Одновременная работа в 2-х сетях. DmitryF Microsoft Windows 7 2 26-07-2010 13:31
Одновременная работа Телевизора и Монитора Saber_Fox Видеокарты 2 27-02-2010 22:19
одновременная работа монитора и телевизора altr Видеокарты 7 08-02-2010 18:48
одновременная работа (Remote Desktop)... minion Microsoft Windows 2000/XP 15 18-11-2006 23:07
Одновременная работа 2х сетевых карт Lola2 Сетевые технологии 2 15-01-2006 20:23




 
Переход