PDA

Показать полную графическую версию : [решено] как правильно создать цикл?


crindlok
02-05-2013, 11:50
Первый раз столкнулся с AutoIt, подскажите пожалуйста как последовательность действий заключить в цикл?

Нашел вот такой код на форуме:


While 1
$iLoop = InputBox("Ввод", "Введите число повторении цикла:", "")
If @error Then Exit

If StringIsDigit($iLoop) Then ExitLoop
MsgBox(48, "Ошибка!", "Позволено вводить только числа, повторите попытку...", 5)
WEnd

HotKeySet("!a", "_Loop_Proc")

While 1
Sleep(100)
WEnd

Func _Loop_Proc()
Sleep(500)
HotKeySet("!a")

For $i = 1 To $iLoop
Sleep(10)
Send(100000)
Next

Exit
EndFunc


Мне нужно что-то похожее, только вместо Send(100000) делать много движений мышкой, так как текста много наверно все эти движения надо объявить в функцию и вместо сенд написать название функции? как правильно сделать?

И еще мне нужно не начинать действие по нажатию альт+а, а сразу и завершить выполнение скрипта либо когда кончиться цикл либо если пользователь нажмет ctrl+c

Как это все осуществить?

Creat0R
02-05-2013, 13:21
так как текста много наверно все эти движения надо объявить в функцию и вместо сенд написать название функции? »
Всё верно.

мне нужно не начинать действие по нажатию альт+а, а сразу и завершить выполнение скрипта либо когда кончиться цикл либо если пользователь нажмет ctrl+c »

While (http://www.autoitscript.com/autoit3/docs/keywords.htm#While) 1
$iLoop = InputBox (http://autoit-script.ru/autoit3_docs/functions/InputBox.htm)("Ввод", "Введите число повторении цикла:", "")
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) @error (http://autoit-script.ru/autoit3_docs/macros.htm#@error) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)

If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) StringIsDigit (http://autoit-script.ru/autoit3_docs/functions/StringIsDigit.htm)($iLoop) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) ExitLoop (http://www.autoitscript.com/autoit3/docs/keywords.htm#ExitLoop)
MsgBox (http://autoit-script.ru/autoit3_docs/functions/MsgBox.htm)(48, "Ошибка!", "Позволено вводить только числа, повторите попытку...", 5)
WEnd (http://www.autoitscript.com/autoit3/docs/keywords.htm#WEnd)

HotKeySet (http://autoit-script.ru/autoit3_docs/functions/HotKeySet.htm)("^c", "_Exit_Proc")

For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 1 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) $iLoop
Sleep (http://autoit-script.ru/autoit3_docs/functions/Sleep.htm)(10)
_Some_Proc()
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)

Func (http://www.autoitscript.com/autoit3/docs/keywords.htm#Func) _Some_Proc()
;...
EndFunc (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndFunc)

Func (http://www.autoitscript.com/autoit3/docs/keywords.htm#Func) _Exit_Proc()
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
EndFunc (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndFunc)

crindlok
02-05-2013, 20:28
Огромное спасибо!




© OSzone.net 2001-2012