循序渐进学习Power Builder 6.0(14-1)
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,divpare,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