注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

chunwaihome 的博客

 
 
 

日志

 
 

Programming scripts with if, jump, variables, flags, loops  

2009-08-24 20:05:38|  分类: Powerpro腳本學習 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

您可以使用For Loops, If statement變量(variable)在Powerpro的腳本 。你可以將它們儲存在Command List或檔案中,而儲存的格式可以是.txt或.powerpro

數值型數据


  1. 普通的十進制數值型數据:5、3.14、-20等
  2. 十六進制數据:以0x開頭,例如0x404、0xFF等

聲明數值型數据變量的一段型式:

Local t = 10

 

Variable(變量)


Powerpro可以利用variable(變數)去儲存數字、文字或者Expressions作往後使用。所謂變量,就是在程序運行過程中,其值可以被改變的量。在程序運行的過程中"可變"是變量與常量最大的區別。

而變數名稱開首的第一個字母必須是英文字母(Letter),變數名稱最長可以包括63字母、數字和下底線(underscores。在Powerpro裏,字母是不分大小楷的,因此SKY和Sky將會被認為是同一個變量,所以要嚴加注意不要重覆使用同一個名字來聲明變量。

下面的字詞不能聲名變量,因為它們在Powerpro有著特殊用途Function(函數)

mci, not, random, vdeskempty, mounted, length, anywindow, visiblewindow, activewindow, validpath, input, inputcancel, timer, filemenu, arg, timerrunning, run, eval, pproflag.

比如mounted函數,語法是b=mounted(L),L是磁盘名稱,b等於如果該磁盘是系統掛載的,0則相反表示磁盘符還未被佔用。按此了解更多其他的Function

String(字符串型數據)


字符串數据一般用""(英文的双引號)包含起來,例如:"a"、"b",双引號是說明所包含的是一個字符或字串。雖然用双引號括住的字符串數据,但有時候Powerpro會自動將字符串數据解釋為數字型數据。

比如"-5"+"3"等於"-2"。

下面是一些聲名變量的例子:

var1 = "abc"                                                   ;將變量var1聲名為字符串"abc"
w2 = length(var1) + 5                                    ;將變量w2聲名為8,length(var1)表示計算"abc"的長度;若想了解更多的string function按此                   
LCheck = var1 le "def" and w2 >3            ;LCheck等於1表示true的意思。因為它同時符合"var"<"def"和 w2 >3的條件

 註:如果你不聲明變量值,此變量值為""或 在數學計算或logical expression則表示0的意思。

 

你除了可以用local ,static 或者global來聲明變量,亦可用inputinputdefault命令來聲明變量。比如執行

v = input("輸入變量值")命令後,它會彈出一窗口標題是"輸入變量值",你可以直接輸入所需變量值。如若了解更多的inputdialog按此

布爾數據類型(Boolean)


在計算機科學中,布爾數據類型又稱為邏輯數據類型(Logical data type),是一種只有兩種取值的原始類型:非零(通常是1或者-1)和零(分別等價於真和假)。

在一些語言中,布爾數據類型被定義為可代表多於兩個真值。例如,ISO SQL:1999標準定義了一個SQL布爾型可以儲存三個可能的值:真,假,未知(SQL null被當作未知真值來處理,但僅僅在布爾型中使用)。

這種數據類型在布爾和其他運算中使用,如與(AND, &, *),或 (OR, |, +),異或 (xor, NEQV, ^), 等價(EQV, =, ==)以及非(NOT, ~, !),這些與邏輯代數和算術操作相一致。

布爾值之間有三種常見運算:與、或、非,在powerpro中的運算符依次為"And"、"Or"、"Not"

Logical data type table

 a  b  Not(a)  Not(b)  a and b  a or b
 真  真   假    假   真  真
 真 假    假    真  假  真
 假   真  真  假   假   真
  假   假   真   真   假   假

1)邏輯"And"運算中,兩者都為真時結果才為真,兩者有至少一者為假結果即為假。

2)邏輯"OR"運算中,兩者都為假時結果才為假,兩者有至少一者為真結果即為真。

3)邏輯"NOT"運算中,非真為假,非假為真

  • Boolean與其他類型數值是可以相互轉換的
  1. 數值型數据與Boolean的相互轉換時,數值0轉為"False",非0數值轉為"True"。
  2. 字符串型數据與Boolean相互轉換時,只有空字符串("") 才會轉為"False",其他字符串(無論是1或-1)j都會被轉為"True"。

 

複合指定運算子(Compound assignment operators)


「複合指定運算子」則是將運算元進行指定的運算,運算完之後並將結果結果存入指定變數中的運算子。

你可以用   += , -= , *=, /=, %=, ++=  加、減、乘、除、餘數、連接兩個字符串的 operators

 w2 += length(str)*2                            ;等同於w2 = w2 + (length(str)*2),留意變量length(str)*2須用括號括住

說的明白些,它的意思是自身與運算符右側的數据相加后再敷值給自身

You can use the operator .= to apply a function directly to a variable

 w2 .= replacechars("abc", "***")          ;等同於 w2 = w2.replacechars("abc", "***")

Note that no extra parenthesis are inserted for .=.

敷值運算符-------------"=",這和我們數學中的等號一樣的字符,作用是將敷值運算符右边表達式的值敷值給敷值運算私左邊的變量。要注意的是等號左邊必須是變量,這里建議您在遇到例如s = a+2這種語句時,讀作"將a+2的值敷給s"

假設我們己經聲明了a變量,並將a敷值為3,那麼

a+=1,a為4,也就是說a+=1等同於a = a+1

另外,自敷值運算符右側的數倨是優先計算的,或者可以認為是默認帶有"( )"的,例如:

a*=1+2,a為9,也就是說a*=1+2等同於a= a*(1+2)

  什麼是復合賦值運算:  

用第一個操作數加(減,乘,除,拉位與/或/異或...)第二個操作數。並把結果賦值給第一個操作數。(--,++為單目運算,主要用於循環變量.除外)
復合賦值運算符:

例子:
local a,b;
a+=b;               // 把a 與b 的值的和賦給 a .與 a=a+b 等價
a*=b;                // 把a 與b 的值的積賦給 a .與 a=a*b 等價
a^=b;                 // 把a除b 的模賦給 a .與 a=a^b 等價
總體來說,復合運算符可以簡化我們的表達式。但同時過多過複雜的復合運算會降低代碼的可讀性。

 


您可以透過以下語法來聲明變量

setstring var anycharacters

需要留意的是變量var和敷值必須格一個空格,In setstring there is no special processing for escape characters.

 

 

  评论这张
 
阅读(425)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017