找回密码
 加入
搜索
查看: 4809|回复: 13

在函数里面 什么命令可以退出 {func EndFunc}

 火.. [复制链接]
发表于 2010-1-27 15:23:28 | 显示全部楼层 |阅读模式
刚学习写AUTOIT的一个函数 :func  但我有一些判断语句 如果一个判断成立我想中止这个FUNC 继续,主函数其它的函数调用
发表于 2010-1-27 16:13:14 | 显示全部楼层
exit  不行么?
发表于 2010-1-27 16:29:39 | 显示全部楼层
本帖最后由 maxkingmax 于 2010-1-27 16:32 编辑

用一个变量来决定函数的主体是否继续执行!
$i=1
while 1
sleep(100)
todo()
wend

func todo() 
if FileExists("1.txt") and $i=1 then  ;判断条件和附加变量$i的值,可以达到楼主的目的!
$i=0                                                     ;$i=0注意这一句就是让此函数从此不起作用的
endif
endfunc
发表于 2010-1-27 16:37:21 | 显示全部楼层
函数内部执行过程中,用return即时返回,从而终止函数继续执行下去,当然你也可以用很多嵌套IF来解决这问题。。

如果想从某个函数外部来终止其执行的话(一般这样的情形是这个函数里有循环操作),就效仿楼上代码,设置全局变量,在循环执行时检测之以判断是否继续执行。。
发表于 2010-1-27 16:59:51 | 显示全部楼层
exit 最好的呀!
发表于 2010-1-27 17:29:32 | 显示全部楼层
据楼主的意思
Return可以搞定
 楼主| 发表于 2010-1-27 17:39:19 | 显示全部楼层
exit是退出整个脚本吧?。 我只是想退出其中一个子函数。
用Do while等改变一下写函数的方法是可以的,但我想用最简单的一句指令 比如GOTO 什么的
发表于 2010-1-27 17:42:11 | 显示全部楼层
return
发表于 2010-1-27 17:47:04 | 显示全部楼层
毫无疑问是return。何时退出子过程,就要用if判断。goto没了,参考帮助文档~
发表于 2010-2-1 11:57:52 | 显示全部楼层
函数内部执行过程中,用return即时返回,从而终止函数继续执行下去,当然你也可以用很多嵌套IF来解决这问题 ...
llztt 发表于 2010-1-27 16:37



    这个没错了!EXIT的话,不是跳出FUNC,是退出!
发表于 2010-2-1 15:02:17 | 显示全部楼层
学习
发表于 2010-2-1 15:44:10 | 显示全部楼层
其实就是弄个全区变量当标志,在func的开头判断一下,例如标志=1,运行,=0,不运行..

HotKeySet("x","hoho");快捷键【x】,按一下运行click();你的func,再按一下跳出func
$ok = 0 ;这个就算是个标志了
While 1
        Sleep(10);每次循环的间隔,毫秒
         click();你的func
WEnd
Func hoho();开关
$ok = Abs($ok - 1);按一下$ok=0,再按一下$ok=1,再按一下$ok=0…………
EndFunc
func click();你的func
        If $ok = 1 Then
                MouseClick("left");你的命令
        EndIf   
endfunc
发表于 2010-2-1 15:45:26 | 显示全部楼层
本帖最后由 sanmoking 于 2010-2-1 15:46 编辑

或者是这样的代码,不在func里进行判断,是在运行func的时候进行判断:

HotKeySet("x","hoho");快捷键【x】,按一下运行click();你的func,再按一下跳出func
$ok = 0 ;这个就算是个标志了
While 1
        Sleep(10);每次循环的间隔,毫秒
  If $ok = 1 Then click();你的func
WEnd

Func hoho();开关
$ok = Abs($ok - 1);按一下$ok=0,再按一下$ok=1,再按一下$ok=0…………
EndFunc
func click();你的func
      MouseClick("left");你的命令
endfunc
发表于 2010-2-1 16:02:37 | 显示全部楼层
主函数其它的函数调用-----这句是什么意思
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-22 04:01 , Processed in 0.085759 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表