PowerScript语言基础
注释:
以 "//" 开头,其后书写注释内容,常用于单行注释。
“/…/”中间的部分为注释,便于多行说明。
//这是一个单行注释
INTEGER I
I = I+1
/*这是多行注释
这是多行注释
这是多行注释
这是多行注释*/
标识符
标识符是指在脚本中使用的变量、标号、窗口、控制、菜单以及引用的对象的名称。它的命名规则有:
必须以字母或下划线开头
最长40个字符,并且中间不能插入空格。
区分大小写(例如PART,Part和part是不同的),不过在实际编程中尽量不要出现大小写不同,但实际意义一样的标识符,以免混淆。
标识符可以有字母、数字和如下的特殊字符组成:短划线“-”、下划线“_”、美元符号“$”,号码符号“#”和百分符号“%”。要注意,在使用减号和‘--’操作符时,需要在它们前后加空格,否则将可能把表达式看做标识符。
例如:butName,main_win,code2都是合适的标识符。
特殊ASCII字符
在字符串当中可以包括特殊字符。它们的写法如下:
新行(NEWLINE):~n
制表符(TAB):~t
垂直制表(VERTICAL TAB):~v
回车(CARRIGE RETURN):~r
换行(FORMFEED):~f
退格(BACKSPACE):~b
双引号:~
单引号:~
弯曲符:~~
也可以使用在符号的后面跟上一个数的方式来表示这个数值对应的ASCII字符。如888,h16(十六进制),o999(八进制)。
空值(NULL)
空值(NULL)是在与数据库交换数据的时候使用的一种特殊值。这与空字符、数值零、和日期00000000不同。空值既不是零,也不是非零的任何数值。
●为变量赋空值的途径有两条:(1)从数据库中读到空值;(2)用SetNull函数赋值。例如:
string beijing //beijing = ""
setNull(beijing) //beijing 为NULL
●在表达式或函数中使用空值时应注意:其参数值为空值的任何函数的返回值为空值,其值为空值的任一表达式的结果为空值
this
代名词this代表窗口、用户对象、菜单、应用对象或者控制对象自身。比方说,在一个静态文本控件的脚本中敲入这样的代码:
this.Modify(text=您好),静态文本上面的文本就会改变为“您好”。
Parent
Parent可以在窗口的控制、用户定制对象和菜单的程序中使用。当在窗口的控制当中使用Parent的时候,Parent指向包容该控制的窗口。比方说如果把下面的语句写入某窗口的一个按钮的CLICKED事件的脚本当中的话,那么在用户单击这个按钮的时候,就会关闭这个窗口。
ParentWindow
ParentWindow只能在菜单的脚本当中使用,它代表运行时菜单所在的窗口,例如:在一条菜单命令的脚本中输入这样的代码的话将会关闭菜单所在的窗口。
Super
在编写控制或者对象的子对象的脚本的时候,可以调用祖先的脚本,用户可以直接使用祖先对象的名称调用它们,也可以使用Super来引用直接双亲。例如要调用父类的Clicked脚本可以这样写:
CALL Super::Clicked
需要注意的是,用户只能在祖先的直接后代的函数和事件当中使用Super,否则编译器将返回语法错误。并且我们只能在子类窗口的事件脚本或者函数当中使用Super,而不能在子类窗口的控制当中使用Super ,否则编译器也将产生语法错误。
续行和断句
大多数情况之下,每一条语句占据一行,可以有的时候会遇到语句超长或者希望多写几行的情况,这时就需要用到续行符&如果行尾的字符恰好是&,那么下一行自动是本行的继续行。
例子:
IF num1 = 5 AND &
num2 = 6 THEN num3 = 7
如果要将一个长字符串分为多行的时候,仅仅需要在行末加入&,编译器就会认为下一行的内容也是这个字符串的内容。
例子:
astring = abcdefghi&
jklmnopqrstuvwxyz
需要注意的是使用这种方法将会把续行符前面的和继续行初始处的空格或者TAB都作为字符串的的一部分,如果希望避免这种情况,可以使用下面的这种格式:
astring = abcdefghi&
+jklmnopqrstuvwxyz
空白
空白包括空格、Tab符、换行符和注释。除非空白被包括在引号中,否则编译器把它看做分界符,而不考虑它们所占的空间,例如:
A + B /这是white space,不被考虑/ + C
" The value of A + B is " //其中空格逐字考虑
PowerScript语言基础的更多相关文章
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...
- C#语言基础
第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了 ...
- C语言基础回顾
第一章 C语言基础 1. C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...
- 黑马程序员_ C语言基础(二)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述): 1.Hello W ...
- C#语言基础— 输入与输出
C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...
- 【GoLang】GO语言系列--002.GO语言基础
002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...
- R语言基础:数组&列表&向量&矩阵&因子&数据框
R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...
- OC语言基础知识
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...
随机推荐
- MySQL--Profiling和Trace使用
使用MySQL Profiling ##=====================================## ## 查看PROFILING是否开启 SELECT @@profiling ## ...
- extjs_10_自己定义combotree组件
1.项目截图 2.treedata.json { text : "root", expanded : true, expandable : true, children : [{ ...
- visio画图有感
昨天在和一个同事看流程图,在我还在考虑图的含义时他说这个图太乱了,如果要团队成员看也会很费劲,并找出觉得画的好的案例. 对比两个图我发现了一个最大的差别是好的图形状都是水平或垂直对齐的,连接线也都是水 ...
- 如何在idea中引入一个新maven项目
如何在idea中引入一个新的maven项目,请参见如下操作:
- SysUtils.CompareText的注释
两个字符串对象进行比较,忽略大小写,两个字符串缓冲区地址利用EAX和EDX两个寄存器传给该函数,字符串的长度用4个字节保存在缓冲区的前面,函数用EAX返回比较结果,结果为0表示相同. function ...
- NTP搭建
NTP(Network Time Protocol,网络时间协议),用于同步它所有客户端时钟的服务.NTP服务器将本地系统的时钟与一个公共的NTP服务器同步然后作为时间主机提供服务,使本地网络的所有客 ...
- 简述Ajax原理及实现步骤
简述Ajax原理及实现步骤 1.Ajax简介 概念 Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML). 现在允许浏览器与务器通信 ...
- Vue非父子组件之间的传值
1.新建一个js文件 然后引入vue 实例化vue 最后暴露这个实例:实例化Vue对象的时候名称要小写,大写控制台报错,我也不知道什么原因: 2.在要广播的地方引入刚才定义的实例: 3通过VueEm ...
- Bootstrap关闭当前页
function doBack() { var index = parent.layer.getFrameIndex(window.name); parent.lay ...
- js数组条件筛选——map()
在对象数组中检索属性为指定值得某个对象使用map()就非常方便. 对象数组 var studentArray = [ {"name":"小明","ge ...