return <возвращаемое значение>
;...
$a = _1()
;...
; a = 100
func _1()
for $i = 1 to 1000
if $i = 100 then return $i ;завершаем ф-цию и возвращаемся в точку вызова
next
; далее код ф-ции НЕ ВЫПОЛНЯЕТСЯ
endfunc
exitloop <Количество завершаемых уровней >
;...
_1()
;...
func _1()
for $i = 1 to 1000
for $j = 1 to 1000
if $i = 10 and $j = 5 then exitloop 2 ;выход сразу из двух цыклов
next
next
; после чего продолжается код ф-ции
endfunc
надо остановить выполнение цикла этой функции, но сам скрипт не закрывать.
Global $i = 0
AdlibRegister('_MyFunc', 500)
While 1
If $i = 20 Then
$i = 0
AdlibUnRegister('_MyFunc')
ConsoleWrite('Функция остановлена!!!)' & @CRLF)
EndIf
ConsoleWrite('Работает скрипт!' & @CRLF)
Sleep(250)
WEnd
Func _MyFunc()
$i = Random(10, 20, 1)
ConsoleWrite('Работает функция! ( ' & $i & ' )' & @CRLF)
EndFunc
а вот как остановить эту функцию 1() по горячим клавишам, например ctrl+s ?
Global $i = 0
HotKeySet("^s", "stopfunc") ;ctrl+s СМОТРИ СПРАВКУ
AdlibRegister('_MyFunc', 500)
While 1
ConsoleWrite('Работает скрипт!' & @CRLF)
Sleep(250)
WEnd
func stopfunc()
AdlibUnRegister('_MyFunc')
ConsoleWrite('Функция остановлена!!!)' & @CRLF)
endfunc
Func _MyFunc()
$i = Random(10, 20, 1)
ConsoleWrite('Работает функция! ( ' & $i & ' )' & @CRLF)
EndFunc
А вы указывали в предыдущем сообщение, что выход должен быть по горячим клавишам?у вас примеры как выйти с цикла функции лежит в кодe самой этой же функции.
так вот надо остановить выполнение цикла этой функции, но сам скрипт не закрывать.
global $i = 0
hotkeyset ("1", "_1")
hotkeyset ("2", "_2")
while 1
sleep(1000)
wend
func _1()
$j = 0
while 1
if $i <> 0 then Return
consolewrite($j & ";")
$j += 1
sleep(1000)
wend
endfunc
func _2()
$i = 1
endfunc
Global $fReturn = True
HotKeySet('1', '_My_Func')
HotKeySet('2', '_Return_All_Func')
HotKeySet('{Esc}', '_Exit')
While 1
Sleep(50)
WEnd
Func _My_Func()
Local $j = 0, $i_Start = TimerInit()
HotKeySet('1')
ConsoleWrite($j & ' сек. работает функция' & @LF)
While $fReturn
If TimerDiff($i_Start) > 1000 Then
$j += 1
ConsoleWrite($j & ' сек. работает функция' & @LF)
$i_Start = TimerInit()
EndIf
Sleep(50)
WEnd
ConsoleWrite('вышли из функции по HotKey' & @LF)
$fReturn = True
HotKeySet('1', '_My_Func')
EndFunc ;==>_My_Func
Func _Return_All_Func()
$fReturn = False
EndFunc ;==>_Return_All_Func
Func _Exit()
Exit
EndFunc ;==>_Exit