版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、初識AUTOIT實例001打個招呼!實例說明輸出一個對話框,向“AUTOIT打個招呼!可以說是AUTOIT最簡單的第一個程序!運行結(jié)果如圖1.1所示。圖1.1-輸出對話框程序代碼MsgBox(64,?"第一個程序",?"打個招呼:"?&?CRLF?&?你好"AUTOIT"')技術(shù)要點(1)MsgBox函數(shù)的標志參數(shù).64顯示帶“確定"按鈕+信息圖標的消息框.您可以實驗各種不同的標志值,理解各種標志值的結(jié)果.如果你想要使用一個以上的標志值,只需把必需的值相加即可,或直接用“號連接各值.(2)程序使用了“
2、crlf”作為回車換行符。使用“&”作為字符串連接符。宏指令首字符都是以“"開頭容易分辨。和普通的變量一樣,您可以在表達式中使用它們,但不能進行賦值操作.宏是已經(jīng)預設好的值包括四大類:AUTOIT相關(guān)宏,目錄宏,系統(tǒng)信息宏,時間與日期宏。相關(guān)的值可在幫助“宏指令目錄”找到。(3)字符串以一對英文雙引號括起來,也可以使用單引號括起來??梢曰旌鲜褂靡栴愋腿缫@示字符串中的雙引號用單引號括起整個字符串:你好"AUTOIT"'實例002簡單求和程序?qū)嵗f明設計一個簡單求和程序。掌握如何定義變量,賦值變量方法。運行結(jié)果如圖1.2所示。圖1.2求10+20的
3、和Dim?$i=10,$n=20,$sum=0?;聲明變量,并賦初值$sum?=?$i+$n?MsgBox(64,"一個完整的程序","計算2果:"&$sum)技術(shù)要點(1)變量是將數(shù)據(jù)存儲在內(nèi)存中,以便可以快速訪問.您可以把它想象為在內(nèi)存中的郵箱,我們可以往里面存信也可以取信。變量開頭都是使用"$”,非常容易辨認本程序使用關(guān)鍵詞“Dim”定義3個變量$i,$n,$sum,并使用“二”號分別賦值。也可以先定義再賦值。(2)使用數(shù)學運算符“+”號計算出結(jié)果并將結(jié)果賦值到$sum,$sum將得到新的值。下面列出常用數(shù)學運算符:實例003計算
4、正方形面積實例說明輸入正方形的邊長,計算正方形面積。這是一個簡單的輸入和輸出程序。運行結(jié)果如圖1.3和1.4所示。圖1.3-輸入正方形邊長圖1.4-輸出正方形面積程序代碼Dim?$a?=?InputBox("輸入","請輸入正方形邊長:”)Dim?$s?=?$a?A?2?MsgBox(64,"結(jié)果",$s)技術(shù)要點(1) 定義變量$a接收inputbox函數(shù)的返回值,其返回值是輸入的字符串。不同的函數(shù)返回值都不同,具體看函數(shù)的幫助文檔說明!實例004計算圓的面積實例說明輸入半徑并計算出圓的面積,最后在屏幕居中顯示出來。掌握常量的定義和變量的不同
5、意義。運行結(jié)果如圖1.5和1.6所示。圖1.5-輸入圓的半徑圖1.6-顯示圓的面積程序代碼Dim?Const?$PI?=?3.1415926Dim?$r?=?InputBox("計算圓的面積",?"請輸入半徑:")Dim?$x,?$y;屏幕居中顯示工具提示$x?=?DesktopWidth?/?2?$y?=?DesktopHeight?/?2ToolTip("圓面積為:"?&?$r?人?2?*?$PI,?$x,?$y,?"提示”,?1,2)?Sleep(3000)?;工具提示停留3000毫秒技術(shù)要點(1)常量使用Co
6、nst關(guān)鍵字聲明創(chuàng)建,并且必須具有初始化的值。常量同樣是以"$"開頭。跟變量不一樣它是只讀的,一旦已分配一個常數(shù),后面不能更改它的值。上面由于式的值是固定的不可以再更改,使用常量進行初始化。一般用大寫字母作為常量名用以區(qū)分變量(2) 這里使用了“工具提示”函數(shù)ToolTip來顯示圓的面積。宏DesktopWidth是屏幕的寬度值,DesktopHeight是屏幕的高度值。兩個除以2得到屏幕中間點的x,y的坐標。(3) ToolTip工具提示跟Msgbox函數(shù)的對話框不一樣,它并不會暫停程序的運行。程序把所有語句執(zhí)行完畢會自動退出,這時ToolTip工具提示框會立刻關(guān)閉。上面
7、添加了一個暫停程序的函數(shù)Sleep,將程序暫停運彳f指定的時間3000毫秒這樣ToolTip就會停留3秒再關(guān)閉。第2章選擇和分支結(jié)構(gòu)程序設計實例005比較運算實例說明認識“關(guān)系運算符”,布爾值。第一段是比較數(shù)字,第二段是比較字符串。了解不同關(guān)系運算符返回的布爾值。運行結(jié)果如圖2.1和2.2所示。圖2.1T匕較數(shù)字圖2.2-比較字符串#cs=比較你是否已成年,返回true或false#ce=|Dim?$arg?=?18Dim?$yrg?=?InputBox("輸入",?"請輸入你的年齡:")MsgBox(64,?$arg?&?"等于&qu
8、ot;?&?$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=|比較字符串,返回
9、true或false#ce=Dim?$word?=?"HelloWord"Dim?$new_word?=?InputBox("輸入",?"請輸入世界彳好英文:")If?$new_word?=?""?Then?;判斷返回值?MsgBox(16,?"函數(shù)",?"輸入失??!")?Exit?;退出程序EndIfMsgBox(64,?$word?&?"等于"?&?$new_word,?$word?=?$new_word)MsgBox(64,?$wor
10、d?&?"等于"?&?$new_word,?$word?=?$new_word)?;區(qū)分大小寫技術(shù)要點(1)單行注釋使用“;"號,而段注釋是由#comments-start開頭與#comments-end結(jié)尾,可以使用縮寫的關(guān)鍵字:枇5與枇0注釋并不會被程序執(zhí)行。關(guān)鍵的地方使用注釋是良好的習慣,便于維護和閱讀代碼。(2)關(guān)系運算符也叫比較運算符,有以下這些:關(guān)系運算符,其運算結(jié)果是一個“布爾佰”。布爾值是一個邏輯值.只有兩個布爾值存在:true(真)與false(假).在Autoit中數(shù)字0等于布爾值False其他任何數(shù)字等于布爾值True注意:空
11、字符串單獨用作比較運算時會自動轉(zhuǎn)換為0,其結(jié)果也是為False比較字符串的例子中,我們同樣使用InputBox作為輸入函數(shù),函數(shù)執(zhí)行之后會有“返回值”返回值當成功時一般會返回有效的值,而失敗時一般會返回空符IfE表達式,Then語句串或0。例子里通過“條件判斷語句”進行比較當InputBox返回值為空符串時則函數(shù)執(zhí)行失敗(按下了取消鍵或沒有輸入任何數(shù)據(jù))可以從幫助中看到返回值成功和失敗會返回什么值:注意:if-then用于執(zhí)行單條件語句,可以不需要EndIf.實例0063個數(shù)由小到大排序?qū)嵗f明任意/&入3個整數(shù),編程實現(xiàn)對這3個整數(shù)由小到大排序,并將排序后結(jié)果顯示在屏幕上。運行效果如
12、圖2.3和2.4所示。程序代碼#include?<Array.au3>#include?"console.au3"|CoutLine("請輸入三個數(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?=?Nu
13、mber($aNum3);判斷大小,交換順序If?$a?>?$b?Then?$t?=?$a?$a?=?$b?$b?=?$tEndIfIf?$a?>?$c?Then?$t?=?$a?$a?=?$c?$c?=?$tEndIfIf?$b?>?$c?Then?$t?=?$b?$b?=?$c?$c?=?$tEndIfCoutLine("從小到大排序:"?&?$a?&?","?&?$b?&?","?&?$c,?"亮紫色")System("pause"
14、)技術(shù)要點(1)#include命令包含一個外部的autoit腳本至U當前腳本中。包含文件的內(nèi)容在"#include”命令點插入到腳本-大多數(shù)情況下是在腳本的開頭,以便包含文件內(nèi)聲明的變量或常量在腳本的其它部分可用.其格式為:ttinalude”路徑文件名”Minalude文件名>包含到當前腳本的文件名,路徑可選.文件名必須是字符串不能是變量.如果使用雙引號“”,將從當前腳本目錄開始查找該文件如果使用尖括號<.>,將從包含文件庫目錄中查找該文件.(通常漢化版默認安裝的庫包含文件目錄為E:AutoIt3Include,漢化版autoit還有一個E:AutoIt3Use
15、rInclude目錄)上面例子中包含Array.au3腳本,它的代碼已插入到當前文件中,可以使用它提供的"_ArrayDisplay”函數(shù)打印數(shù)組元素。這種非內(nèi)置(需要包含文件)使用的函數(shù)叫做“自定義函數(shù)”通常叫它的英文簡寫“UDF',它通常以下劃線”開頭用以區(qū)別內(nèi)置函數(shù).Console.au3是由筆者所寫的一個用于控制臺的udf。如果大家使用的是筆者提供的版本console.au3已經(jīng)放進include目錄里。(2)本例子主要還是熟悉if的用法,交換三個數(shù)的順序。例子里將變量的值進行兩兩比較,然后將變量交換。由于變量的值重新賦值會刪除前一個值,所以需要一個臨時的變量$t作為
16、臨時保存值。就像兩杯水倒進對方的杯子里,需要一個空杯子將其中一個杯子的水臨時保存。實例007你學會了嗎實例說明通過詢問熟悉MsgBox的用法,掌握IfElselfElseEndIf勺用法。運行效果如圖2.5和2.6所示。圖2.5-詢問是否學會使用if圖2.6-選“是”彈出提示程序代碼Dim?$msg?=?MsgBox(32?+?3,?"提問",?"你學會使用if了嗎?")?;是,否,取消If?$msg?=?6?Then?MsgBox(64,?"提示",?"不錯啊,這么快就學會了!")Elself?$msg?=?7?
17、Then?If?MsgBox(32?+?4,?"提問",?"你學會使用MsgBox了嗎?")?=?6?Then?;是,否?MsgBox(64,?"提示",?"學會MsgBox也不錯了,繼續(xù)研究吧!")?Else?MsgBox(64,?"提示",?"無語,請從第一章重新看!")?EndIfElse?MsgBox(64,?"提示",?"革命尚未成功,同志們?nèi)孕枧?")EndIf技術(shù)要點(1) If的兩種形式:1. If表達式Then語句單
18、條件運行語句。當表達式結(jié)果為true時執(zhí)行then后面語句。2. If表達式Then3. ?語句4. ?.5. Elself表達式-nThen6. ?elseif語句.7. ?.8. Else9. ?else語句10. ?.11. EndIf多條件運行語句。<>表示是必寫,口表示是可選(可寫可不寫)條件表達式.果表達式為true,則執(zhí)行“語句"塊;如果不是,則執(zhí)行第一個為true的"elseif語句."塊;如果以上都不成立,則執(zhí)行"Else語句”塊.If語句允許嵌套使用.并且根據(jù)需要用圓括號組合使用實例008成績獎勵系統(tǒng)實例說明輸入用戶名和密
19、碼登錄“成績獎勵系統(tǒng)“,如果登錄成功則輸入語文和數(shù)學考試成績。如果語文考試大于80分或者數(shù)學考試大于90分則獎勵100元,否則顯示未達到要求,請下次繼續(xù)努力!運行效果如圖2.7和2.8所示。圖2.7-輸入用戶名登錄系統(tǒng)圖2.8-輸入成績獲取獎勵程序代碼#include?<Console.au3>;控制臺用作提示CoutLine("請輸入你的名字:",?"亮黃色")Dim?$name?=?Cin()?;等待輸入名字CoutLine('歡迎'?&?$name?&?'進入"成績獎勵系統(tǒng)"&
20、#39;,?"亮紅色")CoutLine('請輸入用戶名和密碼登錄系統(tǒng)(區(qū)分大小寫),?"亮青色")Dim?$UserName?=?InputBox("提示",?"請輸入用戶名:”)Dim?$PassWord?=?InputBox("提示",?"請輸入密碼:",?"",?"*")?;使用密碼字符CoutLine("正在驗證.")Sleep(2000)If?$UserName?=?"Admin"?An
21、d?$PassWord?=?"123456"?Then?CoutLine('登錄成功,請輸入語文和數(shù)學成績,?"亮青色")?Dim?$chiness?=?InputBox("提示",?"請輸入語文成績:")?Dim?$maths?=?InputBox("提示",?"請輸入數(shù)學成績:")?If?(Not?$chiness)?And?(Not?$maths)?Then?;判斷有沒有輸入?CoutLine("輸入錯誤,退出系統(tǒng)!",?"亮紅色&
22、quot;)?System("pause")|?Exit?EndIf?If?$chiness?>?80?Or?$maths?>?90?Then?CoutLine("恭喜你,得到100元獎勵!",?"亮紅色")?Else?CoutLine("未達到要求,請下次繼續(xù)努力!",?"亮紅色")?EndIfElse?CoutLine("登錄失敗,用戶名或密碼錯誤!",?"亮紅色")EndIfSystem("pause")技術(shù)要點(1)
23、本例使用邏輯運算符結(jié)合if語句完成。邏輯運算符如下:And兩個表達式全為true,其最終結(jié)果為true.OR兩邊表達式只要有一個為true,其最終結(jié)果為true.Not將true變?yōu)閒alse,false變?yōu)閠rue.(2)當表達式內(nèi)含有多個運算符時,其運算的先后順序由運算符優(yōu)先級別控制.AutoIt中運算符的優(yōu)先級如下所示.處于同一優(yōu)先級的兩種運算符,則按從左到右的順序運算.從最高到最低的優(yōu)先級:?Not?A?*/?+-?&?<><=>=<>=?AndOr?例如:2+4*10-運算結(jié)果為42,運算順序如下:4*10?(等于40)?2+40?(等于4
24、2)乘號*擁有比加號+更高的優(yōu)先級.您可以使用括號強制先計算表達式的一部分.例如:(2+4)*10-運算結(jié)果為60.(3)邏輯運算符的惰性求值:And第一個表達式為false時,其最終結(jié)果已確定為false,不會執(zhí)行第二個表達式。Or第一個表達式為true時,其最終結(jié)果已確定為true,不會執(zhí)行第二個表達式.小例子:$and1?=?True?And?MsgBox(0,?"",?"and1")?;第一個為true,執(zhí)行第二個$and2?=?False?And?MsgBox(0,?"",?"and2")?;第一個為fa
25、lse,不執(zhí)行第二個$or1?=?True?Or?MsgBox(0,?"",?"or1")?;第一個為true,不執(zhí)行第二個$or2?=?False?Or?MsgBox(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("提示",?"輸
26、入a的值:")Dim?$b?=?InputBox("提示",?"輸入b的值:");If(Mod($a,$b)=0)Or($a+$b>100)Then;?MsgBox(64,"結(jié)果",$a);Else;?MsgBox(64,"結(jié)果",$b);EndIfMsgBox(64,?"結(jié)果",?(Mod($a,?$b)?=?0)?Or?($a?+?$b?>?100)?$a?:?$b)技術(shù)要點(1)本例使用二元條件選擇語句。格式如下:如果表達式為true則返回表達式1的值。如果表達式為f
27、alse則返回表達式2的值。通??梢杂脕硖鎿QIf.Else.EndIf結(jié)構(gòu)。雖然在所有情況下沒有必要,但還是強烈建議3個表達式括在括號中.實例010工資年終調(diào)整實例說明李四的年終工作評定,如果定為A級,則工資漲500元,如果定為B級,則工資漲200元,如果定為C級工資不變,如果定為D級工資降200元,如果定為E級工資降500元.設李四原工資為5000,請用戶輸入李四的評級,然后顯示李四的工資。運行效果圖2.11和2.12所示圖2.11-輸入李四評級圖2.12-顯示李四工資程序代碼Dim?$salay?=?5000Dim?$input?=?InputBox("輸入",?&qu
28、ot;請輸入李四的評定等級(A-E)")Switch?$input?Case?"A"?$salay?+=?500?Case?"B"?$salay?+=?200?Case?"C"?;工資不變?Case?"D"?$salay?-?200?Case?"E"?$salay?-=?500?Case?Else?MsgBox(32,?"錯誤",?"只能輸入字母ABCDE")EndSwitchMsgBox(64,?"提示",?"李四
29、的工資為:"?&?$salay?&?"元")技術(shù)要點(1) Switch-Case-EndSwitch條件語句Switch表達式?Case值To值刁卜值To值刁?語句1?.?Case值To值刁,值Tofi刁?語句2?.?CaseElse?語句N?.EndSwitch1.1 根據(jù)表達式返回的值.此值將與每個case的值比較,直到找到一個匹配.如果第一個case不匹配切換值,則繼續(xù)比較其它Case節(jié)點,如果匹配,則該節(jié)Case被執(zhí)行.如果沒有匹配的case且沒有定義其它的Case,則無任何操作發(fā)生.1.2 值To值指定范圍,表達式值在兩個值之間,執(zhí)行C
30、ase后面語句值,值表達式值等于其中一個值,執(zhí)行Case后面語句下面小例子,判斷星期六日是休息日,星期1-5是工作日Dim?$date?=?""Switch?WDAY?Case?7,?1?;ifWDAY=7ORWDAY=1?$date?=?"星期六日休息”?Case?2?To?6?;ifWDAY=2ORWDAY=3ORWDAY=4ORWDAY=5ORWDAY=6?$date?=?"星期1-5工作日”EndSwitchMsgBox(64,"提示",$date)(2)例子使用了自增和自減賦值?$salay-=200相當于$salay=$salay-200表達式按照優(yōu)先級先將右邊$salay的值進行數(shù)學運算后賦值回$salay。這種賦值方法比較方便和常見的。實例011假期安排實例說明明天放假,輸入明天的溫度和天氣情況,如果溫度低于15度,在家玩游戲,否則如果天氣是“晴”或“陰”,到外面逛街,否則如果天氣是“雨”就到到電影院看戲,否則如果是其它天氣(雷,風)通常會停電,這假期沒法過。運行效果圖2.13和2.14所示圖2.13-輸入明天天氣圖2.14-顯示假期安排程序代碼#include?<MsgBoxConstants.au3>?
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工企業(yè)環(huán)?;局R課件
- 飛蛾飼養(yǎng)技術(shù)培訓課件
- 2026山東濱州市市屬事業(yè)單位招聘備考考試試題及答案解析
- 2026四川成都東部新區(qū)蘆霞衛(wèi)生院編外人員招聘3人參考考試題庫及答案解析
- 2026貴州貴陽禮物旅游產(chǎn)業(yè)發(fā)展有限公司招聘1人筆試備考試題及答案解析
- 2026中國農(nóng)業(yè)科學院農(nóng)業(yè)經(jīng)濟與發(fā)展研究所鄉(xiāng)村發(fā)展研究室編制外科研助理招聘1人參考考試題庫及答案解析
- 電氣-接地-施工方案(3篇)
- 2026山東淄博桓臺縣面向退役大學生士兵專項崗位招聘考試參考試題及答案解析
- 2026廣東佛山順德區(qū)杏壇鎮(zhèn)林文恩中學招聘臨聘教師4人備考考試試題及答案解析
- 2026江蘇連云港興榆創(chuàng)業(yè)投資有限公司對外招聘崗位開考情況說明筆試備考題庫及答案解析
- 南京醫(yī)科大學2026年招聘人事代理人員備考題庫及1套參考答案詳解
- 2026年教育平臺資源輸出協(xié)議
- 【《四旋翼飛行器坐標系及相互轉(zhuǎn)換關(guān)系分析綜述》1000字】
- 2026浙江金華市婺城區(qū)城市發(fā)展控股集團有限公司招聘59人筆試參考題庫及答案解析
- 靜脈補液課件
- 廣東深圳市鹽田高級中學2024~2025學年高一上冊1月期末考試化學試題 附答案
- 2026年輔警招聘考試試題庫附答案【完整版】
- 浙江省《檢驗檢測機構(gòu)技術(shù)負責人授權(quán)簽字人》考試題及答案
- 建筑施工風險辨識與防范措施
- 浙江省杭州地區(qū)六校2026屆化學高一第一學期期末學業(yè)水平測試試題含解析
- 2025年CFA二級估值與財務報表分析試卷(含答案)
評論
0/150
提交評論