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