




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 初识AUTOIT实例001 打个招呼!实例说明输出一个对话框,向“AUTOIT”打个招呼!可以说是AUTOIT最简单的第一个程序!运行结果如图1.1所示。图1.1 输出对话框程序代码MsgBox(64, "第一个程序", "打个招呼:" & CRLF & '你好"AUTOIT"')技术要点(1) MsgBox 函数的标志参数.64显示带 "确定" 按钮 + 信息图标的消息框.您可以实验各种不同的标志值, 理解各种标志
2、值的结果. 如果你想要使用一个以上的标志值, 只需把必需的值相加即可, 或直接用“+”号连接各值.(2) 程序使用了“crlf”作为回车换行符。使用“&”作为字符串连接符。宏指令首字符都是以”开头容易分辨。和普通的变量一样, 您可以在表达式中使用它们, 但不能进行赋值操作.宏是已经预设好的值包括四大类:AUTOIT相关宏,目录宏,系统信息宏,时间与日期宏。相关的值可在帮助“宏指令目录”找到。(3) 字符串以一对英文双引号括起来,也可以使用单引号括起来。可以混合使用引号类型如要显示字符串中的双引号用单引号括起整个字符串 :'你好"AUTOIT"'实例0
3、02 简单求和程序实例说明设计一个简单求和程序。掌握如何定义变量,赋值变量方法。运行结果如图1.2所示。图1.2 求10+20的和程序代码Dim $i=10,$n=20,$sum=0 声明变量,并赋初值$sum = $i+$n MsgBox(64,"一个完整的程序","计算结果: "&$sum)技术要点(1) 变量是将数据存储在内存中, 以便可以快速访问. 您可以把它想象为在内存中的邮箱, 我们可以往里面存信也可以取信。变量开头都是使用”$”,非常容易辨认。本程序使用关键词“Dim” 定义3个变量
4、$i,$n,$sum,并使用“=”号分别赋值。也可以先定义再赋值。(2) 使用数学运算符“+”号计算出结果并将结果赋值到$sum,$sum将得到新的值。下面列出常用数学运算符:实例003 计算正方形面积实例说明输入正方形的边长,计算正方形面积。这是一个简单的输入和输出程序。运行结果如图1.3和1.4所示。 图1.3 输入正方形边长图1.4 输出正方形面积程序代码Dim $a = InputBox("输入","请输入正方形边长:")Dim $s = $a 2
5、60;MsgBox(64,"结果",$s)技术要点(1) 定义变量$a接收inputbox函数的返回值,其返回值是输入的字符串。不同的函数返回值都不同,具体看函数的帮助文档说明!实例004 计算圆的面积实例说明输入半径并计算出圆的面积,最后在屏幕居中显示出来。掌握常量的定义和变量的不同意义。运行结果如图1.5和1.6所示。 图1.5 输入圆的半径图1.6 显示圆的面积程序代码Dim Const $PI = 3.1415926Dim $r = InputBox("计算圆的面积",
6、0;"请输入半径:")Dim $x, $y;屏幕居中显示工具提示$x = DesktopWidth / 2 $y = DesktopHeight / 2ToolTip("圆面积为:" & $r 2 * $PI, $x, $y, "提示", 1,2) Sleep(3000) 工具提示停留3000毫秒技
7、术要点(1) 常量使用 Const 关键字声明创建, 并且必须具有初始化的值。常量同样是以”$”开头。跟变量不一样它是只读的,一旦已分配一个常数,后面不能更改它的值。上面由于的值是固定的不可以再更改,使用常量进行初始化。一般用大写字母作为常量名用以区分变量(2) 这里使用了“工具提示”函数ToolTip来显示圆的面积。宏DesktopWidth是屏幕的宽度值,DesktopHeight是屏幕的高度值。两个除以2得到屏幕中间点的x,y的坐标。(3) ToolTip工具提示跟Msgbox函数的对话框不一样,它并不会暂停程序的运行。程序把所有语句执行完毕会自动退出,这时ToolTip工具提示框会立刻
8、关闭。上面添加了一个暂停程序的函数Sleep,将程序暂停运行指定的时间3000毫秒。这样ToolTip就会停留3秒再关闭。第2章 选择和分支结构程序设计实例005 比较运算实例说明认识“关系运算符”,布尔值。第一段是比较数字,第二段是比较字符串。了解不同关系运算符返回的布尔值。运行结果如图2.1和2.2所示。 图2.1 比较数字 图2.2 比较字符串程序代码#cs =比较你是否已成年,返回true或false#ce =Dim $arg = 18Dim $yrg = InputBox("输入", "
9、;请输入你的年龄:")MsgBox(64, $arg & "等于" & $yrg, $arg = $yrg)MsgBox(64, $arg & "不等于" & $yrg, $arg <> $yrg)MsgBox(64, $arg & "大于" & $yrg,&
10、#160;$arg > $yrg)MsgBox(64, $arg & "大于或等于" & $yrg, $arg >= $yrg)MsgBox(64, $arg & "小于或等于" & $yrg, $arg <= $yrg)#cs =比较字符串,返回true或false#ce =Dim $word =
11、;"Hello Word"Dim $new_word = InputBox("输入", "请输入世界你好英文:")If $new_word = "" Then 判断返回值 MsgBox(16, "函数", "输入失败!") Exit 退出程序EndIfMsgBox(64, $w
12、ord & "等于" & $new_word, $word = $new_word)MsgBox(64, $word & "等于" & $new_word, $word = $new_word) 区分大小写技术要点(1) 单行注释使用”;”号,而段注释是由#comments-start 开头与 #comments-end 结尾,可以使用缩写的关键字: #cs 与 #
13、ce.注释并不会被程序执行。关键的地方使用注释是良好的习惯,便于维护和阅读代码。(2) 关系运算符也叫比较运算符,有以下这些:关系运算符,其运算结果是一个“布尔值”。 布尔值是一个逻辑值. 只有两个布尔值存在: true (真)与 false(假).在Autoit中数字 0 等于布尔值 False其他任何数字等于布尔值 True注意:空字符串单独用作比较运算时会自动转换为0,其结果也是为False比较字符串的例子中,我们同样使用InputBox作为输入函数,函数执行之后会有“返回值”.返回值当成功时一般会返回有效的值,而失败时一般会返回空符串或0。例子里通过“条件判断语句” 进行比较当Inpu
14、tBox返回值为空符串时则函数执行失败(按下了取消键或没有输入任何数据)可以从帮助中看到返回值成功和失败会返回什么值:注意:ifthen用于执行单条件语句,可以不需要 EndIf.实例006 3个数由小到大排序实例说明任意输入3个整数,编程实现对这3个整数由小到大排序,并将排序后结果显示在屏幕上。运行效果如图2.3和2.4所示。 程序代码#include <Array.au3>#include "console.au3"CoutLine("请输入三个数字a,b,c:", "亮青色")Dim
15、160;$in = Cin()Dim $aNum = StringSplit($in, ",");用作调试,查看数组的元素,可取消这句_ArrayDisplay($aNum,'Debug') Dim $a,$b,$c,$t$a = Number($aNum1)$b = Number($aNum2)$c = Number($aNum3);判断大小,交换顺序If $a > $b
16、Then $t = $a $a = $b $b = $tEndIfIf $a > $c Then $t = $a $a = $c $c = $tEndIfIf $b > $c
17、0;Then $t = $b $b = $c $c = $tEndIfCoutLine("从小到大排序:" & $a & "," & $b & "," & $c, "亮紫色")System("
18、pause")技术要点(1) #include命令包含一个外部的autoit脚本到当前脚本中。包含文件的内容在 "#include" 命令点插入到脚本 - 大多数情况下是在脚本的开头, 以便包含文件内声明的变量或常量在脚本的其它部分可用.其格式为:包含到当前脚本的文件名, 路径可选. 文件名必须是字符串, 不能是变量.如果使用双引号 ".", 将从当前脚本目录开始查找该文件如果使用尖括号 <.>, 将从包含文件库目录中查找该文件.(通常汉化版默认安装的库包含文件目录为 E:AutoIt3Include,汉化版autoit还有一个E:
19、AutoIt3UserInclude目录)上面例子中包含Array.au3脚本,它的代码已插入到当前文件中,可以使用它提供的“_ArrayDisplay”函数打印数组元素。这种非内置(需要包含文件)使用的函数叫做“自定义函数”通常叫它的英文简写”UDF”,它通常以下划线”_”开头用以区别内置函数.Console.au3是由笔者所写的一个用于控制台的udf。如果大家使用的是笔者提供的autoit3.3.10.2版本console.au3已经放进include目录里。(2) 本例子主要还是熟悉if的用法,交换三个数的顺序。例子里将变量的值进行两两比较,然后将变量交换。由于变量的值重新赋值会删除前一
20、个值,所以需要一个临时的变量$t作为临时保存值。就像两杯水倒进对方的杯子里,需要一个空杯子将其中一个杯子的水临时保存。实例007 你学会了吗实例说明通过询问熟悉MsgBox的用法,掌握If.ElseIf.Else.EndIf 的用法。运行效果如图2.5和2.6所示。 图2.5 询问是否学会使用if图2.6 选“是”弹出提示程序代码Dim $msg = MsgBox(32 + 3, "提问", "你学会使用if了吗?") 是,否,取消If $msg =
21、60;6 Then MsgBox(64, "提示", "不错啊,这么快就学会了!")ElseIf $msg = 7 Then If MsgBox(32 + 4, "提问", "你学会使用MsgBox了吗?") = 6 Then 是,否
22、 MsgBox(64, "提示", "学会MsgBox也不错了,继续研究吧!") Else MsgBox(64, "提示", "无语,请从第一章重新看!") EndIfElse MsgBox(64, "提示", "革命尚未成功,同志们仍需努力!&q
23、uot;)EndIf技术要点(1) If的两种形式:1. If <表达式> Then 语句 单条件运行语句。当表达式结果为true时执行then后面语句。2. If <表达式> Then 语句 .ElseIf 表达式-n Then elseif 语句 . .Else else 语句 .EndIf多条件运行语句。<>表示是必写,表示是可选(可写可
24、不写)条件表达式.果表达式为 true, 则执行" 语句 "块;如果不是, 则执行第一个为true 的 "elseif 语句 ." 块;如果以上都不成立, 则执行 "Else 语句" 块.If 语句允许嵌套使用.并且根据需要用圆括号组合使用实例008 成绩奖励系统实例说明输入用户名和密码登录“成绩奖励系统“,如果登录成功则输入语文和数学考试成绩。如果语文考试大于80分或者数学考试大于90分则奖励100元,否则显示未达到要求,请下次继续努力!运行效果如图2.7和2.8所示。图2.7 - 输入用户名登录系统图2.8 输入成绩获取奖励程序代
25、码#include <Console.au3>控制台用作提示CoutLine("请输入你的名字:", "亮黄色")Dim $name = Cin() 等待输入名字CoutLine('欢迎' & $name & '进入"成绩奖励系统"', "亮红色")CoutLine('请输入用户名和密码登录系统(区分大小写)', &quo
26、t;亮青色")Dim $UserName = InputBox("提示", "请输入用户名:")Dim $PassWord = InputBox("提示", "请输入密码:", "", "*") 使用密码字符CoutLine("正在验证.")Sleep(2000)If $UserName = "Ad
27、min" And $PassWord = "123456" Then CoutLine('登录成功,请输入语文和数学成绩', "亮青色") Dim $chiness = InputBox("提示", "请输入语文成绩:") Dim $maths = Inp
28、utBox("提示", "请输入数学成绩:") If (Not $chiness) And (Not $maths) Then 判断有没有输入 CoutLine("输入错误,退出系统!", "亮红色") System("pause")
29、 Exit EndIf If $chiness > 80 Or $maths > 90 Then CoutLine("恭喜你,得到100元奖励!", "亮红色") Else
30、0;CoutLine("未达到要求,请下次继续努力!", "亮红色") EndIfElse CoutLine("登录失败,用户名或密码错误!", "亮红色")EndIfSystem("pause")技术要点(1) 本例使用逻辑运算符结合if语句完成。逻辑运算符如下:And 两个表达式全为true,其最终结果为true.OR 两边表达式只要有一个为true,其最终结果为true.Not 将true变为fal
31、se,false变为true.(2) 当表达式内含有多个运算符时, 其运算的先后顺序由运算符优先级别控制. AutoIt 中运算符的优先级如下所示. 处于同一优先级的两种运算符, 则按从左到右的顺序运算.从最高到最低的优先级: Not * / + - & < > <= >= = <> = And Or
32、 例如: 2 + 4 * 10 - 运算结果为 42, 运算顺序如下:4 * 10 (等于 40) 2 + 40 (等于 42)乘号 * 拥有比加号 + 更高的优先级. 您可以使用括号强制先计算表达式的一部分.例如: (2 + 4) * 10 - 运算结果为 60.(3) 逻辑运算符的惰性求值:And 第一个表达式为false时,其最终结果已确定为false,不会执行第二个表达式。Or 第一个表达式为true时,其最终结果已确定为true,不会执行第二个表达式.小例子
33、:$and1 = True And MsgBox(0, "", "and1") 第一个为true,执行第二个$and2 = False And MsgBox(0, "", "and2") 第一个为false,不执行第二个$or1 = True Or MsgBox(0, "", "or1&q
34、uot;) 第一个为true,不执行第二个$or2 = False 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("提示", "
35、输入a的值:")Dim $b = InputBox("提示", "输入b的值:"); If ( (Mod($a,$b)=0) Or ($a + $b > 100) ) Then; MsgBox(64,"结果",$a); Else; MsgBox(64,"结果",$b); EndIfMsgBox(64, "结果", (Mod($a, $b) = 0) Or
36、160;($a + $b > 100) ? $a : $b)技术要点(1) 本例使用二元条件选择语句。格式如下:如果表达式为true则返回表达式1的值。如果表达式为false则返回表达式2的值。通常可以用来替换If.Else.EndIf 结构。虽然在所有情况下没有必要, 但还是强烈建议 3 个表达式括在括号中.实例010 工资年终调整实例说明李四的年终工作评定,如果定为A级,则工资涨500元,如果定为B级,则工资涨200元, 如果定为C级工资不变, 如果定为D级工资降200元,如果定为E级工资降500元.设李
37、四原工资为5000,请用户输入李四的评级,然后显示李四的工资。运行效果图2.11和2.12所示 图2.11 输入李四评级 图2.12 显示李四工资程序代码Dim $salay = 5000Dim $input = InputBox("输入", "请输入李四的评定等级(A-E)")Switch $input Case "A" $salay
38、+= 500 Case "B" $salay += 200 Case "C" 工资不变 Case "D" $salay -= 200 &
39、#160;Case "E" $salay -= 500 Case Else MsgBox(32, "错误", "只能输入字母ABCDE")EndSwitchMsgBox(64, "提示", "李四的工资为:" & $salay&
40、#160;& "元")技术要点(1) SwitchCaseEndSwitch 条件语句Switch <表达式> Case <值> To <值> ,<值> To <值> . 语句 1 . Case <值> To <值> ,<值> To <值> .
41、160; 语句 2 . Case Else 语句 N .EndSwitch1.1根据表达式返回的值. 此值将与每个 case 的值比较, 直到找到一个匹配.如果第一个 case 不匹配切换值, 则继续比较其它 Case 节点, 如果匹配, 则该节 Case 被执行.如果没有匹配的 case 且没有定义其它的 Case, 则无任何操作发生.1.2 值 To 值 指定范围,表达式值
42、在两个值之间,执行Case后面语句 值,值 表达式值等于其中一个值,执行Case后面语句下面小例子,判断星期六日是休息日,星期1-5是工作日Dim $date = ""Switch WDAY Case 7, 1 if WDAY = 7 OR WDAY = 1 $date = "星期六日休息" Case
43、60;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的值进行数学运算后赋值回$
44、salay。这种赋值方法比较方便和常见的。实例011 假期安排实例说明明天放假,输入明天的温度和天气情况,如果温度低于15度,在家玩游戏,否则如果天气是“晴”或“阴”, 到外面逛街,否则如果天气是“雨”就到到电影院看戏,否则如果是其它天气(雷,风)通常会停电,这假期没法过。运行效果图2.13和2.14所示 图2.13 输入明天天气图2.14 显示假期安排程序代码#include <MsgBoxConstants.au3> MsgBox常量定义Dim $tem = InputBox("输入","请输入明天温度:")Dim $wea = InputBox("输入","请输入明天天气:")Select Case
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 艺术绘画技法与创作实践试卷
- 行政管理专科公共关系学考试技巧与答案
- 食品卫生与安全法规试题及答案集合
- 环境工程环境影响评价题库
- 行政管理中的危机公关策略试题及答案
- 韩语学习与交流作业指导书
- 2025年工程经济创新点详解试题及答案
- 真诚相待班会课件
- 真诚的课件背景
- 保安工作计划科技业生物科学部门
- 水文地质技术员技能鉴定理论考试题库-上(单选题)
- 2024年保密教育线上培训考试
- 船舶避碰 第十七条直航船的行动
- 绿色矿山造林施工合同
- 中国绝经管理与绝经激素治疗指南(2023版)解读
- 开休闲书吧创业计划书
- 人体常见病智慧树知到期末考试答案章节答案2024年
- 《石油行业安全生产标准化-陆上采油实施规范》
- MOOC 光学发展与人类文明-华南师范大学 中国大学慕课答案
- 危险化学品“两重点一重大”简介(刘卓)省公开课一等奖全国示范课微课金奖课件
- 完整版购销合同范本(标准版)-2024多场合版
评论
0/150
提交评论