Autoit编程例Word文件下载.docx

上传人:b****7 文档编号:21843861 上传时间:2023-02-01 格式:DOCX 页数:9 大小:27.75KB
下载 相关 举报
Autoit编程例Word文件下载.docx_第1页
第1页 / 共9页
Autoit编程例Word文件下载.docx_第2页
第2页 / 共9页
Autoit编程例Word文件下载.docx_第3页
第3页 / 共9页
Autoit编程例Word文件下载.docx_第4页
第4页 / 共9页
Autoit编程例Word文件下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

Autoit编程例Word文件下载.docx

《Autoit编程例Word文件下载.docx》由会员分享,可在线阅读,更多相关《Autoit编程例Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。

Autoit编程例Word文件下载.docx

$sum)

(1)变量是将数据存储在内存中,以便可以快速访问.您可以把它想象为在内存中的邮箱,我们可以往里面存信也可以取信。

变量开头都是使用”$”,非常容易辨认。

本程序使用关键词“Dim”定义3个变量$i,$n,$sum,并使用“=”号分别赋值。

也可以先定义再赋值。

(2)使用数学运算符“+”号计算出结果并将结果赋值到$sum,$sum将得到新的值。

下面列出常用数学运算符:

实例003计算正方形面积

输入正方形的边长,计算正方形面积。

这是一个简单的输入和输出程序。

运行结果如图1.3和1.4所示。

图1.3–输入正方形边长图1.4–输出正方形面积

$a?

InputBox("

输入"

请输入正方形边长:

)Dim?

$s?

^?

2?

结果"

$s)

(1)定义变量$a接收inputbox函数的返回值,其返回值是输入的字符串。

不同的函数返回值都不同,具体看函数的帮助文档说明!

实例004计算圆的面积

输入半径并计算出圆的面积,最后在屏幕居中显示出来。

掌握常量的定义和变量的不同意义。

运行结果如图1.5和1.6所示。

图1.5–输入圆的半径图1.6–显示圆的面积

Const?

$PI?

3.1415926Dim?

$r?

计算圆的面积"

请输入半径:

$x,?

$y;

屏幕居中显示工具提示$x?

@DesktopWidth?

/?

$y?

@DesktopHeight?

2ToolTip("

圆面积为:

*?

$PI,?

$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?

请输入你的年龄:

)MsgBox(64,?

等于"

$yrg,?

$yrg)MsgBox(64,?

不等于"

<

>

大于"

大于或等于"

小于或等于"

$yrg)#cs=================================比较字符串,返回true或false#ce=================================Dim?

$word?

HelloWord"

$new_word?

请输入世界你好英文:

)If?

Then?

判断返回值?

?

MsgBox(16,?

函数"

输入失败!

)?

Exit?

退出程序EndIfMsgBox(64,?

$new_word,?

$new_word)MsgBox(64,?

==?

$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所示。

#include?

Array.au3>

console.au3"

CoutLine("

请输入三个数字a,b,c:

亮青色"

$in?

Cin()Dim?

$aNum?

StringSplit($in,?

);

用作调试,查看数组的元素,可取消这句_ArrayDisplay($aNum,'

Debug~~~'

$a,$b,$c,$t$a?

Number($aNum[1])$b?

Number($aNum[2])$c?

Number($aNum[3]);

判断大小,交换顺序If?

$b?

$t?

$tEndIfIf?

$c?

$tEndIfCoutLine("

从小到大排序:

$c,?

亮紫色"

)System("

pause"

(1)#include命令包含一个外部的autoit脚本到当前脚本中。

包含文件的内容在"

#include"

命令点插入到脚本-大多数情况下是在脚本的开头,以便包含文件内声明的变量或常量在脚本的其它部分可用.其格式为:

包含到当前脚本的文件名,路径可选.文件名必须是字符串,不能是变量.如果使用双引号"

..."

将从当前脚本目录开始查找该文件如果使用尖括号<

...>

将从包含文件库目录中查找该文件.(通常汉化版默认安装的库包含文件目录为E:

\AutoIt3\Include,汉化版autoit还有一个E:

\AutoIt3\UserInclude目录)

上面例子中包含Array.au3脚本,它的代码已插入到当前文件中,可以使用它提供的“_ArrayDisplay”函数打印数组元素。

这种非内置(需要包含文件)使用的函数叫做“自定义函数”通常叫它的英文简写”UDF”,它通常以下划线”_”开头用以区别内置函数.

Console.au3是由笔者所写的一个用于控制台的udf。

如果大家使用的是笔者提供的版本console.au3已经放进include目录里。

(2)本例子主要还是熟悉if的用法,交换三个数的顺序。

例子里将变量的值进行两两比较,然后将变量交换。

由于变量的值重新赋值会删除前一个值,所以需要一个临时的变量$t作为临时保存值。

就像两杯水倒进对方的杯子里,需要一个空杯子将其中一个杯子的水临时保存。

实例007你学会了吗

通过询问熟悉MsgBox的用法,掌握If...ElseIf...Else...EndIf的用法。

运行效果如图2.5和2.6所示。

图2.5–询问是否学会使用if

图2.6–选“是”弹出提示

$msg?

MsgBox(32?

+?

3,?

提问"

你学会使用if了吗?

是,否,取消If?

6?

MsgBox(64,?

不错啊,这么快就学会了!

)ElseIf?

7?

If?

4,?

你学会使用MsgBox了吗?

是,否?

学会MsgBox也不错了,继续研究吧!

Else?

无语,请从第一章重新看!

EndIfElse?

革命尚未成功,同志们仍需努力!

)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–输入成绩获取奖励

#include 

Console.au3>

控制台用作提示CoutLine("

请输入你的名字:

 

亮黄色"

)Dim 

$name 

Cin() 

等待输入名字CoutLine('

欢迎'

进入"

成绩奖励系统"

亮红色"

)CoutLine('

请输入用户名和密码登录系统(区分大小写)'

$UserName 

请输入用户名:

$PassWord 

请输入密码:

*"

) 

使用密码字符CoutLine("

正在验证..."

)Sleep(2000)If 

== 

Admin"

And 

123456"

Then 

 

CoutLine('

登录成功,请输入语文和数学成绩'

Dim 

$chiness 

请输入语文成绩:

$maths 

请输入数学成绩:

If 

(Not 

$chiness) 

$maths) 

判断有没有输入 

输入错误,退出系统!

System("

Exit 

EndIf 

80 

Or 

90 

恭喜你,得到100元奖励!

Else 

未达到要求,请下次继续努力!

EndIfElse 

登录失败,用户名或密码错误!

)EndIfSystem("

(1)本例使用逻辑运算符结合if语句完成。

逻辑运算符如下:

And两个表达式全为true,其最终结果为true.

OR两边表达式只要有一个为true,其最终结果为true.

Not将true变为false,false变为true.

(2)当表达式内含有多个运算符时,其运算的先后顺序由运算符优先级别控制.AutoIt中运算符的优先级如下所示.处于同一优先级的两种运算符,则按从左到右的顺序运算.

从最高到最低的优先级:

Not 

*/ 

+- 

&

<

>

=>

==<

== 

AndOr 

例如:

2+4*10---运算结果为42,运算顺序如下:

4*10 

(等于40)

2+40 

(等于42)

乘号*拥有比加号+更高的优先级.

您可以使用括号强制先计算表达式的一部分.

(2+4)*10---运算结果为60.

(3)逻辑运算符的惰性求值:

And第一个表达式为false时,其最终结果已确定为false,不会执行第二个表达式。

Or第一个表达式为true时,其最终结果已确定为true,不会执行第二个表达式.

小例子:

$and1 

True 

MsgBox(0, 

and1"

第一个为true,执行第二个$and2 

False 

and2"

第一个为false,不执行第二个$or1 

or1"

第一个为true,不执行第二个$or2 

or2"

第一个为false,执行第二个

实例009二元条件选择

要求用户输入两个数a,b。

如果a能被b整除或者a加b大于100,则输出a的值,否则输出b的值。

运行效果如图2.9和2.10所示。

图2.9-输入a的值图2.10–输出结果

$a 

输入a的值:

$b 

输入b的值:

~If((Mod($a,$b)=0)Or($a+$b>

100))Then;

$a);

~Else;

$b);

~EndIfMsgBox(64, 

((Mod($a, 

$b) 

0) 

($a 

100)) 

:

$b)

(1)本例使用二元条件选择语句。

格式如下:

如果表达式为true则返回表达式1的值。

如果表达式为false则返回表达式2的值。

通常可以用来替换If...Else...EndIf结构。

虽然在所有情况下没有必要,但还是强烈建议3个表达式括在括号中.

实例010工资年终调整

李四的年终工作评定,如果定为A级,则工资涨500元,如果定为B级,则工资涨200元,如果定为C级工资不变,如果定为D级工资降200元,如果定为E级工资降500元.

设李四原工资为5000,请用户输入李四的评级,然后显示李四的工资。

运行效果图2.11和2.12所示

图2.11–输入李四评级图2.12–显示李四工资

$salay 

5000Dim 

$input 

请输入李四的评定等级(A-E)"

)Switch 

Case 

A"

+= 

500 

B"

200 

C"

工资不变 

D"

-= 

E"

MsgBox(32, 

错误"

只能输入字母ABCDE"

)EndSwitchMsgBox(64, 

李四的工资为:

元"

(1)Switch…Case…EndSwitch条件语句

Switch<

Case<

值>

[To<

][,<

]...] 

语句1 

... 

[Case<

语句2 

...] 

[CaseElse 

语句N 

...]EndSwitch

1.1根据表达式返回的值.此值将与每个case的值比较,直到找到一个匹配.

如果第一个case不匹配切换值,则继续比较其它Case节点,如果匹配,则该节Case被执行.如果没有匹配的case且没有定义其它的Case,则无任何操作发生.

1.2值To值指定范围,表达式值在两个值之间,执行Case后面语句

值,值…表达式值等于其中一个值,执行Case后面语句

下面小例子,判断星期六日是休息日,星期1-5是工作日

$date 

Switch 

@WDAY 

7, 

if@WDAY=7OR@WDAY=1 

星期六日休息"

To 

if@WDAY=2OR@WDAY=3OR@WDAY=4OR@WDAY=5OR@WDAY=6 

星期1-5工作日"

EndSwitchMsgBox(64,"

$date)

(2)例子使用了自增和自减赋值

$salay-=200相当于$salay=$salay-200表达式按照优先级先将右边$salay的值进行数学运算后赋值回$salay。

这种赋值方法比较方便和常见的。

实例011假期安排

明天放假,输入明天的温度和天气情况,如果温度低于15度,在家玩游戏,否则如果天气是“晴”或“阴”,到外面逛街,否则如果天气是“雨”就到到电影院看戏,否则如果是其它天气(雷,风)通常会停电,这假期没法过。

运行效果图2.13和2.14所示

图2.13–输入明天天气图2.14–显示假期安排

MsgBoxConstants.au3>

MsgBox常量定义Dim 

$tem 

请输入明天温度:

$wea 

请输入明天天气:

)Select 

15 

温度低于15度 

MsgBox($MB_ICONINFORMATION,"

郁闷"

太冷只能在家玩游戏!

晴"

阴"

高兴"

到外面逛街!

雨"

还好"

到电影院看戏!

风,雷 

愤怒"

电都停了,这假期没法过!

)EndSelect

(1)Select…Case…EndSelect条件语句

Select 

表达式1>

表达式2>

表达式n>

语句n 

Else语句 

...]EndSelect

1.1执行多条件判断,Case表达式为真则执行语句,如果有多个Case表达式成立,则只执行第一个Case语句.

1.2表达式可以包含布尔运算符:

AND,OR,或NOT以及逻辑运算符:

<

=,>

>

=,=,==,与<

.根据需要可以用圆括号组合使用.

(2)无论是switch或select都是可以使用if语句来替换。

但是使用它们会使分支结构更加清淅,易于阅读!

备注

通常在Select或Switch结构中,当遇到下一个Case语句时,则结束当前Case块中的代码.运行ContinueCase通知AutoIt停止当前Case代码块的执行,并开始执行下一个Case代码块.AutoIt不进行下一个Case语句的比较-仅运行块内的代码.试图在Sele

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1