您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Autoit经典编程100例
第1章初识AUTOIT实例001打个招呼!实例说明输出一个对话框,向“AUTOIT”打个招呼!可以说是AUTOIT最简单的第一个程序!运行结果如图1.1所示。图1.1–输出对话框程序代码MsgBox(64,第一个程序,打个招呼:&@CRLF&'你好AUTOIT')技术要点(1)MsgBox函数的标志参数.64显示带确定按钮+信息图标的消息框.您可以实验各种不同的标志值,理解各种标志值的结果.如果你想要使用一个以上的标志值,只需把必需的值相加即可,或直接用“+”号连接各值.(2)程序使用了“@crlf”作为回车换行符。使用“&”作为字符串连接符。宏指令首字符都是以”@”开头容易分辨。和普通的变量一样,您可以在表达式中使用它们,但不能进行赋值操作.宏是已经预设好的值包括四大类:AUTOIT相关宏,目录宏,系统信息宏,时间与日期宏。相关的值可在帮助“宏指令目录”找到。(3)字符串以一对英文双引号括起来,也可以使用单引号括起来。可以混合使用引号类型如要显示字符串中的双引号用单引号括起整个字符串:'你好AUTOIT'实例002简单求和程序实例说明设计一个简单求和程序。掌握如何定义变量,赋值变量方法。运行结果如图1.2所示。图1.2–求10+20的和程序代码Dim$i=10,$n=20,$sum=0;声明变量,并赋初值$sum=$i+$nMsgBox(64,一个完整的程序,计算结果:&$sum)技术要点(1)变量是将数据存储在内存中,以便可以快速访问.您可以把它想象为在内存中的邮箱,我们可以往里面存信也可以取信。变量开头都是使用”$”,非常容易辨认。本程序使用关键词“Dim”定义3个变量$i,$n,$sum,并使用“=”号分别赋值。也可以先定义再赋值。(2)使用数学运算符“+”号计算出结果并将结果赋值到$sum,$sum将得到新的值。下面列出常用数学运算符:实例003计算正方形面积实例说明输入正方形的边长,计算正方形面积。这是一个简单的输入和输出程序。运行结果如图1.3和1.4所示。图1.3–输入正方形边长图1.4–输出正方形面积程序代码Dim$a=InputBox(输入,请输入正方形边长:)Dim$s=$a^2MsgBox(64,结果,$s)技术要点(1)定义变量$a接收inputbox函数的返回值,其返回值是输入的字符串。不同的函数返回值都不同,具体看函数的帮助文档说明!实例004计算圆的面积实例说明输入半径并计算出圆的面积,最后在屏幕居中显示出来。掌握常量的定义和变量的不同意义。运行结果如图1.5和1.6所示。图1.5–输入圆的半径图1.6–显示圆的面积程序代码DimConst$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)常量使用Const关键字声明创建,并且必须具有初始化的值。常量同样是以”$”开头。跟变量不一样它是只读的,一旦已分配一个常数,后面不能更改它的值。上面由于π的值是固定的不可以再更改,使用常量进行初始化。一般用大写字母作为常量名用以区分变量(2)这里使用了“工具提示”函数ToolTip来显示圆的面积。宏@DesktopWidth是屏幕的宽度值,@DesktopHeight是屏幕的高度值。两个除以2得到屏幕中间点的x,y的坐标。(3)ToolTip工具提示跟Msgbox函数的对话框不一样,它并不会暂停程序的运行。程序把所有语句执行完毕会自动退出,这时ToolTip工具提示框会立刻关闭。上面添加了一个暂停程序的函数Sleep,将程序暂停运行指定的时间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&等于&$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=================================比较字符串,返回true或false#ce=================================Dim$word=HelloWordDim$new_word=InputBox(输入,请输入世界你好英文:)If$new_word=Then;判断返回值MsgBox(16,函数,输入失败!)Exit;退出程序EndIfMsgBox(64,$word&等于&$new_word,$word=$new_word)MsgBox(64,$word&等于&$new_word,$word==$new_word);区分大小写技术要点(1)单行注释使用”;”号,而段注释是由#comments-start开头与#comments-end结尾,可以使用缩写的关键字:#cs与#ce.注释并不会被程序执行。关键的地方使用注释是良好的习惯,便于维护和阅读代码。(2)关系运算符也叫比较运算符,有以下这些:关系运算符,其运算结果是一个“布尔值”。布尔值是一个逻辑值.只有两个布尔值存在:true(真)与false(假).在Autoit中数字0等于布尔值False其他任何数字等于布尔值True注意:空字符串单独用作比较运算时会自动转换为0,其结果也是为False比较字符串的例子中,我们同样使用InputBox作为输入函数,函数执行之后会有“返回值”.返回值当成功时一般会返回有效的值,而失败时一般会返回空符串或0。例子里通过“条件判断语句”进行比较当InputBox返回值为空符串时则函数执行失败(按下了取消键或没有输入任何数据)可以从帮助中看到返回值成功和失败会返回什么值:注意:if…then用于执行单条件语句,可以不需要EndIf.实例0063个数由小到大排序实例说明任意输入3个整数,编程实现对这3个整数由小到大排序,并将排序后结果显示在屏幕上。运行效果如图2.3和2.4所示。程序代码#includeArray.au3#includeconsole.au3CoutLine(请输入三个数字a,b,c:,亮青色)Dim$in=Cin()Dim$aNum=StringSplit($in,,);用作调试,查看数组的元素,可取消这句_ArrayDisplay($aNum,'Debug~~~')Dim$a,$b,$c,$t$a=Number($aNum[1])$b=Number($aNum[2])$c=Number($aNum[3]);判断大小,交换顺序If$a$bThen$t=$a$a=$b$b=$tEndIfIf$a$cThen$t=$a$a=$c$c=$tEndIfIf$b$cThen$t=$b$b=$c$c=$tEndIfCoutLine(从小到大排序:&$a&,&$b&,&$c,亮紫色)System(pause)技术要点(1)#include命令包含一个外部的autoit脚本到当前脚本中。包含文件的内容在#include命令点插入到脚本-大多数情况下是在脚本的开头,以便包含文件内声明的变量或常量在脚本的其它部分可用.其格式为:包含到当前脚本的文件名,路径可选.文件名必须是字符串,不能是变量.如果使用双引号...,将从当前脚本目录开始查找该文件如果使用尖括号...,将从包含文件库目录中查找该文件.(通常汉化版默认安装的库包含文件目录为E:\AutoIt3\Include,汉化版autoit还有一个E:\AutoIt3\UserInclude目录)上面例子中包含Array.au3脚本,它的代码已插入到当前文件中,可以使用它提供的“_ArrayDisplay”函数打印数组元素。这种非内置(需要包含文件)使用的函数叫做“自定义函数”通常叫它的英文简写”UDF”,它通常以下划线”_”开头用以区别内置函数.Console.au3是由笔者所写的一个用于控制台的udf。如果大家使用的是笔者提供的autoit3.3.10.2版本console.au3已经放进include目录里。(2)本例子主要还是熟悉if的用法,交换三个数的顺序。例子里将变量的值进行两两比较,然后将变量交换。由于变量的值重新赋值会删除前一个值,所以需要一个临时的变量$t作为临时保存值。就像两杯水倒进对方的杯子里,需要一个空杯子将其中一个杯子的水临时保存。实例007你学会了吗实例说明通过询问熟悉MsgBox的用法,掌握If...ElseIf...Else...EndIf的用法。运行效果如图2.5和2.6所示。图2.5–询问是否学会使用if图2.6–选“是”弹出提示程序代码Dim$msg=MsgBox(32+3,提问,你学会使用if了吗?);是,否,取消If$msg=6ThenMsgBox(64,提示,不错啊,这么快就学会了!)ElseIf$msg=7ThenIfMsgBox(32+4,提问,你学会使用MsgBox了吗?)=6Then;是,否MsgBox(64,提示,学会MsgBox也不错了,继续研究吧!)ElseMsgBox(64,提示,无语,请从第一章重新看!)EndIfElseMsgBox(64,提示,革命尚未成功,同志们仍需努力!)EndIf技术要点(1)If的两种形式:1.If表达式Then语句单条件运行语句。当表达式结果为true时执行then后面语句。2.If表达式Then语句...[ElseIf表达式-nThen[elseif语句...]]...[Else[else语句]...EndIf多条件运行语句。表示是必写,[]表示是可选(可写可不写)条件表达式.果表达式为true,则执行语句块;如果不是,则执行第一个为true的elseif语句...块;如果以上都不成立,则执行Else语句块.If语句允许嵌套使用.并且根据需要用圆括号组合使用实例008成绩奖励系统实例说明输入用户名和密码登录“成绩奖励系统“,如果登录成功则输入语文和数学考试成绩。如果语文考试大于80分或者数学考试大于90分则奖励100元,否则显示未达到要求,请下次继续努力!运行效果如图2.7和2.8所示。图2.7-输入用户名登录系统图2.8–输入成绩获取奖励程序代码#includeConsole.au3;控制台用作提示CoutLine(请输入你的名字:,亮黄色)Dim$name=Cin();等待输入名字CoutLine('欢迎'&$name&'进入成绩奖励系统',亮红色)CoutLine('请输入用户名和密码登录系统(区分大小写)',亮青色)Dim$UserName=InputBox(提示,请输入用户名:)Dim$PassWord=InputBox(提示,请输入密码:,,*);使用密码字符CoutLine(正在验证...)Sleep(2000)If$UserName==AdminAnd$PassWord==123456ThenCoutLine('登录成功,请输入语文和数学成绩',亮青色)Dim$chiness=InputBox(提示,请输入语文成绩:)Dim$maths=InputBox(提示,请输入数学成绩:
本文标题:Autoit经典编程100例
链接地址:https://www.777doc.com/doc-6396661 .html