您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > AU3初学者专用教程
AU3初学者专用教程2013-3-2519:52我们打开SCITE编辑器,我们将会得到一个类似记事本的界面,下面,我们就可以编写AU3源码了。大家跟我写下如下代码:MsgBox(0,我的第一个AU3程序,HelloWorld!)写好后保存,保存后,这将是一个以AU3为后缀的文件,例如我们将它命名为Skyfree.au3,不过这个程序还不能运行,它只是源码,我们必须将它转化为可执行文件,也就是EXE文件,它才会正常运行。这个由源码转换为可执行文件的过程,也就是我们经常听到高手口中所说的“编译”了。如何执行编译呢?我们可以右键单击Skyfree.au3这个AU3源码文件,然后会出现“编译脚本”这个选项,我们单击“编译脚本”,几秒钟,这个Skyfree.au3源码文件就被编译成了Skyfree.exe文件了。双击Skyfree.exe文件,立刻会弹出来一个对话框,上面写着“HelloWorld”。怎么样,是不是很神奇,我们的第一个AU3程序就这么写出来了,简单吗?其实编程就是这么简单,不要在某些高手的神话传说和谆谆教诲下感觉编程很神秘了,只要有耐心和恒心,菜鸟照样玩编程。不过这一节我也不是来领着大家做游戏的,这一小节有几个很重要的概念信息我再来重复一下,一个是源码,一个是可执行程序,从源码到可执行程序,需要一个过程,这个过程叫做“编译”。1.AutoItv3入门1数据类型任何编程语言都有数据这个概念,当然,任何编程语言都讲究数据类型,AU3也一样,不过AU3对数据类型的分类比较简单,在AU3中,数据大概分成四类:数字类型、字符串类型、布尔值、二进制类型..数字类型,顾名思义,就是数字,例如1、2、3.4、5等等,AU3对数字类型没有再进行详细的分类(很多语言中都将数字类型再详细分为整形、浮点型等等),这给初学者带来了不少方便,只记住数字类型就是我们常说的“数”就可以了。字符串类型,字符串即使一串字符,例如ABCDE、Skyfree、SK1023Y等等,这些都是字符串,这个是很好理解的,不过大家应该分清楚一点,就是数字1和字符1是有区别的。布尔类型,不要被这个名字搞乱了,所谓布尔类型的值,就是True(真)和False(假)这两个值,这在进行数据判断的时候十分有用。二进制类型我们很少用到,本着不常用的不浪费我们时间的原则,这个我就不多废口水了,有兴趣的朋友可以参考AU3帮助文档中的相应说明。2变量说完了数据类型,终于可以说数据了。所谓变量,就是在程序运行过程中其值可以改变的量——简单了说就是可以变的量就是变量(……好像废话)。我们可以定义一个变量,例如,Dim$Skyfree$Skyfree就是一个变量,Dim是定义变量的意思。在程序运行过程中,我们可以将1这个值赋给$Skyfree这个变量,$Skyfree=1这时$Skyfree就代表着1这个值,不过由于$Skyfree是变量,我们可以在任意我们喜欢的时刻将2再赋值给$Skyfree,$Skyfree=2再次赋值结束后,$Skyfree就代表着2这个值。说到这里,大家大概明白什么叫变量了吧。大家就随手命名几个变量吧。不过有一点要说的是,AU3的变量命名有它的规则,不符合命名规则的变量将不被称之为变量AU3的变量命名规则是:以$开头的,字母、数字、下划线组合,例如$Sky、$Sky_Free、$Sky1023这些都是合乎AU3变量命名规则的变量。3常量明白了什么是变量,常量的意义就很好解释了。常量,就是在程序运行过程中其值不能被随意改变的量。我们可以定义一个常量,例如,Const$Skyfree=1常量一旦被赋值,在整个程序运行过程中其值将不能被改变。当然,常量的命名也有它的规则,常量的命名规则与变量相同。4数组数组这个概念可能稍微难理解一些,我们先来看一个简单的例子:Dim$Sky[3]$Sky[0]=17$Sky[1]=21$Sky[2]=65最初,我们以Dim$Sky[3]定义了一个包含三个元素的数组Sky[3],这三个元素的名字分别为Sky[0]、Sky[1]、Sky[2],然后我们分别将17、21、65赋值给他们。到这里,大家也大概看出来什么是数组了,所谓数组,就是以一个名字命名一组变量,就像Sky这个数组名,这个数组包含从0到(数组元素数量1),例如Sky[3],那么其中的元素就是从Sky[0]~Sky[31]。如果说的再简单点,就是一组使用着同一个变量名的变量(例如数组Sky[3]中的每一个元素都使用Sky这个变量名),为了区别这一组的每一个变量,使用一个序号来唯一标识这个元素(例如Sky[1]和Sky[2],虽然都使用Sky这个变量名,但它们使用[1]和[2]来区别彼此)。数组的运用十分广泛,通常一个数组里存储着一组有关系的数据,或者有着一定相似性的数据。如果您现在还不能完全理解数组,也没关系,随着对AU3程序理解的深入,会慢慢理解数组这个概念的。5运算符数据运算:=赋值运算,将“=”右边部分的值赋给左边+加法运算,$S=2+3减法运算,$S=23*乘法运算,$S=2*3/除法运算,$S=2/3&字符串连接运算,$St=”ABC”&“DEF”&“123”^冥运算,$S=2^3(2的三次方)布尔运算:(返回True或者False值)=判断左右两侧的值是否相等,如果左右两侧为字符串,则不区分大小写比较==判断左右两侧的值是否相等,如果左右两侧为字符串,则区分大小写比较判断左右两侧是否不等于判断左侧是否大于右侧=判断左侧是否大于等于右侧判断左侧是否小于右侧=判断左侧是否小于等于右侧逻辑运算:AND与运算,只有“AND”两侧的值都为“真”时,才返回“真”,否则返回“假”OR或运算,当“OR”两侧只要有一侧为“真”时就返回“真”,否则返回“假”NOT非运算,NOT真为假,NOT假为真这些运算符是有优先级一说的,就像我们小学所学的“先乘除后加减”一样,这些运算符的优先级如下,自上而下优先级依次降低,同级自左向右优先级依次降低:NOT^*/+&=====ANDOR牢记这些优先级,否则很容易在以后的编程中造成混淆。2.顺序结构、选择结构、循环结构入门所有的编程语言都遵守这三种代码结构,我将在下面一一介绍。1顺序结构顺序结构是十分简单的结构,就像批处理一样,一条一条的运行所写下的代码,脚本运行时,就会一条一条的运行代码,例如:Dim$S,$a,$b$a=1$b=2$S=$a+$bMsgBox(0,运算结果,$S)这是个简单的程序,定义了变量$S,$a,$b,再分别将1和2赋值给$a,$b,然后计算$a和$b的和,并将这个和复制给$S,最后使用一个窗口将这个和显示出来。程序从第一行定义变量到最后一行显示$S的值依次执行下来,这就是顺序结构,也是一个程序里最基本的结构。2选择结构选择结构中我只介绍If…Then…结构,这个是极为常用的选择结构,十分直观。选择结构里还有Select…Case…这种结构,感兴趣的朋友可以参照AU3帮助文档。If…Then…的基本语法是:If[条件]Then[语句段1]Else[语句段2]EndIfIf后面跟一个条件,如果这个条件的结果为真,则执行语句段1,否则将执行语句段2,Else和语句段2这两者不是必须的,下面举两个简单的例子:Dim$a$a=5If$a3ThenMsgBox(0,选择结构示例,大于3)ElseMsgBox(0,选择结构示例,小于或等于3)EndIf运行这个程序,则会出现一个对话框,对话框中显示为“大于3”。随后我们可以将一个小于3的数例如2复制给$a,如下:Dim$a$a=2If$a3ThenMsgBox(0,选择结构示例,大于3)ElseMsgBox(0,选择结构示例,小于或等于3)EndIf再运行这个程序,对话框将显示为“小于或等于3”。只要理解了If…Then…这个最基本的选择结构语句,就能做一些简单的判断了。其实If…Then…语句还有很多其他模式,例如If…Then…ElseIf…Then….Else…Endif等,不过只要理解了If…Then…一切都迎刃而解。3循环结构循环结构我只介绍最常用的While…Wend循环和For…Next循环,其他的循环结构控制语句,如果有需要可以参考AU3帮助文档。While…Wend,语法:While[条件][语句段]Wend这个语句中,While后的[条件]只要为真,则会循环执行[语句段],直到[条件]为假才结束循环,如果无论怎么循环[条件]都始终为真,则这个循环会成为死循环,这样会造成系统资源耗尽而死机或者其他情况。举个例子,例如我们想计算1+2+3+…..+100的结果,如下:Dim$i,$Sum$i=1$Sum=0While$i=100$Sum=$Sum+$i$i=$i+1WEndMsgBox(0,计算1+2+...+100的和,$Sum)这个例子中,我们首先定义了$i和$Sum这两个变量,随后我们将他们赋以最初值,$i=1、$Sum=0,然后进入了While循环,在每次循环中$Sum会被赋予当前$Sum的值与$i值的和,而每次循环结束后$i的值都会被+1,这样,$i会依次表示1、2、3…这些值(注意,这些$i的值都=100,所以循环会继续执行),而$Sum会记录从1+2+3+…的值。在第100次循环结束时,也就是$i=$i+1运行到第100次时,此时$i的值为101,那么第101此循环运行前检测While后的条件$i=100时,这个条件将不符合,不符合While后面的条件,也就是While后面的条件为假时,则退出循环。退出循环后运行MsgBox这一行,这样就将$Sum的值,也就是1+2+3+…+100的值显示在弹出的对话框中。下面,我们来看一下For…Next循环For…Next,语法:For[变量]=[初值]To[终值][Step[步进值]][语句段]NextFor…Next循环结构经常与数组一起使用,例如:Dim$Sky[5],$i,$Sum$Sky[0]=10$Sky[1]=20$Sky[2]=30$Sky[3]=40$Sky[4]=50$Sum=0For$i=0To4$Sum=$Sum+$Sky[$i]NextMsgBox(0,For...Next循环结构范例,$Sum)这个例子中,首先我们定义了$Sky数组,这个数组包含5个元素,然后我们又定义了$i和$Sum这两个变量,分别用来计数和计算和值。接着我们为$Sky中的5个元素赋了初始值,以及为$Sum赋了初始值。进入For循环,循环一共进行了5次,5次中$i分别等于0、1、2、3、4,在这5次循环中,$Sum依次记录$Sky[0]、$Sky[1]、…$Sky[4]的和值。5次循环结束后,使用MsgBox语句将$Sum结果显示在对话框中。3.常用的AU3函数什么是函数?很多人初接触编程对这个存在很大的疑惑。举个简单的例子,有一个制造桌子的工厂,你从这边将木材送进去,就会从工厂的那边生产出桌子来,如果你送进去檀木,那么就会生产出檀木桌子,如果你送进去红木,那么就会生产出红木的桌子。这个工厂就是函数,我们送进去的木头就是函数的参数,工厂生产出来的桌子就是函数的返回值。我们不必知道工厂的内部结构,也不必知道桌子的生产过程,我们只需要调整木头的类型,就可以生产出不同的桌子。也就是说,我们不必知道函数的工作原理,而只需要调整参数,就能得到我们想要的结果。AU3提供了大量的函数,这些函数很方便,但是AU3的函数有几百个,全部记住反正笔者我这样的破脑袋是不行,下面我列举一些十分常用的AU3函数及其常用参数,大家如果懒得记忆全部AU3函数,就记住这些常用的就可以。1EnvGet作用:获取当前环境变量的值语法:EnvGet(环境变量)范例:$SysDrv=EnvGet(systemdrive)运行完成后,$SysDrv将记录环境变量%SystemDrive%的值,如果系统盘为C盘,则$SysDrv的值为“C:”2EnvSet作用:设置环境变量和其值语法:EnvSet(环境变
本文标题:AU3初学者专用教程
链接地址:https://www.777doc.com/doc-2902167 .html