Войти

Показать полную графическую версию : HotKeySet и вызов функции с параметрами


r35p3ct
24-09-2009, 13:33
Есть функция: Func obr($var,$txt)
Есть горячая главиша для нее: HotKeySet("!2", "obr")

Установил новый SciTE, но он начал ругаться, что функция прописана без параметров, если их задать, то при выполнении HotKeySet("!2", "obr(0,0)") эта функция сразу вызывается.
Как все это правильно организовать, не переписывая функцию и не чтобы SciTE не орал при запуске?

FlatX007
24-09-2009, 13:55
HotKeySet("!2", "_MuFunc")

While 1
Sleep(500)
WEnd

Func _MuFunc()
obr(0, 0)
EndFunc ;==>_Mu1

Func obr($var, $txt)
MsgBox(64, Default, "$var =" & $var & ", $txt = " & $txt)
EndFunc ;==>obr

Creat0R
24-09-2009, 14:08
Вообще это неправильный подход, если нужен HotKeySet с указанием параметров, то для этого есть на оф. форуме UDF, а если в этом случае функция вызывается напрямую (где нужно передать параметры) и/или по HoKeySet (где параметры не нужны), тогда делаем так:

HotKeySet (http://www.autoitscript.com/autoit3/docs/functions/HotKeySet.htm)("!2", "obr")

While (http://www.autoitscript.com/autoit3/docs/keywords.htm#While) 1
Sleep (http://www.autoitscript.com/autoit3/docs/functions/Sleep.htm)(100)
WEnd (http://www.autoitscript.com/autoit3/docs/keywords.htm#WEnd)

Func (http://www.autoitscript.com/autoit3/docs/keywords.htm#Func) obr($var=0, $txt=0)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) IsDeclared (http://www.autoitscript.com/autoit3/docs/functions/IsDeclared.htm)("var") Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) Assign (http://www.autoitscript.com/autoit3/docs/functions/Assign.htm)("var", 0)
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) IsDeclared (http://www.autoitscript.com/autoit3/docs/functions/IsDeclared.htm)("txt") Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) Assign (http://www.autoitscript.com/autoit3/docs/functions/Assign.htm)("txt", 0)

ConsoleWrite (http://www.autoitscript.com/autoit3/docs/functions/ConsoleWrite.htm)($var & ":" & $txt & @CRLF (http://www.autoitscript.com/autoit3/docs/macros.htm#@CRLF))

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

r35p3ct
24-09-2009, 16:02
Creat0R, это "Hotkeys UDF Library"? Вроде бы другого там не нашел.
Заодно попутный вопрос, поиском что то не могу сформулировать запрос.
Как запустить по хоткею функцию с циклом, и по хоткею ее остановить, желательно конечно по этой же кнопке...

Creat0R
24-09-2009, 16:28
это "Hotkeys UDF Library"? »
Да вроде.

поиском что то не могу сформулировать запрос.
Как запустить по хоткею функцию с циклом, и по хоткею ее остановить »
По фильтрам просто «Pause» ввести, и вот что получаем: [решено] Активация Script Paused через HotKeySet (http://forum.oszone.net/thread-143678.html)

А по фильтру «пауза» получаем тоже нечто похожее: [решено] Пауза скрипта до нажатия любой клавиши (http://forum.oszone.net/thread-131767.html)




© OSzone.net 2001-2012