utt經典編程例_第1頁
utt經典編程例_第2頁
utt經典編程例_第3頁
utt經典編程例_第4頁
utt經典編程例_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、初識AUTOIT實例001打個招呼!實例說明輸出一個對話框,向“AUTOIT打個招呼!可以說是AUTOIT最簡單的第一個程序!運行結果如圖1.1所示。圖1.1-輸出對話框程序代碼MsgBox(64,?"第一個程序",?"打個招呼:"?&?CRLF?&?你好"AUTOIT"')技術要點(1)MsgBox函數的標志參數.64顯示帶“確定"按鈕+信息圖標的消息框.您可以實驗各種不同的標志值,理解各種標志值的結果.如果你想要使用一個以上的標志值,只需把必需的值相加即可,或直接用“號連接各值.(2)程序使用了“

2、crlf”作為回車換行符。使用“&”作為字符串連接符。宏指令首字符都是以“"開頭容易分辨。和普通的變量一樣,您可以在表達式中使用它們,但不能進行賦值操作.宏是已經預設好的值包括四大類:AUTOIT相關宏,目錄宏,系統信息宏,時間與日期宏。相關的值可在幫助“宏指令目錄”找到。(3)字符串以一對英文雙引號括起來,也可以使用單引號括起來。可以混合使用引號類型如要顯示字符串中的雙引號用單引號括起整個字符串:你好"AUTOIT"'實例002簡單求和程序實例說明設計一個簡單求和程序。掌握如何定義變量,賦值變量方法。運行結果如圖1.2所示。圖1.2求10+20的

3、和Dim?$i=10,$n=20,$sum=0?;聲明變量,并賦初值$sum?=?$i+$n?MsgBox(64,"一個完整的程序","計算2果:"&$sum)技術要點(1)變量是將數據存儲在內存中,以便可以快速訪問.您可以把它想象為在內存中的郵箱,我們可以往里面存信也可以取信。變量開頭都是使用"$”,非常容易辨認本程序使用關鍵詞“Dim”定義3個變量$i,$n,$sum,并使用“二”號分別賦值。也可以先定義再賦值。(2)使用數學運算符“+”號計算出結果并將結果賦值到$sum,$sum將得到新的值。下面列出常用數學運算符:實例003計算

4、正方形面積實例說明輸入正方形的邊長,計算正方形面積。這是一個簡單的輸入和輸出程序。運行結果如圖1.3和1.4所示。圖1.3-輸入正方形邊長圖1.4-輸出正方形面積程序代碼Dim?$a?=?InputBox("輸入","請輸入正方形邊長:”)Dim?$s?=?$a?A?2?MsgBox(64,"結果",$s)技術要點(1) 定義變量$a接收inputbox函數的返回值,其返回值是輸入的字符串。不同的函數返回值都不同,具體看函數的幫助文檔說明!實例004計算圓的面積實例說明輸入半徑并計算出圓的面積,最后在屏幕居中顯示出來。掌握常量的定義和變量的不同

5、意義。運行結果如圖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毫秒技術要點(1)常量使用Co

6、nst關鍵字聲明創建,并且必須具有初始化的值。常量同樣是以"$"開頭。跟變量不一樣它是只讀的,一旦已分配一個常數,后面不能更改它的值。上面由于式的值是固定的不可以再更改,使用常量進行初始化。一般用大寫字母作為常量名用以區分變量(2) 這里使用了“工具提示”函數ToolTip來顯示圓的面積。宏DesktopWidth是屏幕的寬度值,DesktopHeight是屏幕的高度值。兩個除以2得到屏幕中間點的x,y的坐標。(3) ToolTip工具提示跟Msgbox函數的對話框不一樣,它并不會暫停程序的運行。程序把所有語句執行完畢會自動退出,這時ToolTip工具提示框會立刻關閉。上面

7、添加了一個暫停程序的函數Sleep,將程序暫停運彳f指定的時間3000毫秒這樣ToolTip就會停留3秒再關閉。第2章選擇和分支結構程序設計實例005比較運算實例說明認識“關系運算符”,布爾值。第一段是比較數字,第二段是比較字符串。了解不同關系運算符返回的布爾值。運行結果如圖2.1和2.2所示。圖2.1T匕較數字圖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,?"函數",?"輸入失敗!")?Exit?;退出程序EndIfMsgBox(64,?$word?&?"等于"?&?$new_word,?$word?=?$new_word)MsgBox(64,?$wor

10、d?&?"等于"?&?$new_word,?$word?=?$new_word)?;區分大小寫技術要點(1)單行注釋使用“;"號,而段注釋是由#comments-start開頭與#comments-end結尾,可以使用縮寫的關鍵字:枇5與枇0注釋并不會被程序執行。關鍵的地方使用注釋是良好的習慣,便于維護和閱讀代碼。(2)關系運算符也叫比較運算符,有以下這些:關系運算符,其運算結果是一個“布爾佰”。布爾值是一個邏輯值.只有兩個布爾值存在:true(真)與false(假).在Autoit中數字0等于布爾值False其他任何數字等于布爾值True注意:空

11、字符串單獨用作比較運算時會自動轉換為0,其結果也是為False比較字符串的例子中,我們同樣使用InputBox作為輸入函數,函數執行之后會有“返回值”返回值當成功時一般會返回有效的值,而失敗時一般會返回空符IfE表達式,Then語句串或0。例子里通過“條件判斷語句”進行比較當InputBox返回值為空符串時則函數執行失敗(按下了取消鍵或沒有輸入任何數據)可以從幫助中看到返回值成功和失敗會返回什么值:注意:if-then用于執行單條件語句,可以不需要EndIf.實例0063個數由小到大排序實例說明任意/&入3個整數,編程實現對這3個整數由小到大排序,并將排序后結果顯示在屏幕上。運行效果如

12、圖2.3和2.4所示。程序代碼#include?<Array.au3>#include?"console.au3"|CoutLine("請輸入三個數字a,b,c:",?"亮青色")Dim?$in?=?Cin()Dim?$aNum?=?StringSplit($in,?",");用作調試,查看數組的元素,可取消這句_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、)技術要點(1)#include命令包含一個外部的autoit腳本至U當前腳本中。包含文件的內容在"#include”命令點插入到腳本-大多數情況下是在腳本的開頭,以便包含文件內聲明的變量或常量在腳本的其它部分可用.其格式為:ttinalude”路徑文件名”Minalude文件名>包含到當前腳本的文件名,路徑可選.文件名必須是字符串不能是變量.如果使用雙引號“”,將從當前腳本目錄開始查找該文件如果使用尖括號<.>,將從包含文件庫目錄中查找該文件.(通常漢化版默認安裝的庫包含文件目錄為E:AutoIt3Include,漢化版autoit還有一個E:AutoIt3Use

15、rInclude目錄)上面例子中包含Array.au3腳本,它的代碼已插入到當前文件中,可以使用它提供的"_ArrayDisplay”函數打印數組元素。這種非內置(需要包含文件)使用的函數叫做“自定義函數”通常叫它的英文簡寫“UDF',它通常以下劃線”開頭用以區別內置函數.Console.au3是由筆者所寫的一個用于控制臺的udf。如果大家使用的是筆者提供的版本console.au3已經放進include目錄里。(2)本例子主要還是熟悉if的用法,交換三個數的順序。例子里將變量的值進行兩兩比較,然后將變量交換。由于變量的值重新賦值會刪除前一個值,所以需要一個臨時的變量$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也不錯了,繼續研究吧!")?Else?MsgBox(64,?"提示",?"無語,請從第一章重新看!")?EndIfElse?MsgBox(64,?"提示",?"革命尚未成功,同志們仍需努力!")EndIf技術要點(1) If的兩種形式:1. If表達式Then語句單

18、條件運行語句。當表達式結果為true時執行then后面語句。2. If表達式Then3. ?語句4. ?.5. Elself表達式-nThen6. ?elseif語句.7. ?.8. Else9. ?else語句10. ?.11. EndIf多條件運行語句。<>表示是必寫,口表示是可選(可寫可不寫)條件表達式.果表達式為true,則執行“語句"塊;如果不是,則執行第一個為true的"elseif語句."塊;如果以上都不成立,則執行"Else語句”塊.If語句允許嵌套使用.并且根據需要用圓括號組合使用實例008成績獎勵系統實例說明輸入用戶名和密

19、碼登錄“成績獎勵系統“,如果登錄成功則輸入語文和數學考試成績。如果語文考試大于80分或者數學考試大于90分則獎勵100元,否則顯示未達到要求,請下次繼續努力!運行效果如圖2.7和2.8所示。圖2.7-輸入用戶名登錄系統圖2.8-輸入成績獲取獎勵程序代碼#include?<Console.au3>;控制臺用作提示CoutLine("請輸入你的名字:",?"亮黃色")Dim?$name?=?Cin()?;等待輸入名字CoutLine('歡迎'?&?$name?&?'進入"成績獎勵系統"&

20、#39;,?"亮紅色")CoutLine('請輸入用戶名和密碼登錄系統(區分大小寫),?"亮青色")Dim?$UserName?=?InputBox("提示",?"請輸入用戶名:”)Dim?$PassWord?=?InputBox("提示",?"請輸入密碼:",?"",?"*")?;使用密碼字符CoutLine("正在驗證.")Sleep(2000)If?$UserName?=?"Admin"?An

21、d?$PassWord?=?"123456"?Then?CoutLine('登錄成功,請輸入語文和數學成績,?"亮青色")?Dim?$chiness?=?InputBox("提示",?"請輸入語文成績:")?Dim?$maths?=?InputBox("提示",?"請輸入數學成績:")?If?(Not?$chiness)?And?(Not?$maths)?Then?;判斷有沒有輸入?CoutLine("輸入錯誤,退出系統!",?"亮紅色&

22、quot;)?System("pause")|?Exit?EndIf?If?$chiness?>?80?Or?$maths?>?90?Then?CoutLine("恭喜你,得到100元獎勵!",?"亮紅色")?Else?CoutLine("未達到要求,請下次繼續努力!",?"亮紅色")?EndIfElse?CoutLine("登錄失敗,用戶名或密碼錯誤!",?"亮紅色")EndIfSystem("pause")技術要點(1)

23、本例使用邏輯運算符結合if語句完成。邏輯運算符如下:And兩個表達式全為true,其最終結果為true.OR兩邊表達式只要有一個為true,其最終結果為true.Not將true變為false,false變為true.(2)當表達式內含有多個運算符時,其運算的先后順序由運算符優先級別控制.AutoIt中運算符的優先級如下所示.處于同一優先級的兩種運算符,則按從左到右的順序運算.從最高到最低的優先級:?Not?A?*/?+-?&?<><=>=<>=?AndOr?例如:2+4*10-運算結果為42,運算順序如下:4*10?(等于40)?2+40?(等于4

24、2)乘號*擁有比加號+更高的優先級.您可以使用括號強制先計算表達式的一部分.例如:(2+4)*10-運算結果為60.(3)邏輯運算符的惰性求值:And第一個表達式為false時,其最終結果已確定為false,不會執行第二個表達式。Or第一個表達式為true時,其最終結果已確定為true,不會執行第二個表達式.小例子:$and1?=?True?And?MsgBox(0,?"",?"and1")?;第一個為true,執行第二個$and2?=?False?And?MsgBox(0,?"",?"and2")?;第一個為fa

25、lse,不執行第二個$or1?=?True?Or?MsgBox(0,?"",?"or1")?;第一個為true,不執行第二個$or2?=?False?Or?MsgBox(0,?"",?"or2")?;第一個為false,執行第二個實例009二元條件選擇實例說明要求用戶輸入兩個數a,b。如果a能被b整除或者a力口b大于100,則輸出a的值,否則輸出b的值。運行效果如圖2.9和2.10所示。圖2.9-輸入a的值圖2.10-輸出結果程序代碼Dim?$a?=?InputBox("提示",?"輸

26、入a的值:")Dim?$b?=?InputBox("提示",?"輸入b的值:");If(Mod($a,$b)=0)Or($a+$b>100)Then;?MsgBox(64,"結果",$a);Else;?MsgBox(64,"結果",$b);EndIfMsgBox(64,?"結果",?(Mod($a,?$b)?=?0)?Or?($a?+?$b?>?100)?$a?:?$b)技術要點(1)本例使用二元條件選擇語句。格式如下:如果表達式為true則返回表達式1的值。如果表達式為f

27、alse則返回表達式2的值。通常可以用來替換If.Else.EndIf結構。雖然在所有情況下沒有必要,但還是強烈建議3個表達式括在括號中.實例010工資年終調整實例說明李四的年終工作評定,如果定為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?&?"元")技術要點(1) Switch-Case-EndSwitch條件語句Switch表達式?Case值To值刁卜值To值刁?語句1?.?Case值To值刁,值Tofi刁?語句2?.?CaseElse?語句N?.EndSwitch1.1 根據表達式返回的值.此值將與每個case的值比較,直到找到一個匹配.如果第一個case不匹配切換值,則繼續比較其它Case節點,如果匹配,則該節Case被執行.如果沒有匹配的case且沒有定義其它的Case,則無任何操作發生.1.2 值To值指定范圍,表達式值在兩個值之間,執行C

30、ase后面語句值,值表達式值等于其中一個值,執行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表達式按照優先級先將右邊$salay的值進行數學運算后賦值回$salay。這種賦值方法比較方便和常見的。實例011假期安排實例說明明天放假,輸入明天的溫度和天氣情況,如果溫度低于15度,在家玩游戲,否則如果天氣是“晴”或“陰”,到外面逛街,否則如果天氣是“雨”就到到電影院看戲,否則如果是其它天氣(雷,風)通常會停電,這假期沒法過。運行效果圖2.13和2.14所示圖2.13-輸入明天天氣圖2.14-顯示假期安排程序代碼#include?<MsgBoxConstants.au3>?

溫馨提示

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

評論

0/150

提交評論