limeng 发表于 2009-1-30 13:11:27

AU3跳转

AU3里面有没有一条命令是可以相当于BAT里面的GOTO跳转的?

ceoguang 发表于 2009-1-30 13:37:33

学会搜索或先看帮助,那样会更有好处

sxd 发表于 2009-1-30 17:10:13

我觉得学au3 应该按照这个顺序
1.看教程
2.看帮助
3.搜索论坛

sxd 发表于 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

ahkang 发表于 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,但可读性不怎么样。现在实现跳转功能的方法多了。

298311657 发表于 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

onestone01 发表于 2009-8-23 19:46:05

没有goto真的很不方便,怎么办啊?

onestone01 发表于 2009-8-23 19:59:11

同问,希望有大侠能做出来。

netegg 发表于 2009-8-23 20:03:31

为什么要把一种语言里的东西去放在另一种语言里,难道没有同样的语句就真的这么麻烦吗,楼上也说过了,定义一个自定义函数,跳转的方式更自由

onestone01 发表于 2009-8-29 00:30:05

楼上定义的函数不叫 GOTO,叫做Select,跟GOTO比差远了,不是同一个档次的函数。

feicuiboy 发表于 2009-8-29 00:41:02

4# sxd


论坛的激情会员哦。。。喜欢

chengjinn 发表于 2009-8-29 16:23:48

郁闷.最近发现论坛问GOTO的同志很多啊..`.``

pusofalse 发表于 2009-8-29 19:42:26

Re 1#/ 11#:
对于思路开阔的人,goto有没有都无所谓,我想楼主也应该发散下思维。
Select和goto都不是函数,是语句,一个条件判断,一个流程控制,两者怎具可比性呢?

sxd 发表于 2009-9-1 02:52:56

4# sxd
论坛的激情会员哦。。。喜欢
feicuiboy 发表于 2009-8-29 00:41 http://www.autoitx.com/images/common/back.gif



哇哈哈哈 :face (33):


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


以上代码请使用最新的AutoIt 250版本编译运行
页: [1] 2
查看完整版本: AU3跳转