|
|
|
|
|
|
|
|
|||||
| 您现在的位置: 浩扬网络 >> 编程开发 >> PB编程 >> 教程正文 |
14.1 名词
14.1.1 注释行
注释行用来书写说明,它有两种写法:
以“//”开头,其后书写注释内容,常用于单行注释。
“/*…*/”中间的部分为注释,便于多行说明。
例如:
//这是一个单行注释
INTEGER I
I = I+1
/*这是多行注释
这是多行注释
这是多行注释
这是多行注释*/
14.1.2 标识符
标识符是指在脚本中使用的变量、标号、窗口、控制、菜单以及引用的对象的名称。它的命名规则有:
1. 必须一字母开头
2. 最长40个字符,并且中间不能插入空格。
3. 区分大小写
4. 表示符可以有字母、数字和如下的特殊字符组成:短划线“-”、下划线“_”、美元符号“$”,
号码符号“#”和百分符号“%”。
例如:butName,main_win,code2都是合适的标识符。
14.1.3 标号
尽管在我们不提倡在程序设计当中使用GOTO语句,但是POWER SCRIPT仍然支持它。可以使用标号来指
明转移的地址。标号的写法是在标识符的后面加上冒号。
例如:ADDRESS1:
PROCESSDATA()...
或者
ADDRESS2:PROCESSDATA()
14.1.4 特殊字符
在字符串当中可以包括特殊字符。它们的写法如下:
新行(NEWLINE):~n
制表符(TAB):~t
垂直制表(VERTICAL TAB):~v
回车(CARRIGE RETURN):~r
换行(FORMFEED):~f
退格(BACKSPACE):~b
双引号:~
单引号:~
弯曲符:~~
也可以使用在~符号的后面跟上一个数的方式来表示这个数值对应的ASCII字符。如~888,~h16(十六
进制),~o999(八进制)。
14.1.5 空值
空值(NULL)是在与数据库交换数据的时候使用的一种特殊值。这与空字符、数值零、和日期00000000
不同。空值既不是零,也不是非零的任何数值。
14.1.6 保留字
保留字是指被POWER BUILDER内部使用,而不能作为标识符的单字,它们有:
alias,and,autoinstantiate,call,case,choose,close,commit,connect,constant,continue,create,
cursor,declare,delete,describe,descriptor,destroy,disconnect,do,dynamic,else,elseif,end,
enumerated,event,execute,exit,external,false,fetch,first,for,forward,from,function,global,
goto,halt,if,immediate,indirect,insert,into,intrinsic,is,last,library,loop,next,not,of,on,
open,or,parent,post,prepare,prior,private,privateread,privatewrite,procedure,protected,
protectread,protectwrite,prototypes,public,readonly,ref,return,rollback,rpcfunc,select,
selectblob,shared,static,step,subroutine,super,ssytem,systemread,systemwrite,then,this,
to,trigger,true,type,until,update,updateblob,using,varibles,while,with,within,_debug
14.1.7 this
代名词this代表窗口、用户对象、菜单、应用对象或者控制对象自身。比方说,在一个静态文本控件的
脚本中敲入这样的代码:
this.Modify(text=您好),静态文本上面的文本就会改变为“您好”。
14.1.8 Parent
Parent可以在窗口的控制、用户定制对象和菜单的程序中使用。当在窗口的控制当中使用Parent的时候,
Parent指向包容该控制的窗口。比方说如果把下面的语句写入某窗口的一个按钮的CLICKED事件的脚本当
中的话,那么在用户单击这个按钮的时候,就会关闭这个窗口。
14.1.9 ParentWindow
ParentWindow只能在菜单的脚本当中使用,它代表运行时菜单所在的窗口,例如:在一条菜单命令的脚
本中输入这样的代码的话将会关闭菜单所在的窗口。
Close(ParentWindow)
14.1.10 Super
在编写控制或者对象的子对象的脚本的时候,可以调用祖先的脚本,用户可以直接使用祖先对象的名称
调用它们,也可以使用Super来引用直接双亲。例如要调用父类的Clicked脚本可以这样写:
CALL Super::Clicked
需要注意的是,用户只能在祖先的直接后代的函数和事件当中使用Super,否则编译器将返回语法错误。
并且我们只能在子类窗口的事件脚本或者函数当中使用Super,而不能在子类窗口的控制当中使用Super
,否则编译器也将产生语法错误。
14.1.11 续行和断句
大多数情况之下,每一条语句占据一行,可以有的时候会遇到语句超长或者希望多写几行的情况,这时
就需要用到续行符&如果行尾的字符恰好是&,那么下一行自动是本行的继续行。
例子:
IF num1 = 5 AND &
num2 = 6 THEN num3 = 7
如果要将一个长字符串分为多行的时候,仅仅需要在行末加入&,编译器就会认为下一行的内容也是这个
字符串的内容。
例子:
astring = abcdefghi&
jklmnopqrstuvwxyz
需要注意的是使用这种方法将会把续行符前面的和继续行初始处的空格或者TAB都作为字符串的的一部分
,如果希望避免这种情况,可以使用下面的这种格式:
astring = abcdefghi&
+jklmnopqrstuvwxyz
14.2.1 赋值语句
赋值语句可以把一个表达式的结果或者变量和常量的值,赋给一个变量或者对象的属性或成员变量。赋值语句的格式是:
variablename = expression
其中variablename代表变量名,expression代表表达式,它将表达式的值赋给等号左边的变量。例如:
string = abc
ainteger = 6
使用赋值语句也可以为数组变量赋值。例如:
integer aarray[]
aarray = {1,2,3,4,5,6}
在变量和数组之间也可以使用赋值语句复制数据:
array1 = array2
14.2.2 单目操作符
POWER BUILDER也提供了一些类似于C语言的单目操作符。我们使用一个表格进行说明:
操作符
例子
等价于
++
I++
I = I + 1
--
I--
I = I - 1
+=
I+=6
I = I + 6
-=
I-=6
I = I - 6
*=
I*=6
I = I * 6
/=
I/=6
I = I / 6
^=
I^=6
I = I ^ 6
14.2.3 CALL
CALL语句在继承对象中调用祖先对象的脚本,用户在继承对象的事件中不但可以调用祖先的用户对象、菜单对象或者窗口对象的脚本,而且可以调用祖先窗口或者用户对象中的控制的脚本。CALL语句的语法格式为:
CALL ancestorobject[.controlname]::event[(argument)]
其中,ancestorobject指明祖先对象的标识名,controlname是控制的名字,event 和 argument代表被调用的事件及其参数列表,如果事件定义的参数在调用的时候没有argument ,那么空值被作为默认值传递。
新版本的语法允许用户触发(trigger)或者告知调用(post)祖先的事件,但是不能调用祖先中控制的脚本。
14.2.4 CHOOSE CASE
CHOOSE CASE控制结构根据测试值决定程序执行方向,它是一个条件多分支结构。CHOOSE CASE的语法格式为:
CHOOSE CASE testexpression
CASE expressionlist
Statement
[CASE expressionlist
Statement
......]
[CASE ELSE
Statement]
END CHOOSE
testtexpression代表测试值,不同的测试值引发不同的语句的执行。expressionlist代表判断表达式,它可以用以下的几种形式:
1 用逗号分割的数据,例如:1,2,3,4,5,6,
2 用TO表示一个区间,例如:1 TO 60
3 用IS代表测试值,并辅以关系操作符,例如:IS >20
4 使用以上的三种方法的综合,用逗号分隔,例如:6,6 TO 16,IS > 36
在CHOOSE CASE语句中至少包括一条CASE,并且使用END CHOOSE作为结尾。POWER BUILDER将逐条地查找CASE,如果找到与测试值匹配的判断表达式的时候,就执行该CASE后面的语句,然后转向指向END CHOOSE后的第一条语句如果包含CASE ELSE,在位发现任何匹配CASE条件的时候,执行CASE ELSE后面的语句。
例子:
CHOOSE CASE num
CASE 6
num = 7
CASE IS> 36
num = 36
CASE ELSE
num = 56
END CHOOSE
14.2.5 FOR NEXT
FOR...NEXT是一个计数循环体。使用该语句可以是循环体中的语句被执行规定的次数。该语句的语法格式为:
FOR varname = start TO end [step increment]
statement
NEXT
其中,varname 代表循环变量,start、end分别为初值和终值,increment为步长增量,缺省值为1。在使用FOR NEXT语句的时候应该注意,varname是integer型,end0的值不能取得过大,以防超出integer的取值范围,造成溢出。
|
|
|
|
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | |