初学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学习他艰人代码教程”分析..........
上述有误之处请纠正..... 看起来有点绕,头晕{:1_498:} 呵呵,偶利用好几种写法,数组,自建内置函数及调用运行之... 非常详细的解释,希望对很多au3初学者有帮助 很详细,谢谢了。 相信对大家会有帮助的 非常好,越来越喜欢ACN! 突然發現這是好現象ㄟ......如果論壇 可以越來越多這種自己打的詳細介紹的好文章....我想對於新手的幫助是很大的......感謝樓主的分享 受教了...... 好东西,学学,谢谢楼主 学习了。谢谢。。。。 很不错,显而易懂。 初级的,入门的时候可以好好看看 很不错.楼主有心了! 学习了 好东西职
页:
[1]
2