版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、初识AUTOIT实例001打个招呼!实例说明输出一个对话框,向“AUTOIT打个招呼!可以说是AUTOIT最简单的第一个程序!运行结果如图1.1所示。图1.1-输出对话框程序代码MsgBox(64,?"第一个程序",?"打个招呼:"?&?CRLF?&?你好"AUTOIT"')技术要点(1)MsgBox函数的标志参数.64显示带“确定"按钮+信息图标的消息框.您可以实验各种不同的标志值,理解各种标志值的结果.如果你想要使用一个以上的标志值,只需把必需的值相加即可,或直接用“号连接各值.(2)程序使用了“
2、crlf”作为回车换行符。使用“&”作为字符串连接符。宏指令首字符都是以“"开头容易分辨。和普通的变量一样,您可以在表达式中使用它们,但不能进行赋值操作.宏是已经预设好的值包括四大类:AUTOIT相关宏,目录宏,系统信息宏,时间与日期宏。相关的值可在帮助“宏指令目录”找到。(3)字符串以一对英文双引号括起来,也可以使用单引号括起来。可以混合使用引号类型如要显示字符串中的双引号用单引号括起整个字符串:你好"AUTOIT"'实例002简单求和程序实例说明设计一个简单求和程序。掌握如何定义变量,赋值变量方法。运行结果如图1.2所示。图1.2求10+20的
3、和Dim?$i=10,$n=20,$sum=0?;声明变量,并赋初值$sum?=?$i+$n?MsgBox(64,"一个完整的程序","计算2果:"&$sum)技术要点(1)变量是将数据存储在内存中,以便可以快速访问.您可以把它想象为在内存中的邮箱,我们可以往里面存信也可以取信。变量开头都是使用"$”,非常容易辨认本程序使用关键词“Dim”定义3个变量$i,$n,$sum,并使用“二”号分别赋值。也可以先定义再赋值。(2)使用数学运算符“+”号计算出结果并将结果赋值到$sum,$sum将得到新的值。下面列出常用数学运算符:实例003计算
4、正方形面积实例说明输入正方形的边长,计算正方形面积。这是一个简单的输入和输出程序。运行结果如图1.3和1.4所示。图1.3-输入正方形边长图1.4-输出正方形面积程序代码Dim?$a?=?InputBox("输入","请输入正方形边长:”)Dim?$s?=?$a?A?2?MsgBox(64,"结果",$s)技术要点(1) 定义变量$a接收inputbox函数的返回值,其返回值是输入的字符串。不同的函数返回值都不同,具体看函数的帮助文档说明!实例004计算圆的面积实例说明输入半径并计算出圆的面积,最后在屏幕居中显示出来。掌握常量的定义和变量的不同
5、意义。运行结果如图1.5和1.6所示。图1.5-输入圆的半径图1.6-显示圆的面积程序代码Dim?Const?$PI?=?3.1415926Dim?$r?=?InputBox("计算圆的面积",?"请输入半径:")Dim?$x,?$y;屏幕居中显示工具提示$x?=?DesktopWidth?/?2?$y?=?DesktopHeight?/?2ToolTip("圆面积为:"?&?$r?人?2?*?$PI,?$x,?$y,?"提示”,?1,2)?Sleep(3000)?;工具提示停留3000毫秒技术要点(1)常量使用Co
6、nst关键字声明创建,并且必须具有初始化的值。常量同样是以"$"开头。跟变量不一样它是只读的,一旦已分配一个常数,后面不能更改它的值。上面由于式的值是固定的不可以再更改,使用常量进行初始化。一般用大写字母作为常量名用以区分变量(2) 这里使用了“工具提示”函数ToolTip来显示圆的面积。宏DesktopWidth是屏幕的宽度值,DesktopHeight是屏幕的高度值。两个除以2得到屏幕中间点的x,y的坐标。(3) ToolTip工具提示跟Msgbox函数的对话框不一样,它并不会暂停程序的运行。程序把所有语句执行完毕会自动退出,这时ToolTip工具提示框会立刻关闭。上面
7、添加了一个暂停程序的函数Sleep,将程序暂停运彳f指定的时间3000毫秒这样ToolTip就会停留3秒再关闭。第2章选择和分支结构程序设计实例005比较运算实例说明认识“关系运算符”,布尔值。第一段是比较数字,第二段是比较字符串。了解不同关系运算符返回的布尔值。运行结果如图2.1和2.2所示。图2.1T匕较数字图2.2-比较字符串#cs=比较你是否已成年,返回true或false#ce=|Dim?$arg?=?18Dim?$yrg?=?InputBox("输入",?"请输入你的年龄:")MsgBox(64,?$arg?&?"等于&qu
8、ot;?&?$yrg,?$arg?=?$yrg)MsgBox(64,?$arg?&?"不等于"?&?$yrg,?$arg?<>?$yrg)MsgBox(64,?$arg?&?"大于"?&?$yrg,?$arg?>?$yrg)MsgBox(64,?$arg?&?”大于或等于"?&?$yrg,?$arg?>=?$yrg)MsgBox(64,?$arg?&?”小于或等于"?&?$yrg,?$arg?<=?$yrg)#cs=|比较字符串,返回
9、true或false#ce=Dim?$word?=?"HelloWord"Dim?$new_word?=?InputBox("输入",?"请输入世界彳好英文:")If?$new_word?=?""?Then?;判断返回值?MsgBox(16,?"函数",?"输入失败!")?Exit?;退出程序EndIfMsgBox(64,?$word?&?"等于"?&?$new_word,?$word?=?$new_word)MsgBox(64,?$wor
10、d?&?"等于"?&?$new_word,?$word?=?$new_word)?;区分大小写技术要点(1)单行注释使用“;"号,而段注释是由#comments-start开头与#comments-end结尾,可以使用缩写的关键字:枇5与枇0注释并不会被程序执行。关键的地方使用注释是良好的习惯,便于维护和阅读代码。(2)关系运算符也叫比较运算符,有以下这些:关系运算符,其运算结果是一个“布尔佰”。布尔值是一个逻辑值.只有两个布尔值存在:true(真)与false(假).在Autoit中数字0等于布尔值False其他任何数字等于布尔值True注意:空
11、字符串单独用作比较运算时会自动转换为0,其结果也是为False比较字符串的例子中,我们同样使用InputBox作为输入函数,函数执行之后会有“返回值”返回值当成功时一般会返回有效的值,而失败时一般会返回空符IfE表达式,Then语句串或0。例子里通过“条件判断语句”进行比较当InputBox返回值为空符串时则函数执行失败(按下了取消键或没有输入任何数据)可以从帮助中看到返回值成功和失败会返回什么值:注意:if-then用于执行单条件语句,可以不需要EndIf.实例0063个数由小到大排序实例说明任意/&入3个整数,编程实现对这3个整数由小到大排序,并将排序后结果显示在屏幕上。运行效果如
12、图2.3和2.4所示。程序代码#include?<Array.au3>#include?"console.au3"|CoutLine("请输入三个数字a,b,c:",?"亮青色")Dim?$in?=?Cin()Dim?$aNum?=?StringSplit($in,?",");用作调试,查看数组的元素,可取消这句_ArrayDisplay($aNum,'Debug')?Dim?$a,$b,$c,$t$a?=?Number($aNum1)$b?=?Number($aNum2)$c?=?Nu
13、mber($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("从小到大排序:"?&?$a?&?","?&?$b?&?","?&?$c,?"亮紫色")System("pause"
14、)技术要点(1)#include命令包含一个外部的autoit脚本至U当前脚本中。包含文件的内容在"#include”命令点插入到脚本-大多数情况下是在脚本的开头,以便包含文件内声明的变量或常量在脚本的其它部分可用.其格式为:ttinalude”路径文件名”Minalude文件名>包含到当前脚本的文件名,路径可选.文件名必须是字符串不能是变量.如果使用双引号“”,将从当前脚本目录开始查找该文件如果使用尖括号<.>,将从包含文件库目录中查找该文件.(通常汉化版默认安装的库包含文件目录为E:AutoIt3Include,汉化版autoit还有一个E:AutoIt3Use
15、rInclude目录)上面例子中包含Array.au3脚本,它的代码已插入到当前文件中,可以使用它提供的"_ArrayDisplay”函数打印数组元素。这种非内置(需要包含文件)使用的函数叫做“自定义函数”通常叫它的英文简写“UDF',它通常以下划线”开头用以区别内置函数.Console.au3是由笔者所写的一个用于控制台的udf。如果大家使用的是笔者提供的版本console.au3已经放进include目录里。(2)本例子主要还是熟悉if的用法,交换三个数的顺序。例子里将变量的值进行两两比较,然后将变量交换。由于变量的值重新赋值会删除前一个值,所以需要一个临时的变量$t作为
16、临时保存值。就像两杯水倒进对方的杯子里,需要一个空杯子将其中一个杯子的水临时保存。实例007你学会了吗实例说明通过询问熟悉MsgBox的用法,掌握IfElselfElseEndIf勺用法。运行效果如图2.5和2.6所示。图2.5-询问是否学会使用if图2.6-选“是”弹出提示程序代码Dim?$msg?=?MsgBox(32?+?3,?"提问",?"你学会使用if了吗?")?;是,否,取消If?$msg?=?6?Then?MsgBox(64,?"提示",?"不错啊,这么快就学会了!")Elself?$msg?=?7?
17、Then?If?MsgBox(32?+?4,?"提问",?"你学会使用MsgBox了吗?")?=?6?Then?;是,否?MsgBox(64,?"提示",?"学会MsgBox也不错了,继续研究吧!")?Else?MsgBox(64,?"提示",?"无语,请从第一章重新看!")?EndIfElse?MsgBox(64,?"提示",?"革命尚未成功,同志们仍需努力!")EndIf技术要点(1) If的两种形式:1. If表达式Then语句单
18、条件运行语句。当表达式结果为true时执行then后面语句。2. If表达式Then3. ?语句4. ?.5. Elself表达式-nThen6. ?elseif语句.7. ?.8. Else9. ?else语句10. ?.11. EndIf多条件运行语句。<>表示是必写,口表示是可选(可写可不写)条件表达式.果表达式为true,则执行“语句"块;如果不是,则执行第一个为true的"elseif语句."块;如果以上都不成立,则执行"Else语句”块.If语句允许嵌套使用.并且根据需要用圆括号组合使用实例008成绩奖励系统实例说明输入用户名和密
19、码登录“成绩奖励系统“,如果登录成功则输入语文和数学考试成绩。如果语文考试大于80分或者数学考试大于90分则奖励100元,否则显示未达到要求,请下次继续努力!运行效果如图2.7和2.8所示。图2.7-输入用户名登录系统图2.8-输入成绩获取奖励程序代码#include?<Console.au3>;控制台用作提示CoutLine("请输入你的名字:",?"亮黄色")Dim?$name?=?Cin()?;等待输入名字CoutLine('欢迎'?&?$name?&?'进入"成绩奖励系统"&
20、#39;,?"亮红色")CoutLine('请输入用户名和密码登录系统(区分大小写),?"亮青色")Dim?$UserName?=?InputBox("提示",?"请输入用户名:”)Dim?$PassWord?=?InputBox("提示",?"请输入密码:",?"",?"*")?;使用密码字符CoutLine("正在验证.")Sleep(2000)If?$UserName?=?"Admin"?An
21、d?$PassWord?=?"123456"?Then?CoutLine('登录成功,请输入语文和数学成绩,?"亮青色")?Dim?$chiness?=?InputBox("提示",?"请输入语文成绩:")?Dim?$maths?=?InputBox("提示",?"请输入数学成绩:")?If?(Not?$chiness)?And?(Not?$maths)?Then?;判断有没有输入?CoutLine("输入错误,退出系统!",?"亮红色&
22、quot;)?System("pause")|?Exit?EndIf?If?$chiness?>?80?Or?$maths?>?90?Then?CoutLine("恭喜你,得到100元奖励!",?"亮红色")?Else?CoutLine("未达到要求,请下次继续努力!",?"亮红色")?EndIfElse?CoutLine("登录失败,用户名或密码错误!",?"亮红色")EndIfSystem("pause")技术要点(1)
23、本例使用逻辑运算符结合if语句完成。逻辑运算符如下:And两个表达式全为true,其最终结果为true.OR两边表达式只要有一个为true,其最终结果为true.Not将true变为false,false变为true.(2)当表达式内含有多个运算符时,其运算的先后顺序由运算符优先级别控制.AutoIt中运算符的优先级如下所示.处于同一优先级的两种运算符,则按从左到右的顺序运算.从最高到最低的优先级:?Not?A?*/?+-?&?<><=>=<>=?AndOr?例如:2+4*10-运算结果为42,运算顺序如下:4*10?(等于40)?2+40?(等于4
24、2)乘号*拥有比加号+更高的优先级.您可以使用括号强制先计算表达式的一部分.例如:(2+4)*10-运算结果为60.(3)逻辑运算符的惰性求值:And第一个表达式为false时,其最终结果已确定为false,不会执行第二个表达式。Or第一个表达式为true时,其最终结果已确定为true,不会执行第二个表达式.小例子:$and1?=?True?And?MsgBox(0,?"",?"and1")?;第一个为true,执行第二个$and2?=?False?And?MsgBox(0,?"",?"and2")?;第一个为fa
25、lse,不执行第二个$or1?=?True?Or?MsgBox(0,?"",?"or1")?;第一个为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("提示",?"输
26、入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?($a?+?$b?>?100)?$a?:?$b)技术要点(1)本例使用二元条件选择语句。格式如下:如果表达式为true则返回表达式1的值。如果表达式为f
27、alse则返回表达式2的值。通常可以用来替换If.Else.EndIf结构。虽然在所有情况下没有必要,但还是强烈建议3个表达式括在括号中.实例010工资年终调整实例说明李四的年终工作评定,如果定为A级,则工资涨500元,如果定为B级,则工资涨200元,如果定为C级工资不变,如果定为D级工资降200元,如果定为E级工资降500元.设李四原工资为5000,请用户输入李四的评级,然后显示李四的工资。运行效果图2.11和2.12所示图2.11-输入李四评级图2.12-显示李四工资程序代码Dim?$salay?=?5000Dim?$input?=?InputBox("输入",?&qu
28、ot;请输入李四的评定等级(A-E)")Switch?$input?Case?"A"?$salay?+=?500?Case?"B"?$salay?+=?200?Case?"C"?;工资不变?Case?"D"?$salay?-?200?Case?"E"?$salay?-=?500?Case?Else?MsgBox(32,?"错误",?"只能输入字母ABCDE")EndSwitchMsgBox(64,?"提示",?"李四
29、的工资为:"?&?$salay?&?"元")技术要点(1) Switch-Case-EndSwitch条件语句Switch表达式?Case值To值刁卜值To值刁?语句1?.?Case值To值刁,值Tofi刁?语句2?.?CaseElse?语句N?.EndSwitch1.1 根据表达式返回的值.此值将与每个case的值比较,直到找到一个匹配.如果第一个case不匹配切换值,则继续比较其它Case节点,如果匹配,则该节Case被执行.如果没有匹配的case且没有定义其它的Case,则无任何操作发生.1.2 值To值指定范围,表达式值在两个值之间,执行C
30、ase后面语句值,值表达式值等于其中一个值,执行Case后面语句下面小例子,判断星期六日是休息日,星期1-5是工作日Dim?$date?=?""Switch?WDAY?Case?7,?1?;ifWDAY=7ORWDAY=1?$date?=?"星期六日休息”?Case?2?To?6?;ifWDAY=2ORWDAY=3ORWDAY=4ORWDAY=5ORWDAY=6?$date?=?"星期1-5工作日”EndSwitchMsgBox(64,"提示",$date)(2)例子使用了自增和自减赋值?$salay-=200相当于$salay=$salay-200表达式按照优先级先将右边$salay的值进行数学运算后赋值回$salay。这种赋值方法比较方便和常见的。实例011假期安排实例说明明天放假,输入明天的温度和天气情况,如果温度低于15度,在家玩游戏,否则如果天气是“晴”或“阴”,到外面逛街,否则如果天气是“雨”就到到电影院看戏,否则如果是其它天气(雷,风)通常会停电,这假期没法过。运行效果图2.13和2.14所示图2.13-输入明天天气图2.14-显示假期安排程序代码#include?<MsgBoxConstants.au3>?
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 货代市场开拓与资源整合方案
- 企业战略咨询项目计划及实施方案
- 研学基地信息化建设与应用方案
- 温室大棚建筑材料选择与应用方案
- 水库枢纽工程的社会影响与公众参与管理方案
- 风电场智能化运维管理方案
- 实训基地质量检测与评估实施方案
- 考研复试自我介绍简单模板
- 2026年贵州轻工职业技术学院单招职业倾向性考试题库及答案1套
- 2026年白城医学高等专科学校单招职业倾向性测试必刷测试卷新版
- 凯泉 KQSN型单级双吸离心泵 安装使用说明书
- 2023上海中考数学真题18题、24题、25题全解析
- 义务教育语文课程标准(2022)测试题带答案(20套)
- 2022年北京协和医院招聘笔试备考题库及答案解析
- 人类肿瘤与遗传
- 国家开放大学电大《科学与技术》形考任务2试题及答案
- GB/T 28270-2012智能型阀门电动装置
- 电力拖动控制线路与技能训课件
- 腹腔镜下全子宫切除术及手术配合课件
- 光伏电站运维培训-课件
- 滚动轴承装配课件
评论
0/150
提交评论