按鍵精靈——指令碼流程結構(3)
中斷命令
讓指令碼隨時停止執行的命令
EndScript
ExitScript
EndScript(指令碼停止執行)
除了F12可以讓指令碼停止執行,還可以用EndScript
開啟記事本,當執行這段程式碼時
keypress “1”,1
delay 100
keypress “2”,1
delay 100
EndScript //到這裡就結束執行了,結果為12
keypress “3”,1
ExitScript (退出指令碼)
雖然EndScript和ExitScript都可以停止指令碼,但是
EndScript只能停止當前執行緒
而ExitScript可以停止整個指令碼
執行以下程式碼
beginthread 多執行緒//這是一個啟動多執行緒的命令
delay 1000
tranceprint “主指令碼”
exitscript//結果從執行緒到主指令碼就結束程式
//endscript//若換成endscript,從執行緒到主指令碼後,會繼續執行執行緒
tranceprint “停止指令碼”
sub 多執行緒()//這是一個多執行緒
do
tranceprint “執行緒” & i
delay 200
loop
end sub
RestartScript(重啟指令碼執行)
可以重啟指令碼,讓指令碼從頭執行
執行以下程式碼
for i=0 to 2
delay 1000
tranceprint “內容” & i
next
restartscrip//重啟指令碼,執行結果不會再執行指令碼結束,會不斷重複0 1 2……
tranceprint “指令碼結束”
(Sub)子程式
一個指令碼內容相同或相似,或者把一個大的分解成若干個子任務。
以上情況可以單獨寫成子程式,然後再呼叫,呼叫完後,會自動回到呼叫處,然後繼續往下執行。
子程式如果不被呼叫,是不會被執行的
子程式可以互相呼叫
語法格式:
Sub 子程式名(引數列表)
指令碼程式碼
End Sub
呼叫子程式:
Call 子程式名(引數列表)//如果沒有這個,子程式是不會被執行的
1.不帶引數的子程式
引數,每個引數都是用逗號隔開,這些引數叫形參,僅僅只是當前的子程式,如果傳進來的叫實參
例如ifcolor中的一個補血指令碼,在完整指令碼中,補血只是一個小功能,所以可以把補血放倒一個子程式中。
call 自動補血()//從這裡跳到自動補血裡
tranceprint “呼叫自動補血完成”
sub 自動補血()
ifclolr 1289,281,“B9A05E”,0, then
messagebox “顏色等於”
else
messagebox"顏色不等於"
end if
end sub//執行完後會回到call後面
2.帶引數的子程式
可以往子程式裡傳遞引數
例如下列程式碼
x=1
y=2
call 子程式(x,y)//x對應a,y對應b,一一對應,不能多寫,也不能少寫
sub 子程式(a,b)//a和b是引數,是形參,也就是說,只有當在子程式內的時候才會顯示的
tranceprint “a=” & a
tranceprint “b=” & b
end sub
從上面執行的指令碼來看,實參x的值傳遞給了形參a,實參y的值傳遞給了形參b,所以a的值是1,b的值是2.
當實參的值傳遞給了形參後,形參再如何改變,實參都不會改變&
例如下列交換變數的值的例子
x=1
y=2
call 交換變數的值(x,y)//實參
sub 交換變數的值(x,y)//此x,y非彼x,y,這裡是形參
z=x
x=y
y=z
tranceprint “交換後,形參x=” & x
tranceprint “交換後,形參y=” & y
end sub
上面可以看出,子程式裡x,y交換了,主指令碼中仍然是原值
call互相呼叫子程式時,有時會死迴圈,可能使指令碼崩潰
因為每次呼叫子程式都會用一段記憶體來儲存未執行的部分,所以記憶體會佔用越來越多,最終導致崩潰
比如以下程式碼:
call a()
sub a()
call b()
tranceprint “a”//被儲存到記憶體裡,被迴圈呼叫,被迴圈儲存
end sub
call a()
tranceprint “b”//被儲存到記憶體裡
end sub
Function(函式)
函式和子程式類似,唯一不同的就是,函式要有返回值
語法格式:
Function 函式名(形參)
指令碼程式碼
End Function
例如下列程式碼
和=加法(1,2)//加法是一個函式
tranceprint “1+2=” & 和
function 加法(a,b)
加法=a+b//這是一個返回值的寫法
end function
相關文章
- 按鍵精靈針對谷歌瀏覽器網頁的指令碼tip(暫未完全)谷歌瀏覽器網頁指令碼
- 2.3用按鍵精靈錄製鍵盤與滑鼠操作
- 鍵盤失靈按什麼鍵恢復 win10鍵盤恢復按鍵Win10
- Uboot連結指令碼與啟動流程boot指令碼
- 2.4用按鍵精靈匯出滬深A股所有股票指定的指標資料指標
- 指令集體系結構_計算機體系結構:指令程式碼計算機
- nGrinder中快速編寫groovy指令碼01-指令碼結構指令碼
- Class檔案結構&位元組碼指令
- 三行程式碼按鍵消抖 獨立按鍵 矩陣按鍵 長按 短按 雙擊行程矩陣
- 一鍵部署指令碼指令碼
- emacs按鍵繫結詳解Mac
- win10系統如何使用一鍵刷機精靈_win10使用一鍵刷機精靈的步驟Win10
- python3 筆記9.程式流程結構--迴圈結構(while,for)Python筆記While
- 天貓精靈的自定義語音技能建立流程
- 校驗碼-體系結構-指令-流水線
- vue3+TS 自定義指令:長按觸發繫結的函式Vue函式
- 從按鍵精靈到RPA機器人,你想要的自動化辦公軟體是什麼?機器人
- 【JavaScript】鍵盤按鍵Keycode對照表(鍵碼對照表)JavaScript
- 指令集結構
- 精靈小巧的 Jsonpath 萬精油:Snack3JSON
- win10鍵盤失靈按什麼鍵能夠恢復 win10修復鍵盤失靈的具體方法Win10
- Docker 指令碼化一鍵部署Docker指令碼
- shell指令碼程式設計之選擇控制結構指令碼程式設計
- 實現MySQL表結構自動分割槽指令碼MySql指令碼
- shell指令碼總結指令碼
- shell指令碼一鍵安裝nginx指令碼Nginx
- windows鍵按了沒反應怎麼辦 windows鍵被鎖失靈的解決方法Windows
- 按鍵原理
- nmap指令碼使用總結指令碼
- (計算機體系結構)MIPS指令集結構計算機
- ### 流程控制語句結構
- 流程控制語句結構
- SpriteAtlas精靈圖集
- 通義靈碼 x 函式計算:構建高效開發流程,加速專案交付函式
- mysql8.0原始碼一鍵安裝指令碼MySql原始碼指令碼
- 基於精益管理最佳化結賬流程
- shell的引數和指令碼流程改進指令碼
- golang一鍵自動安裝指令碼Golang指令碼