找回密码
 加入
搜索
查看: 8679|回复: 19

[原创] 初学AU3---顺序

 火... [复制链接]
发表于 2012-3-20 14:02:08 | 显示全部楼层 |阅读模式
本帖最后由 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[5]=["老大","老二","老三","老四","老五"]
For $b=0 To 4 Step 1
MsgBox(0,"举例12345",$a[$b],3)
Next
第二种写法:
Dim $a[6]=["","老大","老二","老三","老四","老五"]
For $b=1 To 5 Step 1
MsgBox(0,"举例12345",$a[$b],3)
Next
说明:第一种答案是$a[0]="老大"  $a[1]="老二"  $a[2]="老三"  $a[3]="老四"  $a[4]="老五"
         第二种答案是$a[1]="老大"  $a[2]="老二"  $a[3]="老三"  $a[4]="老四"  $a[5]="老五"
根据For...To...Step...Next表达式的含义明白:基于表达式循环.
第一种写法,要明白数组的顺序:是从0开始的,而不是1开始的。但数组(包含其它的:二维数组,
三维数组等)处于位置不同有所改变,这里不细述了..
第二种写法很容易看明白:$a[6] 中括号数字为啥是6呢?要看等号右边一共有几项,数下就明白..

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

第四种答案是 $a[1][0]="老大"  $a[2][0]="老二"  $a[3][0]="老三"  $a[4][0]="老四"  $a[5][0]="老五"  
                    $a[1][1]="1"     $a[2][1]="2"     $a[3][1]="3"     $a[4][1]="4"     $a[5][1]="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[5]=["老大","老二","老三","老四","老五"]
For $b=0 To 4 Step 1
MsgBox(0,"举例12345",$a[$b],3)
Next
Return
EndFunc
通过上面代码发现:第一种写法被Func...Return...EndFunc包含中,在Func后面的 _a() 是一个“标志”(自个乱解释的,有别的解释法另说,只为了方便后面的说明而已),而“标志”代表Dim
$a[5]=["老大","老二","老三","老四","老五"]
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学习他艰人代码教程”分析..........

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

评分

参与人数 3金钱 +38 贡献 +8 收起 理由
kk_lee69 + 20 + 3 好現象...多點自己打的教學文章...對新手幫 ...
lixiaolong + 5
lpxx + 18 非常详细的解释

查看全部评分

发表于 2012-3-20 14:12:08 | 显示全部楼层
看起来有点绕,头晕
 楼主| 发表于 2012-3-20 14:15:05 | 显示全部楼层
呵呵,偶利用好几种写法,数组,自建内置函数及调用运行之...
发表于 2012-3-20 14:30:42 | 显示全部楼层
非常详细的解释,希望对很多au3初学者有帮助
发表于 2012-3-20 18:06:19 | 显示全部楼层
很详细,谢谢了。
发表于 2012-3-20 18:21:10 | 显示全部楼层
相信对大家会有帮助的
发表于 2012-3-21 00:53:45 | 显示全部楼层
非常好,越来越喜欢ACN!
发表于 2012-3-21 02:10:03 | 显示全部楼层
突然發現這是好現象ㄟ......如果論壇 可以越來越多這種自己打的詳細介紹的好文章....我想對於新手的幫助是很大的......感謝樓主的分享
发表于 2012-3-26 22:28:57 | 显示全部楼层
受教了......
发表于 2012-5-3 22:50:01 | 显示全部楼层
好东西,学学,谢谢楼主
发表于 2012-5-5 09:17:33 | 显示全部楼层
学习了。谢谢。。。。
发表于 2012-5-5 12:51:33 | 显示全部楼层
很不错,显而易懂。
发表于 2012-5-7 20:02:54 | 显示全部楼层
初级的,入门的时候可以好好看看
发表于 2012-5-15 16:03:56 | 显示全部楼层
很不错.楼主有心了!
发表于 2012-5-23 11:03:28 | 显示全部楼层
学习了 好东西职
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-1 19:58 , Processed in 0.079000 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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