找回密码
 加入
搜索
查看: 3809|回复: 16

AU3跳转

[复制链接]
发表于 2009-1-30 13:11:27 | 显示全部楼层 |阅读模式
AU3里面有没有一条命令是可以相当于BAT里面的GOTO跳转的?
发表于 2009-1-30 13:37:33 | 显示全部楼层
学会搜索或先看帮助,那样会更有好处
发表于 2009-1-30 17:10:13 | 显示全部楼层
我觉得学au3 应该按照这个顺序
1.看教程
2.看帮助
3.搜索论坛
发表于 2009-1-30 17:10:36 | 显示全部楼层
4. "goto"命令哪去了?
失踪了,呵呵.很不幸.噢不,您不能问为什么——反正就是这样. 这就像是在电影 时间劫匪(Time Bandits)结尾时他们在微波发现的那块石头:)


AutoIt v3 以使用现今大部分常用的"循环"为特色,因此Goto不再是必需的. 请查看 While, Do, For, ExitLoop, ContinueLoop 以及 函数 了解更加先进的解决方式:) 另外当你看帮助文档的时候, 请查看 循环(loops), 条件语句 和 函数 部分的说明. 我向您保证,一旦您熟悉了它们的用法,实际上您将能在几分钟内用其它语言编写程序.


为了让你开始了解这一点,下面演示在2.64版中Goto的最基本用法,同时也是个无限循环:

:mylabel
...执行一些任务...
...其它任务...
goto, mylabel


v3 版中一个总是"true(表达式成立)"的简单的While循环

While 1 = 1
   ...执行一些任务...
   ...其它任务...
Wend
发表于 2009-2-8 14:01:58 | 显示全部楼层
用自定义函数就可以了!可以像 BAT 或 CMD 里的 Goto 命令一样,实现任意位置跳转。不像 While……Wend 那样,对代码的位置要考虑好,否则无法自由乱跳。(不过这样一来,代码就乱七八糟的影响可读性了……)

Func ReCustom()
代码……
EndFunc

FindEnd()

Custom()

Func Custom()
代码……
EndFunc

ReCustom()

Func FindEnd()
代码……
End Func
发表于 2009-2-8 15:46:14 | 显示全部楼层
原来学basic时喜欢用跳转goto,但可读性不怎么样。现在实现跳转功能的方法多了。
发表于 2009-2-8 18:55:22 | 显示全部楼层
使用自定义函数

Func 函数名()
        代码
EndFunc

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 300, 300, 192, 124)
$Button1 = GUICtrlCreateButton("tiaozhuan2", 80, 64, 121, 33, 0)
$Button2 = GUICtrlCreateButton("tiaozhuan3", 80, 124, 121, 33, 0)
GUISetState(@SW_SHOW)
HotKeySet("+!d", "tiaozhuan1") ;Shift-Alt-d快捷键,进入tiaozhuan1函数

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        tiaozhuan2();按下tiaozhuang2按钮时,执行tiaozhuan2()

                Case $Button2
                        tiaozhuan3()

        EndSwitch
WEnd

Func tiaozhuan1()
        MsgBox(0, "", "11111111111")
EndFunc   ;==>tiaozhuan1
Func tiaozhuan2()
        MsgBox(0, "", "222222222222")
EndFunc   ;==>tiaozhuan2
Func tiaozhuan3()
        MsgBox(0, "", "33333333333333")
EndFunc   ;==>tiaozhuan3
发表于 2009-8-23 19:46:05 | 显示全部楼层
没有goto真的很不方便,怎么办啊?
发表于 2009-8-23 19:59:11 | 显示全部楼层
同问,希望有大侠能做出来。
发表于 2009-8-23 20:03:31 | 显示全部楼层
为什么要把一种语言里的东西去放在另一种语言里,难道没有同样的语句就真的这么麻烦吗,楼上也说过了,定义一个自定义函数,跳转的方式更自由
发表于 2009-8-29 00:30:05 | 显示全部楼层
楼上定义的函数不叫 GOTO,叫做Select,跟GOTO比差远了,不是同一个档次的函数。
发表于 2009-8-29 00:41:02 | 显示全部楼层
4# sxd


论坛的激情会员哦。。。喜欢
发表于 2009-8-29 16:23:48 | 显示全部楼层
郁闷.最近发现论坛问GOTO的同志很多啊..`.``
发表于 2009-8-29 19:42:26 | 显示全部楼层
Re 1#/ 11#:
对于思路开阔的人,goto有没有都无所谓,我想楼主也应该发散下思维。
Select和goto都不是函数,是语句,一个条件判断,一个流程控制,两者怎具可比性呢?
发表于 2009-9-1 02:52:56 | 显示全部楼层
4# sxd
论坛的激情会员哦。。。喜欢
feicuiboy 发表于 2009-8-29 00:41




哇哈哈哈


Switch $你.性别
        Case '男'
                MsgBox(0, 0, '不好意思我不喜欢男人')
                Exit
        Case '女'
                MsgBox(0, 0, '更不好意思我结婚了')
                Exit
        Case Else
                MsgBox(0, 0, '这个我更没兴趣')
                Exit
                Exit
                Exit
EndSwitch


以上代码请使用最新的AutoIt 250  版本编译运行
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-25 14:19 , Processed in 0.197378 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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