lchl0588 发表于 2012-3-20 14:02:08

初学AU3---顺序

本帖最后由 lchl0588 于 2012-3-20 14:13 编辑

    首先学习下SXD大大的作品,先进入毁人不倦--Sxd 博客
比较易懂的基础知识....在此,希望大家全部看完,再接着看以下的内容..

此博客中,也有偶的作品---“利用msgbox学习他艰人代码教程”,如果你能看懂,那就会明白一个

:顺序..
说起“顺序”,这就是今天重点之处..
AU3就是以顺序来读取的。。
例:MsgBox(0,"举例12345","老大",3)
MsgBox(0,"举例12345","老二",3)
MsgBox(0,"举例12345","老三",3)
MsgBox(0,"举例12345","老四",3)
MsgBox(0,"举例12345","老五",3)上述利用MsgBox 来简单的说明顺序..
如果把顺序打乱,改成:MsgBox(0,"举例15243","老大",3)
MsgBox(0,"举例15243","老五",3)
MsgBox(0,"举例15243","老二",3)
MsgBox(0,"举例15243","老四",3)
MsgBox(0,"举例15243","老三",3)简单的代码明白AU3是按照代码的顺序来读取的..
-----------------------------------------------------------------------
如果利用For...To...Step...Next来表达呢:
第一种:Dim $a=["老大","老二","老三","老四","老五"]
For $b=0 To 4 Step 1
MsgBox(0,"举例12345",$a[$b],3)
Next第二种写法:Dim $a=["","老大","老二","老三","老四","老五"]
For $b=1 To 5 Step 1
MsgBox(0,"举例12345",$a[$b],3)
Next说明:第一种答案是$a="老大"$a="老二"$a="老三"$a="老四"$a="老五"
         第二种答案是$a="老大"$a="老二"$a="老三"$a="老四"$a="老五"
根据For...To...Step...Next表达式的含义明白:基于表达式循环.
第一种写法,要明白数组的顺序:是从0开始的,而不是1开始的。但数组(包含其它的:二维数组,
三维数组等)处于位置不同有所改变,这里不细述了..
第二种写法很容易看明白:$a 中括号数字为啥是6呢?要看等号右边一共有几项,数下就明白..

第三种:Dim $a=[["老大","1"],["老二","2"],["老三","3"],["老四","4"],["老五","5"]]
For $b=0 To 4 Step 1
MsgBox(0,"举例12345",$a[$b] & "," & $a[$b],3)
Next第四种:Dim $a=[["",""],["老大","1"],["老二","2"],["老三","3"],["老四","4"],["老五","5"]]
For $b=1 To 5 Step 1
MsgBox(0,"举例12345",$a[$b] & "," & $a[$b],3)
Next第三种答案是 $a="老大"$a="老二"$a="老三"$a="老四"$a="老五"
                     $a="1"   $a="2"   $a="3"   $a="4"      $a="5"

第四种答案是 $a="老大"$a="老二"$a="老三"$a="老四"$a="老五"
                  $a="1"   $a="2"   $a="3"   $a="4"   $a="5"

第三种写法与第一种写法很类似,而第四种写法与第二种写也很类似,而第一二种写法与第三四种写法不同之处是:第一二种写法是一维数组;第三四种写法是二维数组...

总结:看了上面等等系例的代码后,不是学数组吧!不...除了进一步了解下数组之外,重点发现什么了吗?--------顺序!!!!利用For...To...Step...Next表达式,在变量$b不断变化而值也在不断的变化
第一三种写法:$b是从0一直循环到5为止,例:当$b=0时,答案是“老大”,当$b=1时,答案是“老二”,依次推类.....
第二四种写法:$b是从1一直循环到6为止,例:当$b=1时,答案是“老大”,当$b=2时,答案是“老二”,依次推类.....
-----------------------------------------------------------------------------
那我们利用Func...Return...EndFunc来说明下顺序:
同样利上面的第一种写法代码吧:
_a()
Func _a()
        Dim $a=["老大","老二","老三","老四","老五"]
For $b=0 To 4 Step 1
MsgBox(0,"举例12345",$a[$b],3)
Next
Return
EndFunc通过上面代码发现:第一种写法被Func...Return...EndFunc包含中,在Func后面的 _a() 是一个“标志”(自个乱解释的,有别的解释法另说,只为了方便后面的说明而已),而“标志”代表Dim$a=["老大","老二","老三","老四","老五"]
For $b=0 To 5 Step 1
MsgBox(0,"举例12345",$a[$b],3)
Next这段代码的运行过程....同样发现在Func _a()之前还有“标志”,这个要进一步理解Func...Return...EndFunc的用法...参考帮助中参数说明:
随意设置参数. 以后象调用内置函数一样调用它们.
同样或许你会明白“UDF函数”是如何来的吧!!!

当运行此代码时,第一次就运行_a(),上面已述,_a()代表整段代码,就不难明白为什么会出现"老大","老二","老三","老四","老五"的原因了!!!
--------------------------------------------------------------------------------------
首先把上面代码保存到“新建 AutoIt v3 脚本.au3”中,再新建一个写入:TrayTip("测试","请等一会看结果..",30,1)
Sleep(1000)
MsgBox(0,"这一步","当你点“确定”后会发现什么呢?")
ShellExecute(@ScriptDir&"\新建 AutoIt v3 脚本.au3")上述四行代码更能说明AU3代码是按照顺序而运行的..............更复杂的代码不妨去看下毁人不倦--Sxd 博客
中偶写的“利用msgbox学习他艰人代码教程”分析..........

上述有误之处请纠正.....

魔导 发表于 2012-3-20 14:12:08

看起来有点绕,头晕{:1_498:}

lchl0588 发表于 2012-3-20 14:15:05

呵呵,偶利用好几种写法,数组,自建内置函数及调用运行之...

lpxx 发表于 2012-3-20 14:30:42

非常详细的解释,希望对很多au3初学者有帮助

yyy910 发表于 2012-3-20 18:06:19

很详细,谢谢了。

zldfsz 发表于 2012-3-20 18:21:10

相信对大家会有帮助的

lixiaolong 发表于 2012-3-21 00:53:45

非常好,越来越喜欢ACN!

kk_lee69 发表于 2012-3-21 02:10:03

突然發現這是好現象ㄟ......如果論壇 可以越來越多這種自己打的詳細介紹的好文章....我想對於新手的幫助是很大的......感謝樓主的分享

20100660 发表于 2012-3-26 22:28:57

受教了......

gaoxilong526 发表于 2012-5-3 22:50:01

好东西,学学,谢谢楼主

kclee520 发表于 2012-5-5 09:17:33

学习了。谢谢。。。。

网络凯子 发表于 2012-5-5 12:51:33

很不错,显而易懂。

xlj310 发表于 2012-5-7 20:02:54

初级的,入门的时候可以好好看看

fpquenya 发表于 2012-5-15 16:03:56

很不错.楼主有心了!

hello_xiaopeng 发表于 2012-5-23 11:03:28

学习了 好东西职
页: [1] 2
查看完整版本: 初学AU3---顺序