《Autoit精彩资料编程100例.doc》由会员分享,可在线阅读,更多相关《Autoit精彩资料编程100例.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1 章初识 AUTOIT实例实例 001 打个招呼!打个招呼!实例说明输出一个对话框,向“AUTOIT”打个招呼!可以说是 AUTOIT 最简单的第一个程序!运行结果如图 1.1 所示。图 1.1 输出对话框程序代码MsgBox(64, “第一个程序“, “打个招呼:“ 声明变量,并赋初值 $sum = $i+$n MsgBox(64,“一个完整的程序“,“计算结果: “屏幕居中显示工具提示 $x = DesktopWidth / 2 $y = DesktopHeight / 2 ToolTip(“圆面积为:“ 工具提示停留3000毫秒技术要点(1) 常量使用 Const 关键字声明创建,
2、 并且必须具有初始化的值。常 量同样是以”$”开头。跟变量不一样它是只读的,一旦已分配一 个常数,后面不能更改它的值。上面由于 的值是固定的不可以 再更改,使用常量进行初始化。一般用大写字母作为常量名用以 区分变量(2) 这里使用了“工具提示”函数 ToolTip 来显示圆的面积。宏 DesktopWidth 是屏幕的宽度值,DesktopHeight 是屏幕的高度 值。两个除以 2 得到屏幕中间点的 x,y 的坐标。 (3) ToolTip 工具提示跟 Msgbox 函数的对话框不一样,它并不会暂停 程序的运行。程序把所有语句执行完毕会自动退出,这时 ToolTip 工具提示框会立刻关闭。上
3、面添加了一个暂停程序的函 数 Sleep,将程序暂停运行指定的时间 3000 毫秒。这样 ToolTip 就会停留 3 秒再关闭。第 2 章选择和分支结构程序设计实例实例 005 比较运算比较运算实例说明认识“关系运算符”,布尔值。第一段是比较数字,第二段是比较字符串。了解不同关系运算符返回的布尔值。运行结果如图 2.1 和 2.2 所示。图 2.1 比较数字 图 2.2 比较字符串程序代码 #cs = 比较你是否已成年,返回true或false #ce = Dim $arg = 18 Dim $yrg = InputBox(“输入“, “请输入你的年龄:“)MsgBox(64, $arg 用
4、作调试,查看数组的元素,可取消这句 _ArrayDisplay($aNum,Debug) Dim $a,$b,$c,$t $a = Number($aNum1) $b = Number($aNum2) $c = Number($aNum3);判断大小,交换顺序 If $a $b Then$t = $a$a = $b$b = $t EndIfIf $a $c Then$t = $a$a = $c$c = $t EndIfIf $b $c Then$t = $b$b = $c$c = $t EndIfCoutLine(“从小到大排序:“ 是,否,取消If $msg = 6 ThenMsgBox(6
5、4, “提示“, “不错啊,这么快就学会了!“)ElseIf $msg = 7 ThenIf MsgBox(32 + 4, “提问“, “你学会使用 MsgBox 了吗?“) = 6 Then ;是,否MsgBox(64, “提示“, “学会 MsgBox 也不错了,继续研究吧!“)ElseMsgBox(64, “提示“, “无语,请从第一章重新看!“)EndIf ElseMsgBox(64, “提示“, “革命尚未成功,同志们仍需努力!“) EndIf技术要点(1) If 的两种形式:1. If Then 语句 单条件运行语句。当表达式结果为 true 时执行then 后面语句。2.If T
6、hen语句. ElseIf 表达式-n Thenelseif 语句 . . Elseelse 语句. EndIf多条件运行语句。 80 Or $maths 90 ThenCoutLine(“恭喜你,得到 100 元奖励!“, “亮红色“)ElseCoutLine(“未达到要求,请下次继续努力!“, “亮红色“)EndIf ElseCoutLine(“登录失败,用户名或密码错误!“, “亮红色“) EndIfSystem(“pause“)技术要点(1) 本例使用逻辑运算符结合 if 语句完成。逻辑运算符如下:And 两个表达式全为 true,其最终结果为 true.OR 两边表达式只要有一个为
7、true,其最终结果为 true.Not 将 true 变为 false,false 变为 true.(2) 当表达式内含有多个运算符时, 其运算的先后顺序由运算符优运算符优 先级别先级别控制. AutoIt 中运算符的优先级如下所示. 处于同一 优先级的两种运算符, 则按从左到右的顺序运算.从最高到最低的优先级:Not* /+ -第一个为true,执行第二个$and2 = False And MsgBox(0, “, “and2“) ;第一个为false,不执行第二个$or1 = True Or MsgBox(0, “, “or1“) ;第一个为true,不执行第二个$or2 = False
8、 Or MsgBox(0, “, “or2“) ;第一个为false,执行第二个实例实例 009 二元条件选择二元条件选择实例说明要求用户输入两个数 a,b。如果 a 能被 b 整除或者 a 加 b 大于 100,则输出 a 的值,否则输出 b 的值。运行效果如图 2.9 和 2.10 所示。图 2.9 - 输入 a 的值图 2.10 输出结果程序代码Dim $a = InputBox(“提示“, “输入 a 的值:“)Dim $b = InputBox(“提示“, “输入 b 的值:“) ; If ( (Mod($a,$b)=0) Or ($a + $b 100) ) Then ; MsgB
9、ox(64,“结果“,$a) ; Else ; MsgBox(64,“结果“,$b); EndIf MsgBox(64, “结果“, (Mod($a, $b) = 0) Or ($a + $b 100) ? $a : $b)技术要点(1) 本例使用二元条件选择语句。格式如下:如果表达式为 true 则返回表达式 1 的值。如果表达式为 false 则返回表达式 2 的值。通常可以用来替换If.Else.EndIf 结构。虽然在所有情况下没有必要, 但还是强烈建议 3 个表达式括在括号中.实例实例 010 工资年终调整工资年终调整实例说明李四的年终工作评定,如果定为 A 级,则工资涨 500 元
10、,如果定为 B 级,则工资涨 200 元, 如果定为 C 级工资不变, 如果定为 D 级工资降 200 元,如果定为 E 级工资降 500 元.设李四原工资为 5000,请用户输入李四的评级,然后显示李四的工资。运行效果图 2.11 和 2.12 所示图 2.11 输入李四评级 图 2.12 显示李四工资程序代码Dim $salay = 5000Dim $input = InputBox(“输入“, “请输入李四的评定等级(A-E)“) Switch $inputCase “A“$salay += 500Case “B“$salay += 200Case “C“;工资不变Case “D“$sa
11、lay -= 200Case “E“$salay -= 500Case ElseMsgBox(32, “错误“, “只能输入字母 ABCDE“) EndSwitch MsgBox(64, “提示“, “李四的工资为:“ if WDAY = 7 OR WDAY = 1 $date = “星期六日休息“Case 2 To 6 ; if WDAY = 2 OR WDAY = 3 OR WDAY = 4 OR WDAY = 5 OR WDAY = 6 $date = “星期 1-5 工作日“ EndSwitchMsgBox(64,“提示“,$date)(2)例子使用了自增和自减赋值$salay -=
12、200 相当于 $salay = $salay - 200 表达式按照优先级先将右边$salay 的值进行数学运算后赋值回$salay。这种赋值方法比较方便和常见的。实例实例 011 假期安排假期安排实例说明明天放假,输入明天的温度和天气情况,如果温度低于 15 度,在家玩游戏,否则如果天气是“晴”或“阴”, 到外面逛街,否则如果天气是“雨”就到到电影院看戏,否则如果是其它天气(雷,风)通常会停电,这假期没法过。运行效果图 2.13 和 2.14 所示图 2.13 输入明天天气图 2.14 显示假期安排程序代码#include ;MsgBox常量定义Dim $tem = InputBox(“输
13、入“,“请输入明天温度:“)Dim $wea = InputBox(“输入“,“请输入明天天气:“) SelectCase $tem 语句.Case 语句 2.Case 语句 n.Case ElseElse 语句. EndSelect1.1执行多条件判断,Case表达式为真则执行语句,如果有多个 Case表达式成立, 则只执行第一个Case 语句.1.2表达式可以包含布尔运算符: AND, OR, 或 NOT 以及逻辑运算符:, =, =, =, 与 . 根据需要可以用圆括号组合使用.(2)无论是 switch 或 select 都是可以使用 if 语句来替换。但是使用它们会使分支结构更加清淅,易于阅读!备注通常在 Select 或 Switch 结构中,当遇到下一个 Case 语句时, 则结束当前 Case 块中的代码.运行 ContinueCase 通知 AutoIt 停止当前 Case 代码块的执行, 并开始执行下一个 Case 代码块.AutoIt 不进行下一个 Case 语句的比较 - 仅运行块内的代码.试图在 Select 或 Switch 之外执行 ContinueCase 将导致致命错误.
限制150内