AU3教程.docx
- 文档编号:11074416
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:98
- 大小:75.38KB
AU3教程.docx
《AU3教程.docx》由会员分享,可在线阅读,更多相关《AU3教程.docx(98页珍藏版)》请在冰豆网上搜索。
AU3教程
第一章、AutoIt 初步3
第一节、为什么要学习 AutoIt3
第一个问题,为什么要学习编程?
3
第二个问题,为什么要学习 AutoIt?
3
第三个问题,AutoIt 的优势在哪里?
3
第二节、AutoIt 的使用4
1、AutoIt 的安装4
2、我们的第一个 AutoIt 程序4
3、编译 AutoIt 程序5
第二章、AutoIt 基础5
第一节、常量与变量5
1、常量5
2、变量6
3、常量与变量共同的使用规则6
第二节、数据类型7
1、数值型数据7
2、字符(串)型数据7
3、布尔类型数据7
第三节、算数运算相关8
1、算数运算符8
2、算数运算相关函数8
第三章、顺序结构程序设计9
第一节、AutoIt 中的数据输出9
第二节、AutoIt 中的数据输入12
第三节、AutoIt 中的赋值运算14
第四节、顺序结构程序设计实例14
第四章、选择结构程序设计16
第一节、逻辑运算和关系运算16
第二节、If…Then…Else 语句17
第三节、Select...Case与 Switch...Case 语句19
1、“Select...Case”语句19
2、“Switch...Case”语句20
第四节、选择结构程序设计实例21
第五章、循环结构程序设计23
第一节、“While…WEnd”循环24
第二节、“Do...Until”循环25
第三节、“For...Next”循环26
第四节、循环的嵌套28
第五节、循环结构程序设计实例29
第六章、字符串31
第一节、字符串型数据31
1、字符串变量的定义与赋值32
2、字符串数据的连接32
3、关于字符串的宏33
第二节、ASCII34
第三节、字符串相关函数35
第七章、数组37
第一节、一维数组37
第二节、二维数组39
第三节、数组应用实例40
第八章、函数48
第一节、函数的一般形式48
1、函数的定义48
2、函数的参数48
3、数组做函数参数49
4、参数的“值传递”与“址传递”51
第二节、变量的作用域52
1、局部变量52
2、全局变量52
3、变量的作用范围53
第三节、函数的嵌套与递归54
1、函数的嵌套54
2、函数的递归55
第一章、AutoIt 初步
在本章中,我们将与您一起初步接触 AutoIt。
您将会获取一些新的概念,并写出您的第一个 AutoIt 程序,迈出您关于 AutoIt 的第一步!
第一节、为什么要学习 AutoIt
第一个问题,为什么要学习编程?
曾经有一句戏说,但颇为经典,“世界上只有两种人,懂二进制的与不懂二进制的”。
对于很多从事 IT业但非从事编程工作的人来说,编程到底有多重要?
不少朋友认为并不重要,当然,包括我在起初时也有这个感觉。
人总有属于自己的各种想法,想在计算机中实现这些想法,就必须会编程。
因为,只有编程可以最好的驾驭一台计算机,会编程可以让这个铁疙瘩死心塌地的为您做各种您想做的事。
而如果一个人有自己独特的想法,还能将这些独特的想法以编程的形式应用于计算机中,那么,这个人就会开始与众多“不懂二进制”的人渐渐的不同。
而后,随着这种“不同”的慢慢深化,最终这个“懂二进制”的人的存在意义将与“不懂二进制”的人有很大不同。
在市场人才竞争日益激烈的今天,多一个存在的理由,就是多一份生存的机会。
第二个问题,为什么要学习 AutoIt?
我曾经见过不少朋友在选择编程语言时十分的慎重,经常耗费一星期甚至一个月来比较是 C++好还是 C#好,是JAVA好还是 VB.NET好。
当然,我并不是在否定这些朋友的慎重原则,慎重总是好的。
但是,我们需要什么样的编程语言?
由于我们非从事专业编程,我们在编程上的需要一般只有两点:
(1)编写各种满足我们工作需要的小程序,让我们的工作更加自动化、方便化、快捷化,我们很少编写各种大的应用程序,毕竟我们不想抢专业编程人员的饭碗……(^_^)
(2)从学习编程到实用编程越快越好,我们可不想学三个月的 C++才刚刚知道怎么写个循环语句,我们需要更快的从学习一种语言转换到可以在实践中运用这种语言。
而以上两点,是很多“大型”编程语言所不具备的,而却是 AutoIt 所具备的。
心理学上讲,学习具有迁移性。
所谓迁移性,简单说,就是当您学会骑自行车后再学习骑摩托车不会很困难。
也就是说,当学会一种技能后,再学习与其相似或原理上相近的技能时,会十分容易上手。
不可想象一个不会骑自行车的人你忽然给他辆摩托车让他骑会怎么样?
学习骑自行车我们不仅学会了怎么让自行车动起来,更重要的是我们学会了怎么保持这种二轮交通工具的平衡。
这一点和编程语言的通用性是一样的。
我们无论学习哪种编程语言,或者以哪种编程语言开始,学习的都不仅仅是这种语言,而是一种编程习惯,一种编程算法。
习惯与算法,可以在不同的编程语言之间通用,所以大可不必计较我们现在学的是什么语言,但我们一定要计较我们在学习这种语言时学会了什么算法与习惯!
第三个问题,AutoIt 的优势在哪里?
就我个人的理解,优势主要有如下几方面:
(1)较为宽松的语法
AutoIt 的语法较为宽松,虽然一个宽松的语法环境不太利于培养规整的编程习惯,但是宽松的语法环境可以有效的提高上手的速度,更可以让很多初学者在不必过于担心语法错误的条件下专心的学习各种编程基本知识。
(2)完善的帮助文档
AutoIt 有着完善的帮助文档,而且经由汉化工作者的大量努力,AutoIt 的中文帮助文档十分的实用。
AutoIt 帮助文档中包含了大量 AutoIt 相关知识,当您忘记某一段知识时可以快速的查阅帮助文档。
有了这个帮助文档,您甚至可以不去记忆某些具体的语句内容,而是到需要时再去查阅。
(3)函数库十分丰富
AutoIt 有着大量的自带函数,并有着丰富的用户自定义函数(UDF)。
如果您在这里还不理解什么是“函数”,不要紧,我们简单的说。
例如您需要画一个三角形和一个圆形,最直接的办法是找纸和笔,依次画三角形和圆型,当然,如果您是领导,您也可以这样做:
“小张,帮我画个三角形,小李,帮我画个圆形!
”
几秒种后将会有一张画着三角形和圆形的纸出现在您面前。
这里的“小张”“小李”就是函数。
那么,在有着大量现成函数的 AutoIt 中,很多复杂的工作您只需要发号施令就可以了,不需要亲手去做。
这一点也是 AutoIt 可以快速从学习转向实践的原因之一。
(4)广泛的使用
这里的广泛,当然不如C++这种铁牌语言广泛,但是由于上文所述的AutoIt的诸多特点,让AutoIt 在很多从事 IT 业却非从事专业编程的人员中有着十分广泛的应用。
而且很多人乐于分享他们的源码,并提供帮助。
网络中也有着各种以 AutoIt 为主的专业网站,例如:
http:
//Www.AutoIt.Net.Cn/
第二节、AutoIt 的使用
1、AutoIt 的安装
AutoIt 目前总版本为 v3,这也是为什么我们现在普遍把 AutoIt v3 称为 AU3 的原因。
AU3 的最新版本您可以去 AutoIt 中文站(http:
//Www.AutoIt.Net.Cn/)中获取。
AU3 相比其他编程语言轻则几百 M 重则几GB 的大小可谓是轻盈许多,只有 30M 左右,十分方便下载与安装。
本书全文将以 AutoIt v3.2.12.0.1 版本为基础进行讲解。
当您下载到最新版本的 AU3 后,双击即可开始安装。
AU3 安装完毕后会自动启动一个 AU3 工具箱并在桌面上创建一个 SCITE 编辑器的快捷方式。
右键单击 AU3 工具箱图标,可以看到其中包含相当多的 AU3 相关工具和文档,我们在今后会经常使用到。
SCITE 编辑器是我们用来书写 AU3 源代码的编辑器,SCITE 编辑器具有对 AU3 源代码中的语句进行各种加亮显示的功能,十分方便。
2、我们的第一个 AutoIt 程序
要书写一个程序,我们就必须先新建这个程序的源码文件。
在装好 AutoIt 程序包后,在桌面上单击鼠标右键→“新建”→“AutoIt v3 脚本”,这时桌面上会出现一个“新建 AutoIt v3 脚本.au3”,为了方便记忆,我们将它改名为“First.au3”。
注意,如果您并未设置显示后缀名,“.au3”是不会显示的,当然,这不会造成什么影响。
鼠标右键单击“First.au3”→“编辑脚本(SCITE)”,这时会自动使用 SCITE 打开“First.au3”这个 AU3 脚本了。
凡是新建的 AU3 脚本文件,打开后都会有一些自带的内容,是一些提示或者常用的预编译等。
对于初学者,可以把这些完全删除。
删除后,我们在脚本中写下如下代码:
(注意,特别是对于初学者,请保证您处于英文输入状态下输入下面代码)
MsgBox(0,"First","Hello world !
")
您现在不必强求自己了解这行代码的意思,随后我们会详细的进行了解。
写完后,保存。
关闭SCITE 编辑器。
双击我们桌面上的“First.au3”,这时会弹出一个带有“Hello world !
”信息的消息框!
OK,我们的第一个 AU3 程序就这么完成了!
虽然只有一行代码,但是这将是我们驾驭计算机的开始!
3、编译 AutoIt 程序
常常听高手说“编译”,听的多了,就会对这个词产生一种莫名的敬畏感。
其实,编译是一件不那么神秘的事情。
说回我们刚才所做的,我们已经写了我们的第一个 AU3 脚本“First.au3”,在安装有 AU3 程序包的计算机中,如果我们双击“First.au3”会弹出“Hello world !
”消息框,而如果我们把“First.au3”移动到一台没有安装 AU3 程序包的计算机中,再双击“First.au3”会怎么样?
答案是不会怎么样,最多弹出一个窗口是 Windows 问你用什么才能打开“First.au3”,而不会弹出“Hello world !
”消息框,这要怎么办?
难道 AU3 脚本只能运行于安装有 AU3 程序包的计算机中?
别着急,如果我们要 AU3 脚本程序变的通用,我们要做的就是“编译”。
“编译”的意思,就是把一个源码文件转换成可执行文件,对我们的 AU3 来说,“编译”就是把 AU3 脚本转换成 EXE 可执行文件。
那要怎么编译呢?
这个也很简单,右键单击我们的“First.au3”→“编译脚本(带进度)”,片刻之后当计算机屏幕左上角一个进度结束之后,桌面上会出现一个“First.exe”,OK,编译就是这么简单一件事。
现在,我们把“First.exe”无论移动到任何安装有 Windows 的计算机里,无论是这台计算机中有没有预先安装 AU3 程序包,都可以双击运行并显示我们的“Hello world !
”
注:
UNICODE 的 AU3 程序可能不能用于 Windows 9x 系列,不过这不是问题,毕竟没多少计算机还在使用 Windows 9x 了。
通过本章的学习,我们初步认识了 AutoIt 的相关知识,了解了为何要学习 AutoIt,并且我们使用 AutoIt v3 成功的编写并编译了我们的第一个 AutoIt 程序。
虽然这些都比较简单,而且您可能还并不了解我们第一个程序里的那行语句的含义,不过不要着急,一切都还只是个开始,我们会一步步的将 AU3 的全部知识整合进我们的大脑知识库中!
第二章、AutoIt 基础
在本章中,我们将和您一起学习 AutoIt 的一些基础概念。
对基础概念的准确把握,将使您今后对 AutoIt 的学习更加得心应手!
第一节、常量与变量
1、常量
所谓常量,就是在程序运行过程中,其值不能被改变的量。
在 AutoIt 中,常量的声明方法如下:
Const <常量名><数据>
例如:
Const $PRICE=10
“Const”为常量声明关键字,声明常量前必须使用此关键字。
“$”是 AutoIt 的常变量前缀名,所有的 AutoIt 常变量名都必须以“$”作为前缀。
“PRICE”为常量名,当然这个可以根据您的喜好而更改,但是最好这个名字是有意义的。
“=10”是将“10”赋值给“PRICE”常量。
整体来讲,这行语句的意义是:
声明一个名为 PRICE 的常量,并且为其赋值 10。
关于常量名的声明有各种习惯,这里 Skyfree 我推荐您使用 C 语言中常量名的书写习惯,即将常量名中的英文字母全部大写,这样便于与变量相互区分。
当然,这仅仅是一个书写习惯而已,不按此习惯书写也不会出错。
声明多个常量时,可以分多行书写:
Const $PRICE1=10
Const $PRICE2=20
Const $PRICE3=50
也可以在同一行内书写多个:
Const $PRICE1=10,$PRICE2=20,$PRICE350
这里的逗号全部为英文逗号。
使用常量时要注意:
(1)常量一旦被声明则其值不能被改变,不要尝试在程序运行中以任何方法改变一个常量的值;
(2)常量声明时,注意不要与已存在的常量或变量的名字相重复;
(3)一个常量只能声明一次,不能多次声明。
声明常量最大的优点就是可以“一改全改”,例如程序中多处用到某物品的价格,如果价格用数值表示,当价格调整时,需要到程序全文中做多处修改,而如果用常量代表价格,则只需要修改常量的值即可。
2、变量
所谓变量,就是在程序运行过程中,其值可以被改变的量。
在程序运行的过程中“可变”是变量与常量最大的区别。
在 AutoIt 中,变量的声明方法如下:
Dim <变量名>
(还可以以“Local”或“Global”声明变量,由于牵涉其他相关内容,此后在相关章节会详细介绍,这里不加赘述)
例如:
Dim $Sky
“Dim”是变量声明关键字,声明变量前必须使用此关键字。
“$”是 AutoIt 的常变量前缀名,所有的 AutoIt 常变量名都必须以“$”作为前缀。
“Sky”为变量名,当然这个可以根据您的喜好而更改,但是最好这个名字是有意义的。
变量名声明也有一些习惯,如大写每个单词的首字母,例如$AutoIt,这样便于阅读与修改代码。
当然,这仅仅是一个书写习惯而已,不按此习惯书写也不会出错。
声明多个变量,可以分多行书写:
Dim $Sky1
Dim $Sky2
Dim $Sky3
也可以在同一行内书写多个:
Dim $Sky1,$Sky2,$Sky3
为变量赋值的方法有多种,可以在声明变量时就为其赋值:
Dim $Sky=10
也可以在声明变量后为其赋值:
Dim $Sky
$Sky=10
使用常量时要注意:
(1)变量需要先声明后赋值,不要尝试在未声明变量前就为这个变量赋值;
(2)变量在声明时,注意不要与已存在的变量或常量的名字相重复;
(3)一个变量只能被声明一次,请勿多次声明同一个变量;
(4)AutoIt 中可以不预先声明某变量,而是到需要使用时直接使用并即时声明,强烈不推荐使用这个方法,虽然在某些小程序中会带来方便,但是十分不利于养成良好的编程习惯,且在出现问题时不容易查证。
3、常量与变量共同的使用规则
(1)常量与变量声明前,必须使用与其对应的关键字:
Const 和 Dim;
(2)在 AutoIt 中,所有的常量与变量名前必须是用“$”前缀名;
(3)常量或变量名的命名规则为:
以下划线(“_”)或英文字母开头的,下划线、英文字母与数字的组合,例如“$_FreeSkyCD”,“$Beijing_2008”都是正确的;
(4)在 AutoIt 中,其实是不区分变量中英文字母大小写的,例如$SKY 和$Sky将会被认为是同一个变量,所以要严加注意不要重复使用同一个名字来声明常量或变量;
(5)常量与变量都遵循先声明后使用的原则,将“即时定义并使用”的方法抛之脑后吧,当您的编程习惯达到一定高度后再来驾驭这个方法也绝不迟;
(6)常量与变量名不宜过长;
(7)尽量使用有意义的名字作为常量或变量的名字,便于记忆与阅读。
第二节、数据类型
为了便于记忆与理解,我们将常见的数据分为不同的类型。
1、数值型数据
(1)普通的十进制数值型数据:
5、3.1415926、1.2、30 等;
(2)指数型十进制数值型数据:
1.2e3,这个等同于数学中的 1.2 乘以 10 的三次方,只不过我们在编程语言中的写法与平时不同了而已;
(3)十六进制数据:
以“0x”开头,例如 0x312、0x4fff 等(如果您还不了解什么是二进制或者十六进制等,不用着急,因为我们只在特别的时候需要这种数据,需要时XX一下也不迟)。
声明数值型数据变量的一般形式:
Dim $t=10
2、字符(串)型数据
(1)字符串数据一般用“" "”(英文的双引号)或“''”(英文的单引号)包含起来,例如:
'a'、"b"、 'FreeSkyCD.Cn'、"AutoIt.Net.Cn",英文单引号与英文双引号的使用意义是相同的,都用来说明引号中包含的是一个字符或字符串;
(2)一般情况下我们只使用双引号,而在特殊情况下,我们会将单双引号混用,例如字符串中包含英文引号,则需要这样写:
' 这个 "句子" 中包含了 "很多" 的 "双引号" ,留意到了吗?
'
也可以连续使用两个引号以表明这个引号是字符串中的,而非包含字符串所用的:
" 这个 ""句子"" 中包含了 ""很多"" 的 ""双引号"" ,看不到才怪!
"
不过为了便于阅读,建议使用单双引号混用的方法,这种方法更便于代码的阅读。
声明字符(串)型数据变量的一般形式:
Dim $t="Www. FreeSkyCD.Cn"
另,字符串一般使用“&”来联结,例如:
Dim $s1="Www."
Dim $s2="FreeSkyCD.Cn"
Dim $s
$s=$s1&$s2
则$s 的值为“Www. FreeSkyCD.Cn”
3、布尔类型数据
布尔类型值只有“true”(真)和“false”(假)两种值,是一种逻辑值,与此数据类型相关的内容会在此后讲解“选择结构程序设计”时详细讲解。
虽然我们人为的将数据类型分为多种,但是 AutoIt 的变量类型其实都是变体的,也就是说 AutoIt 的变量是没有固定类型的。
在声明一个变量时无需同时声明它将要盛放数据的数据类型,例如声明一个变量:
Dim $s
我们可以为$s赋数值类型的值,例如:
$s=1001
也可以为$s 赋字符串类型的值,例如:
$s="abc"
这为变量的使用提供了一定的方便,但也容易引起一些混乱,所以我们有一个建议:
使用一个变量只存储一个数据类型的数据。
也就是说如果这个瓶子里放过酱油了,就不要再放醋了。
如果没有特殊需要,请遵循这个建议。
常量与变量一样,也是变体的,也就是说我们可以:
Const $ST=1023
也可以:
Const $ST="Miranda"
这个与变量的声明是基本相同的,声明常量时也无需声明常量的数据类型。
AutoIt 中,任何变量如果在声明后不为其赋值,那么其默认为空字符。
第三节、算数运算相关
日常生活中我们会遇到形形色色的算数运算,在 AutoIt 中也包含很多与算数运算相关的应用。
1、算数运算符
与数学中的类似,AutoIt 的算数运算符有如下几种,当然,可能会和数学书里的写法不一样。
运算符
名称
作用
范例
+
加法运算符
用于变量或数值之间的和运算
“10+20”,结果是 30
-
减法运算符
用于变量或数值之间的差运算
“2010”,结果是10
*
乘法运算符
用于变量或数值之间的积运算
“3*5”,结果是 15
/
除法运算符
用于变量或数值之间的商运算
“12/4”,结果是 3
^
冥运算符
用于计算某个变量或数值的几次方
“2^3”,结果是 8
如上所述为程序设计中常用的算数运算,算数表达式中变量或数值结合的顺序由算数运算符优级决定,同优先级的按照从左至右的方式结合。
算数运算符的优先级与数学中的相同,从高到低依次为:
“^”、“*”和“/”、“+”和“”,例如:
1+2*3,由于“*”优先级高于“+”,所以先计算 2 和3 的积,后计算 2 乘3 的积与1 的和;
1+23,由于“+”和“”优先级相同,所以按照从左至右的结合方式,应先计算 1与 2 的和,
后计算 1 与2 的和与3 的差。
另,可以使用“()”来规定运算的优先顺序,这个也和我们在数学中是一样的,例如:
(1+2)*3,结果为 9。
2、算数运算相关函数
还有一些其他的算数计算,例如绝对值、正弦、余弦等,这些在程序设计中往往一函数的方式表达,下面介绍一些关于这些特殊运算的 AutoIt 函数:
函数名
函数语法
作用
范例
Abs
Abs(表达式)
求绝对值
“Abs(3)”,结果为3
Sin
Sin(表达式)
求正弦值,表达式为弧度值
预先将π的近似值赋值给变量$pi:
$pi=3.1415926则:
“Sin($pi/6)”,值约为0.5“Cos($pi/3)”,值约为0.5
ASin
ASin(表达式)
求反正弦值,表达式为弧度值
Cos
Cos(表达式)
求余弦值,表达式为弧度值
ACos
ACos(表达式)
求反余弦值,表达式为弧度值
Tan
Tan(表达式)
求正切值,表达式为弧度值
ATan
ATan(表达式)
求反正切值,表达式为弧度值
Round
Round(表达式[,位数])
获取某数值精确到指定位数的结果,位数省略则四舍五入取整,位数为负数则精确至小数点前规定位数
“Round(1.582, 1)”,结果为1.6“Round(123.5,1)”,结果为120
Ceiling
Ceiling(表达式)
舍弃小数部分后,取临近的最大整数(范例中 x 代表1~9)
“Ceiling(1.x)”,结果为2“Ceiling(1.x)”,结果为1
Floor
Floor(表达式)
舍弃小数部分后,取临近的最小整数(范例中 x 代表1~9)
“Floor(1.x)”,结果为 1“Floor(1.x)”,结果为2
Log
Log(表达式)
求表达式的自然对数
“Log(10)”
Exp
Exp(表达式)
以 e为底以表达式为幂的幂次方
“Exp(5)”
Mod
Mod(数值 1,数值 2)
求数值1 除以数值2 后的余数
“Mod(7,4)”,结果是 3
Sqrt
Sqrt(表达式)
求表达式的平方根
“Sqrt(9)”,结果为 3
看了这么多关于算数运算的内容,是不是有一种又回到了学生时代的感觉呢?
通过本章的学习,我们了解了 AutoIt 中最基础的知识
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AU3 教程