在第十五課里,我們以TCP/IP通訊方式為例,對(duì)通訊工具的應(yīng)用進(jìn)行了闡述。
今天,我們將介紹Scriptor腳本編程應(yīng)用。?
一、Scriptor簡(jiǎn)介
SciSmart智能視覺(jué)軟件支持腳本編寫(xiě)功能,通過(guò)SciSmart智能視覺(jué)軟件的腳本可以完成包括變量復(fù)雜運(yùn)算、獲取日期和時(shí)間、對(duì)結(jié)果進(jìn)行排序、對(duì)文件操作(新建、刪除、txt文件內(nèi)容讀寫(xiě))等操作。
圖1? 界面圖
二、全局變量
按照以下步驟,添加全局變量:菜單欄->設(shè)置->變量設(shè)置。
圖2? 變量設(shè)置界面圖
1.全局變量說(shuō)明:
●全局變量在流程圖中的各模塊有效。
●全局變量名稱以Vars.為開(kāi)頭。(注:Vars.為系統(tǒng)自動(dòng)添加,無(wú)需手動(dòng)添加,如添加名稱為n的全局變量,流程圖顯示為Vars.n。)
●變量名稱支持中文。
●添加變量時(shí),可以對(duì)變量進(jìn)行初始化及備注。
2.?變量類型說(shuō)明:
●N:數(shù)值型(Number)可以進(jìn)行數(shù)值運(yùn)算的數(shù)據(jù)類型。
●S:字符型(String)由數(shù)字、字母、下劃線組成的一串字符。
●B:布爾型(Boolean)非true(真),即false(假)。
●P:點(diǎn)類型(Point)其成員有兩個(gè),即 Point.x 和 Point.y。
●N[? ]:數(shù)值型數(shù)組。
●S[? ]:字符型數(shù)組。
●B[? ]:布爾型數(shù)組。
●P[? ]:點(diǎn)類型數(shù)組。
3.使用“腳本”算子進(jìn)行賦值:
圖3? “腳本”算子賦值示例圖
三、局部變量
1.局部變量:這里所指的局部變量是僅在當(dāng)前腳本有效的變量,其他腳本算子或其他模塊無(wú)法調(diào)用的變量。
2.var語(yǔ)句:
(1)聲明變量:
●var variable
●var variable2=value
(2)參數(shù):
●variable,variable2為被聲明的變量的名字。
●value為賦給變量的初始化值。
3.局部變量示例:下例闡明了var語(yǔ)句的用法,需要注意的是,使用var語(yǔ)句來(lái)聲明變量,初始值的數(shù)據(jù)類型決定變量的數(shù)據(jù)類型。
圖4??var語(yǔ)句用法示例圖
4.注釋符號(hào):在SciScriptor中,有以下兩種形式的注釋:
●單行注釋:?jiǎn)涡凶⑨屢噪p斜線“//”開(kāi)頭。
●多行注釋:多行注釋以“/*”開(kāi)始,以“*/”結(jié)束。
四、運(yùn)算符
常用運(yùn)算符:
●加法運(yùn)算符(+)
●減法運(yùn)算符(-)
●乘法運(yùn)算符(*)
●除法運(yùn)算符(/)
●==運(yùn)算符:比較兩個(gè)表達(dá)式是否相等
●&&運(yùn)算符:對(duì)兩個(gè)表達(dá)式執(zhí)行邏輯與運(yùn)算
●||運(yùn)算符:對(duì)兩個(gè)表達(dá)式執(zhí)行邏輯或運(yùn)算
●++運(yùn)算符:變量值加1
●<運(yùn)算符:比較兩個(gè)表達(dá)式,看是否一個(gè)小于另一個(gè)
●<=運(yùn)算符:比較一個(gè)表達(dá)式的值是否小于等于另一個(gè)表達(dá)式的值
●其他運(yùn)算符
五、控制語(yǔ)句
1.條件語(yǔ)句:(1)if…else語(yǔ)句:根據(jù)一個(gè)表達(dá)式的值,有條件地執(zhí)行一組語(yǔ)句。
if(condition)
{statement1}
else
{statement2}
圖5? if...else語(yǔ)句用法示例圖
(2)switch語(yǔ)句:當(dāng)指定的表達(dá)式的值與某個(gè)標(biāo)簽匹配時(shí),即執(zhí)行相應(yīng)的一個(gè)或多個(gè)語(yǔ)句。
switch(expression) {
case label :
statementlist
case label :
statementlist
case label :
statementlist
...
default :
statementlist
}?
圖6? switch語(yǔ)句用法示例圖
3.?循環(huán)語(yǔ)句:(1)for語(yǔ)句:只要指定條件為true都執(zhí)行語(yǔ)句塊,例如:
for(initialization; test; increment)
{? ?
statements?
}
(2)while語(yǔ)句:在循環(huán)第一次被執(zhí)行前檢查expression。每當(dāng)expression滿足條件,則執(zhí)行一次該循環(huán);如果expression不滿足條件,循環(huán)結(jié)束。例如:
while(expression)?
{
statements
}?
圖7??for語(yǔ)句、while語(yǔ)句用法示例圖
3.自定義函數(shù):function,例如:
function Demo()
{
statements
}?
圖8? 自定義函數(shù)function用法示例圖
六、內(nèi)部對(duì)象
1.?內(nèi)部對(duì)象類型:
(1)?Math對(duì)象:是一個(gè)固有對(duì)象,可以提供基本數(shù)學(xué)函數(shù)和常數(shù),如:
●Math.abs(number):返回?cái)?shù)字參數(shù)number的絕對(duì)值。
●Math.cos(number):返回值為其數(shù)字參數(shù)的余弦值。
●Math.PI:返回圓的周長(zhǎng)與其直徑的比值,約等于3.141592653589793。
(2)Date對(duì)象:?jiǎn)⒂没敬鎯?chǔ)器并取得日期和時(shí)間。
(3)Array對(duì)象:提供對(duì)創(chuàng)建任何數(shù)據(jù)類型的數(shù)組的支持。
(4)String對(duì)象:可用于處理或格式化文本字符串以及確定和定位字符串中的子字符串,如:
●length屬性(String):返回String對(duì)象的長(zhǎng)度。
●split方法:將一個(gè)字符串分割為子字符串,然后將結(jié)果作為字符串?dāng)?shù)組返回。
●substr方法:返回一個(gè)從指定位置開(kāi)始的指定長(zhǎng)度的子字符串。
2.內(nèi)部對(duì)象使用演示與查找:
(1)內(nèi)部對(duì)象使用演示:
圖9? 內(nèi)部對(duì)象使用示例圖
(2)內(nèi)部對(duì)象查找:
●方式一:使用JScript中文參考手冊(cè)快速查找。
圖10??使用JScript中文參考手冊(cè)查找示例圖
●方式二:上網(wǎng)查找。
圖11??上網(wǎng)查找示例圖
七、注意事項(xiàng)
1.檢查腳本的方式:
圖12??腳本檢查方式示例圖
2.腳本數(shù)據(jù)的淺拷貝和深拷貝:
圖13? 腳本數(shù)據(jù)的淺拷貝和深拷貝示例圖
lw
評(píng)論
查看更多