教材鏈接:https://wenku.baidu.com/view/1e82d26925c52cc58ad6be05.html?sxts=1565679996440
2.1PowerScript基礎
2.1.1注釋
//單行注釋
/* 多行注釋 */
2.1.2標識符
標識符是程序中用來代表變量、標號、函數、窗口、選單、控件和對象等名稱的符合。
標識符命名規則如下:
(1)必須以字母或下划線開頭
(2)由字母、數字、下划線_、短橫線-、$、#、%組成
(3)不能是PowerScript保留字
(4)不區分大小寫(但若用於Web、UNIX等環境時必須區分大小寫)
(5)最長40個字符
2.1.3續航符(&)
如果代碼行尾的字符是 & 則下一行自動是本行的繼續行。
例: IF side1=5 AND &
side2=6 THEN area=5*7
//此段代碼相當於 IF side1=5 AND side2=6 THEN area=5*7
2.1.4特殊字符
字符串中可以包括特殊的ASCII字符,它們不能使用常規的輸入方法直接輸入,需要使用其他字符來代替。常用的特殊字符見表2.1。
表2.1
2.1.5空值(NULL)
空值NULL是PB與數據庫交換數據時使用的一種特殊值,代表數據為定義、不確定,它與空字符串、空字符、數值零及日期:00-00-00的意義完全不同。
變量被賦予空值的途徑:
①從數據庫中讀取到空值
②使用 SetNull() 函數賦值。
例:String person
SetNull(person)
2.1.6分隔符(;)
如果要在一行中書寫多條語句,可以使用分隔符" ; "
2.1.7保留字
如:Integer,String、int 等
2.1.8代詞
PowerScript 提供了4個代詞:
This 代表窗口、用戶對象、菜單、應用對象、或者控件本身,即代表正在為之編寫事件處理程序的對象,
Parent 指代表當前控件所在的 窗口,
ParentWindow 代表運行時菜單所在的窗口,此代詞只能在菜單的事件處理程序中使用,
Super 代指祖先對象
2.2數據類型
數據類型分為3類:標准數據類型、枚舉數據類型、和系統對象數據類型。
2.2.1標准數據類型
包括數值型、字符型、日期型和布爾型等一些最基本的數據類型。其名稱、含義及示例見表2.2。
表2.2
2.2.2,枚舉類型(ENUM)
ENUM 是一種特殊的數據類型,它是由符合代替的數值,是PB中定義的特殊常量,可以作為系統函數的參數,也可以用於對象、控件的屬性,如顏色和對齊方式等。
注:1、PowerScript不能定義自己的枚舉類型,只能按照系統的要求使用系統定義的枚舉類型
2、因為枚舉類型是一組固定的值,即常量。以英文單詞開始,!結束:Right!,Justfly! 。
2.2.3系統對象數據類型
PB中窗口、菜單、命令按鈕、數據窗口等所有的系統對象都是一類特殊的數據類型。每一種系統對象都是已經預先定義在PB中的一種數據類型。
2.2.4變量作用域
4種不同范圍的變量:Local(局部),Instance(實例)、Global(全局)、Shared(共享),常用的是前三種。
1、Instance 變量的作用范圍是所在的窗口及窗口內的各種控件的所有事件、函數,在對象的(Declare)中定義
2、Local :這種類型的變量在腳本程序中定義,且只在程序中使用。如:在事件和函數中定義的Local變量,它的作用范圍只在所在的事件和函數中起作用。
3、Global: 在整個應用程序中都能訪問,定義方法與Instance相同,盡量不用。
4、Shared:該變量在一個對象中定義,與該對象的類相關,所以可以被該對象的類的所有實例訪問。
上述四種變量類型中,Instance的訪問權限由高到低可分為3種:①Public(公共的):PowerScript默認的訪問權限,在應用程序中,在任意位置使用點操作符可以訪問,格式為 Public Integer a;
②Private(私有):該類型的變量可以在定義變量的對象的腳本中訪問,格式:Private Integer b;
③Protected(保護):與Private相似,區別:不僅可以被聲明它的腳本訪問,還可以被繼承它所在對象的腳本訪問(即可以被本身和子類訪問)
2.3運算符和表達式
2.3.1算術運算符
算術運算符有五個,分別用於加、減、乘、除、乘方。其中,加號、減號還可用於表示正數、負數。
在表達式中,乘方優先級高於乘、除;乘、除優先級高於加、減。同級運算遵循自左至右的原則
a++等價於a=a+1
a--等價於a=a-1
a+=b*c等價於a=a+b*c
a-=b+4等價於a=a-(b+4)
a*=c+d等價於a=a*(c+d)
a/=c+d等價於a=a/(c+d)
a^=c+d等價於a=a^(c+d)
2.3.2關系運算符
2.3.3邏輯運算符
真值表:
2.3.4連接運算符
用於將兩個String型或Blob型變量的內容連接在一起,形成新的字符串或Blob型數據。
例如:s1="computer "+"book" 則s1="computer book"
s2="book"+"computer" 則s2="bookcomputer"
2.3.5運算符優先級