|
本帖最后由 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学习他艰人代码教程”分析..........
上述有误之处请纠正..... |
评分
-
查看全部评分
|