Autoit經(jīng)典編程100例_第1頁
Autoit經(jīng)典編程100例_第2頁
Autoit經(jīng)典編程100例_第3頁
Autoit經(jīng)典編程100例_第4頁
Autoit經(jīng)典編程100例_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第1章 初識AUTOIT實例001 打個招呼!實例說明輸出一個對話框,向“AUTOIT”打個招呼!可以說是AUTOIT最簡單的第一個程序!運行結(jié)果如圖1.1所示。圖1.1 輸出對話框程序代碼MsgBox(64,第一個程序,打個招呼:&CRLF&你好AUTOIT)技術(shù)要點(1) MsgBox 函數(shù)的標(biāo)志參數(shù).64顯示帶 確定 按鈕 + 信息圖標(biāo)的消息框.您可以實驗各種不同的標(biāo)志值, 理解各種標(biāo)志值的結(jié)果. 如果你想要使用一個以上的標(biāo)志值, 只需把必需的值相加即可, 或直接用“+”號連接各值.(2) 程序使用了“crlf”作為回車換行符。使用“&”作為字符串連接符。宏指令首字符都是以”開頭容易分辨

2、。和普通的變量一樣, 您可以在表達(dá)式中使用它們, 但不能進(jìn)行賦值操作.宏是已經(jīng)預(yù)設(shè)好的值包括四大類:AUTOIT相關(guān)宏,目錄宏,系統(tǒng)信息宏,時間與日期宏。相關(guān)的值可在幫助“宏指令目錄”找到。(3) 字符串以一對英文雙引號括起來,也可以使用單引號括起來??梢曰旌鲜褂靡栴愋腿缫@示字符串中的雙引號用單引號括起整個字符串 :你好AUTOIT實例002 簡單求和程序?qū)嵗f明設(shè)計一個簡單求和程序。掌握如何定義變量,賦值變量方法。運行結(jié)果如圖1.2所示。圖1.2 求10+20的和程序代碼Dim$i=10,$n=20,$sum=0;聲明變量,并賦初值$sum=$i+$nMsgBox(64,一個完整的程序,

3、計算結(jié)果: &$sum)技術(shù)要點(1) 變量是將數(shù)據(jù)存儲在內(nèi)存中, 以便可以快速訪問. 您可以把它想象為在內(nèi)存中的郵箱, 我們可以往里面存信也可以取信。變量開頭都是使用”$”,非常容易辨認(rèn)。本程序使用關(guān)鍵詞“Dim” 定義3個變量$i,$n,$sum,并使用“=”號分別賦值。也可以先定義再賦值。(2) 使用數(shù)學(xué)運算符“+”號計算出結(jié)果并將結(jié)果賦值到$sum,$sum將得到新的值。下面列出常用數(shù)學(xué)運算符:實例003 計算正方形面積實例說明輸入正方形的邊長,計算正方形面積。這是一個簡單的輸入和輸出程序。運行結(jié)果如圖1.3和1.4所示。 圖1.3 輸入正方形邊長圖1.4 輸出正方形面積程序代碼Dim

4、$a=InputBox(輸入,請輸入正方形邊長:)Dim$s=$a2MsgBox(64,結(jié)果,$s)技術(shù)要點(1) 定義變量$a接收inputbox函數(shù)的返回值,其返回值是輸入的字符串。不同的函數(shù)返回值都不同,具體看函數(shù)的幫助文檔說明!實例004 計算圓的面積實例說明輸入半徑并計算出圓的面積,最后在屏幕居中顯示出來。掌握常量的定義和變量的不同意義。運行結(jié)果如圖1.5和1.6所示。 圖1.5 輸入圓的半徑圖1.6 顯示圓的面積程序代碼DimConst$PI=3.Dim$r=InputBox(計算圓的面積,請輸入半徑:)Dim$x,$y;屏幕居中顯示工具提示$x=DesktopWidth/2$y=

5、DesktopHeight/2ToolTip(圓面積為:&$r2*$PI,$x,$y,提示,1,2)Sleep(3000);工具提示停留3000毫秒技術(shù)要點(1) 常量使用 Const 關(guān)鍵字聲明創(chuàng)建, 并且必須具有初始化的值。常量同樣是以”$”開頭。跟變量不一樣它是只讀的,一旦已分配一個常數(shù),后面不能更改它的值。上面由于的值是固定的不可以再更改,使用常量進(jìn)行初始化。一般用大寫字母作為常量名用以區(qū)分變量(2) 這里使用了“工具提示”函數(shù)ToolTip來顯示圓的面積。宏DesktopWidth是屏幕的寬度值,DesktopHeight是屏幕的高度值。兩個除以2得到屏幕中間點的x,y的坐標(biāo)。(3)

6、 ToolTip工具提示跟Msgbox函數(shù)的對話框不一樣,它并不會暫停程序的運行。程序把所有語句執(zhí)行完畢會自動退出,這時ToolTip工具提示框會立刻關(guān)閉。上面添加了一個暫停程序的函數(shù)Sleep,將程序暫停運行指定的時間3000毫秒。這樣ToolTip就會停留3秒再關(guān)閉。第2章 選擇和分支結(jié)構(gòu)程序設(shè)計實例005 比較運算實例說明認(rèn)識“關(guān)系運算符”,布爾值。第一段是比較數(shù)字,第二段是比較字符串。了解不同關(guān)系運算符返回的布爾值。運行結(jié)果如圖2.1和2.2所示。 圖2.1 比較數(shù)字 圖2.2 比較字符串程序代碼#cs =比較你是否已成年,返回true或false#ce =Dim$arg=18Dim$

7、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=Hello WordDim$new_word=InputBox(輸入,請輸入世界你好英文:)If$new_word=Then;判斷返回值

8、 MsgBox(16,函數(shù),輸入失?。? Exit;退出程序EndIfMsgBox(64,$word&等于&$new_word,$word=$new_word)MsgBox(64,$word&等于&$new_word,$word=$new_word);區(qū)分大小寫技術(shù)要點(1) 單行注釋使用”;”號,而段注釋是由#comments-start 開頭與 #comments-end 結(jié)尾,可以使用縮寫的關(guān)鍵字: #cs 與 #ce.注釋并不會被程序執(zhí)行。關(guān)鍵的地方使用注釋是良好的習(xí)慣,便于維護(hù)和閱讀代碼。(2) 關(guān)系運算符也叫比較運算符,有以下這些:關(guān)系運算符,其運算結(jié)果是一個“布爾值”。 布爾值是

9、一個邏輯值. 只有兩個布爾值存在: true (真)與 false(假).在Autoit中數(shù)字 0 等于布爾值 False其他任何數(shù)字等于布爾值 True注意:空字符串單獨用作比較運算時會自動轉(zhuǎn)換為0,其結(jié)果也是為False比較字符串的例子中,我們同樣使用InputBox作為輸入函數(shù),函數(shù)執(zhí)行之后會有“返回值”.返回值當(dāng)成功時一般會返回有效的值,而失敗時一般會返回空符串或0。例子里通過“條件判斷語句” 進(jìn)行比較當(dāng)InputBox返回值為空符串時則函數(shù)執(zhí)行失?。ò聪铝巳∠I或沒有輸入任何數(shù)據(jù))可以從幫助中看到返回值成功和失敗會返回什么值:注意:ifthen用于執(zhí)行單條件語句,可以不需要 EndI

10、f.實例006 3個數(shù)由小到大排序?qū)嵗f明任意輸入3個整數(shù),編程實現(xiàn)對這3個整數(shù)由小到大排序,并將排序后結(jié)果顯示在屏幕上。運行效果如圖2.3和2.4所示。 程序代碼#include#includeconsole.au3CoutLine(請輸入三個數(shù)字a,b,c:,亮青色)Dim$in=Cin()Dim$aNum=StringSplit($in,);用作調(diào)試,查看數(shù)組的元素,可取消這句_ArrayDisplay($aNum,Debug)Dim$a,$b,$c,$t$a=Number($aNum1)$b=Number($aNum2)$c=Number($aNum3);判斷大小,交換順序If$a$b

11、Then $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)技術(shù)要點(1) #include命令包含一個外部的autoit腳本到當(dāng)前腳本中。包含文件的內(nèi)容在 #include 命令點插入到腳本 - 大多數(shù)情況下是在腳本的開頭, 以便包含文件內(nèi)聲明的變量或常量在腳本的其它部分可用.其格式為:包含到當(dāng)前腳本的文件名, 路徑可選. 文件名必須是字符串, 不能是變量.如果使用雙引號 .

12、, 將從當(dāng)前腳本目錄開始查找該文件如果使用尖括號 , 將從包含文件庫目錄中查找該文件.(通常漢化版默認(rèn)安裝的庫包含文件目錄為 E:AutoIt3Include,漢化版autoit還有一個E:AutoIt3UserInclude目錄)上面例子中包含Array.au3腳本,它的代碼已插入到當(dāng)前文件中,可以使用它提供的“_ArrayDisplay”函數(shù)打印數(shù)組元素。這種非內(nèi)置(需要包含文件)使用的函數(shù)叫做“自定義函數(shù)”通常叫它的英文簡寫”UDF”,它通常以下劃線”_”開頭用以區(qū)別內(nèi)置函數(shù).Console.au3是由筆者所寫的一個用于控制臺的udf。如果大家使用的是筆者提供的autoit3.3.10.

13、2版本console.au3已經(jīng)放進(jìn)include目錄里。(2) 本例子主要還是熟悉if的用法,交換三個數(shù)的順序。例子里將變量的值進(jìn)行兩兩比較,然后將變量交換。由于變量的值重新賦值會刪除前一個值,所以需要一個臨時的變量$t作為臨時保存值。就像兩杯水倒進(jìn)對方的杯子里,需要一個空杯子將其中一個杯子的水臨時保存。實例007 你學(xué)會了嗎實例說明通過詢問熟悉MsgBox的用法,掌握If.ElseIf.Else.EndIf 的用法。運行效果如圖2.5和2.6所示。 圖2.5 詢問是否學(xué)會使用if圖2.6 選“是”彈出提示程序代碼Dim$msg=MsgBox(32+3,提問,你學(xué)會使用if了嗎?);是,否,

14、取消If$msg=6Then MsgBox(64,提示,不錯啊,這么快就學(xué)會了!)ElseIf$msg=7Then IfMsgBox(32+4,提問,你學(xué)會使用MsgBox了嗎?)=6Then;是,否 MsgBox(64,提示,學(xué)會MsgBox也不錯了,繼續(xù)研究吧!) Else MsgBox(64,提示,無語,請從第一章重新看!) EndIfElse MsgBox(64,提示,革命尚未成功,同志們?nèi)孕枧?)EndIf技術(shù)要點(1) If的兩種形式:1. If Then 語句 單條件運行語句。當(dāng)表達(dá)式結(jié)果為true時執(zhí)行then后面語句。2. If Then 語句 .ElseIf 表達(dá)式-n

15、Then elseif 語句 . .Else else 語句 .EndIf多條件運行語句。表示是必寫,表示是可選(可寫可不寫)條件表達(dá)式.果表達(dá)式為 true, 則執(zhí)行 語句 塊;如果不是, 則執(zhí)行第一個為true 的 elseif 語句 . 塊;如果以上都不成立, 則執(zhí)行 Else 語句 塊.If 語句允許嵌套使用.并且根據(jù)需要用圓括號組合使用實例008 成績獎勵系統(tǒng)實例說明輸入用戶名和密碼登錄“成績獎勵系統(tǒng)“,如果登錄成功則輸入語文和數(shù)學(xué)考試成績。如果語文考試大于80分或者數(shù)學(xué)考試大于90分則獎勵100元,否則顯示未達(dá)到要求,請下次繼續(xù)努力!運行效果如圖2.7和2.8所示。圖2.7 - 輸

16、入用戶名登錄系統(tǒng)圖2.8 輸入成績獲取獎勵程序代碼#include;控制臺用作提示CoutLine(請輸入你的名字:,亮黃色)Dim$name=Cin();等待輸入名字CoutLine(歡迎&$name&進(jìn)入成績獎勵系統(tǒng),亮紅色)CoutLine(請輸入用戶名和密碼登錄系統(tǒng)(區(qū)分大小寫),亮青色)Dim$UserName=InputBox(提示,請輸入用戶名:)Dim$PassWord=InputBox(提示,請輸入密碼:,*);使用密碼字符CoutLine(正在驗證.)Sleep(2000)If$UserName=AdminAnd$PassWord=Then CoutLine(登錄成功,請輸

17、入語文和數(shù)學(xué)成績,亮青色) Dim$chiness=InputBox(提示,請輸入語文成績:) Dim$maths=InputBox(提示,請輸入數(shù)學(xué)成績:) If(Not$chiness)And(Not$maths)Then;判斷有沒有輸入 CoutLine(輸入錯誤,退出系統(tǒng)!,亮紅色) System(pause) Exit EndIf If$chiness80Or$maths90Then CoutLine(恭喜你,得到100元獎勵!,亮紅色) Else CoutLine(未達(dá)到要求,請下次繼續(xù)努力!,亮紅色) EndIfElse CoutLine(登錄失敗,用戶名或密碼錯誤!,亮紅色)E

18、ndIfSystem(pause)技術(shù)要點(1) 本例使用邏輯運算符結(jié)合if語句完成。邏輯運算符如下:And 兩個表達(dá)式全為true,其最終結(jié)果為true.OR 兩邊表達(dá)式只要有一個為true,其最終結(jié)果為true.Not 將true變?yōu)閒alse,false變?yōu)閠rue.(2) 當(dāng)表達(dá)式內(nèi)含有多個運算符時, 其運算的先后順序由運算符優(yōu)先級別控制. AutoIt 中運算符的優(yōu)先級如下所示. 處于同一優(yōu)先級的兩種運算符, 則按從左到右的順序運算.從最高到最低的優(yōu)先級: Not * / + - & = = = And Or例如: 2 + 4 * 10 - 運算結(jié)果為 42, 運算順序如下:4 *

19、10 (等于 40) 2 + 40 (等于 42)乘號 * 擁有比加號 + 更高的優(yōu)先級.您可以使用括號強制先計算表達(dá)式的一部分.例如: (2 + 4) * 10 - 運算結(jié)果為 60.(3) 邏輯運算符的惰性求值:And 第一個表達(dá)式為false時,其最終結(jié)果已確定為false,不會執(zhí)行第二個表達(dá)式。Or 第一個表達(dá)式為true時,其最終結(jié)果已確定為true,不會執(zhí)行第二個表達(dá)式.小例子:$and1=TrueAndMsgBox(0,and1);第一個為true,執(zhí)行第二個$and2=FalseAndMsgBox(0,and2);第一個為false,不執(zhí)行第二個$or1=TrueOrMsgBo

20、x(0,or1);第一個為true,不執(zhí)行第二個$or2=FalseOrMsgBox(0,or2);第一個為false,執(zhí)行第二個實例009 二元條件選擇實例說明要求用戶輸入兩個數(shù)a,b。如果a能被b整除或者a加b大于100,則輸出a的值,否則輸出b的值。運行效果如圖2.9和2.10所示。 圖2.9 - 輸入a的值圖2.10 輸出結(jié)果程序代碼Dim$a=InputBox(提示,輸入a的值:)Dim$b=InputBox(提示,輸入b的值:); If ( (Mod($a,$b)=0) Or ($a + $b 100) ) Then; MsgBox(64,結(jié)果,$a); Else; MsgBox(

21、64,結(jié)果,$b); EndIfMsgBox(64,結(jié)果,(Mod($a,$b)=0)Or($a+$b100)?$a:$b)技術(shù)要點(1) 本例使用二元條件選擇語句。格式如下:如果表達(dá)式為true則返回表達(dá)式1的值。如果表達(dá)式為false則返回表達(dá)式2的值。通??梢杂脕硖鎿QIf.Else.EndIf 結(jié)構(gòu)。雖然在所有情況下沒有必要, 但還是強烈建議 3 個表達(dá)式括在括號中.實例010 工資年終調(diào)整實例說明李四的年終工作評定,如果定為A級,則工資漲500元,如果定為B級,則工資漲200元, 如果定為C級工資不變, 如果定為D級工資降200元,如果定為E級工資降500元.設(shè)李四原工資為5000,請

22、用戶輸入李四的評級,然后顯示李四的工資。運行效果圖2.11和2.12所示 圖2.11 輸入李四評級 圖2.12 顯示李四工資程序代碼Dim$salay=5000Dim$input=InputBox(輸入,請輸入李四的評定等級(A-E)Switch$input CaseA $salay+=500 CaseB $salay+=200 CaseC ;工資不變 CaseD $salay-=200 CaseE $salay-=500 CaseElse MsgBox(32,錯誤,只能輸入字母ABCDE)EndSwitchMsgBox(64,提示,李四的工資為:&$salay&元)技術(shù)要點(1) Switc

23、hCaseEndSwitch 條件語句Switch Case To , To . 語句 1 . Case To , To . 語句 2 . Case Else 語句 N .EndSwitch1.1根據(jù)表達(dá)式返回的值. 此值將與每個 case 的值比較, 直到找到一個匹配.如果第一個 case 不匹配切換值, 則繼續(xù)比較其它 Case 節(jié)點, 如果匹配, 則該節(jié) Case 被執(zhí)行.如果沒有匹配的 case 且沒有定義其它的 Case, 則無任何操作發(fā)生.1.2 值 To 值 指定范圍,表達(dá)式值在兩個值之間,執(zhí)行Case后面語句 值,值 表達(dá)式值等于其中一個值,執(zhí)行Case后面語句下面小例子,判斷

24、星期六日是休息日,星期1-5是工作日Dim$date=SwitchWDAY Case7,1; if WDAY = 7 OR WDAY = 1 $date=星期六日休息 Case2To6; if WDAY = 2 OR WDAY = 3 OR WDAY = 4 OR WDAY = 5 OR WDAY = 6 $date=星期1-5工作日EndSwitchMsgBox(64,提示,$date)(2)例子使用了自增和自減賦值$salay -= 200 相當(dāng)于 $salay = $salay - 200 表達(dá)式按照優(yōu)先級先將右邊$salay的值進(jìn)行數(shù)學(xué)運算后賦值回$salay。這種賦值方法比較方便和常見的。實例011 假期安排實例說明明天放假,輸入明天的溫度和天氣情況,如果溫度低于15度,在家玩游戲,否則如果天氣是“晴”或“陰”, 到外面逛街,否則如果天氣是“雨”就到到電影院看戲,否則如果是其它天氣(雷,風(fēng))通常會停電,這假期沒法過。運行效果圖2.13和2.14所示 圖2.13 輸入明天天氣圖2.14 顯示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論