psplimp 发表于 2011-8-7 16:34:13

请问AutoIt中如何实现Goto语句的功能,进行代码段的跳转?

AutoIt中去除了有诟病的Goto语句,但是最近在编写程序时,感觉如果有Goto的话,能够精简我的代码结构,很便捷的实现我想做的一些特殊功能。
所以,在此求教?除了优化代码,还有其他的方法能实现Goto语句的功能么?

求高手指点,不胜感谢!!!

huaisha1224 发表于 2011-8-7 17:38:39

goto 已经取消了哦
、、、、

powerofos 发表于 2011-8-7 17:42:37

continuecase 对你有用吗?

xwt620 发表于 2011-8-7 20:44:18

为什么要GOTO呢?直接用一个function然后return不更好一点吗

psplimp 发表于 2011-8-7 21:16:56

为什么要GOTO呢?直接用一个function然后return不更好一点吗
xwt620 发表于 2011-8-7 20:44 http://www.autoitx.com/images/common/back.gif

我把情况说的再具体些吧,大家帮忙给分析一下。
简单代码如下:
Global $Paused
HotKeySet("{热键}", "HotKey") ;定义一热键用于暂停程序

while 1
<位置1>
。。。
。。。
while 1
    <位置2>
    。。。
    。。。
wend
wend

Func HotKey()
$Paused = Not $Paused
While $Paused
    sleep(50)
Wend
EndFunc

现在的问题是:我想不管程序运行至哪个While循环体内,按“热键”后程序会暂停下来。但是再按“热键”后,我想让程序跳转到“位置1”处重新运行。

代码应该如何优化呢?

sdc7 发表于 2011-8-7 21:28:14

2个函数嵌套吧! 需要从哪运行调用哪个函数,你甚至可以用一个变量记录刚才停下的函数位置,然后来继续调用执行!

sdc7 发表于 2011-8-7 21:28:18

2个函数嵌套吧! 需要从哪运行调用哪个函数,你甚至可以用一个变量记录刚才停下的函数位置,然后来继续调用执行!

psplimp 发表于 2011-8-7 21:36:46

2个函数嵌套吧! 需要从哪运行调用哪个函数,你甚至可以用一个变量记录刚才停下的函数位置,然后来继续调用 ...
sdc7 发表于 2011-8-7 21:28 http://www.autoitx.com/images/common/back.gif

楼上能给些再具体的提示不?谢!

xwt620 发表于 2011-8-7 21:37:04

回复 5# psplimp


    Global $Paused
HotKeySet("{热键}", "HotKey") ;定义一热键用于暂停程序
While 1
    Sleep(10)
WEnd

Func HotKey()
$Paused = Not $Paused
While $Paused
<位置1>
。。。
。。。
while $Paused
    <位置2>
    。。。
    。。。
wend
wend
EndFunc

psplimp 发表于 2011-8-7 21:43:35

回复 9# xwt620

把要执行的工作放在函数体内,我回去试一下。
有问题再来跟帖。

先谢谢了
页: [1]
查看完整版本: 请问AutoIt中如何实现Goto语句的功能,进行代码段的跳转?