2008年7月12日 星期六

Script-Tip007結構化程式控制

AMS的程式引擎接受的程式控制為 if , while , repeat , for
*if 的語法:

if 條件式 then
--欲執行的程式
end

if , then , end是語法中的關鍵字,一定要使用的,如果條件式成立(即true)那麼if和end之間的程

式碼才會被執行
例如:


code:--------------------------------------------------------------------------------
x = 50;
if x > 10 then
Dialog.Message("title","文字對話盒");
end
--------------------------------------------------------------------------------

上面的例子中,對話盒那行程式是會被執行的,因為條件式「x>10」是成立的。
條件式也可以是複雜的,如下:

code:--------------------------------------------------------------------------------
y = 3;
if (y+7)*10 == 100 then
Dialog.Message("title","文字對話盒");
end
--------------------------------------------------------------------------------

在 if 控制式中也予許加入 else 和 elseif 等關鍵字來增加分支判斷式,如

code:--------------------------------------------------------------------------------
x = 100;
if x < x =" 5;" x ="="" x="="" x="="8" a =" 1;" a =" a+1;" a =" a+1;這一行程式會被執行9次,所以最後a的值為10" count =" 1;" count =" count+1;" count ="="" count =" 1;" count =" count" count ="="">100
--------------------------------------------------------------------------------

*For 迴圈
當您很確定所要執行的迴圈次數,使用for便是一個好選擇,其程式模型如下:

for 變數 = 開始數, 結束數, 步進值 do
程式區塊
end

以for關鍵字開始,以end作為結尾,其中「變數」可以隨意取名,如a,i,x,y......,它只是用來計

數用的,「開始數」代表「變數」的初始值,「步進值」是一個數字,它的意思是每迴圈一

次,變數目前的值便加上「步進值」,再與「結束數」比對,直到條件不成立(變數值大於或

小於結束數),「步進值」不寫的話預設是 1
在程式區塊中一樣可使用break關鍵字跳出迴圈。
以下的範例都是常見的:

code:--------------------------------------------------------------------------------
--demo 1
for x = 1, 10 do
Dialog.Message("test", x)
end

--demo 2
for x = 10, 1, -1 do
Dialog.Message("test", x)
end

--demo3
for x = 1, 100 do
Dialog.Message("test", x)
if x == 50 then
break;
end
end
--------------------------------------------------------------------------------

沒有留言: