教材链接: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运算符优先级

PowerBuilder学习笔记之2PowerScript语言(一)的更多相关文章

  1. PowerBuilder学习笔记之2PowerScript语言(三)

    教材地址:https://wenku.baidu.com/view/1e82d26925c52cc58ad6be05.html?sxts=1565679996440 2.6嵌入式SQL语句 2.6.1 ...

  2. PowerBuilder学习笔记之2PowerScript语言(二)

    z教材地址:https://wenku.baidu.com/view/1e82d26925c52cc58ad6be05.html?sxts=1565679996440 2.4数组 声明数组:Integ ...

  3. 23 DesignPatterns学习笔记:C++语言实现 --- 2.7 Proxy

    23 DesignPatterns学习笔记:C++语言实现 --- 2.7 Proxy 2016-07-18 (www.cnblogs.com/icmzn) 模式理解

  4. 23 DesignPatterns学习笔记:C++语言实现 --- 2.6 Facade

    23 DesignPatterns学习笔记:C++语言实现 --- 2.6 Facade 2016-07-22 (www.cnblogs.com/icmzn) 模式理解

  5. 23 DesignPatterns学习笔记:C++语言实现 --- 2.5 Factory

    23 DesignPatterns学习笔记:C++语言实现 --- 2.5 Factory 2016-07-18 (www.cnblogs.com/icmzn) 模式理解   1. Flyweight ...

  6. 23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite

    23 DesignPatterns学习笔记:C++语言实现 --- 2.4 Composite 2016-07-22 (www.cnblogs.com/icmzn) 模式理解

  7. 23 DesignPatterns学习笔记:C++语言实现 --- 2.2 Adapter

    23 DesignPatterns学习笔记:C++语言实现 --- 2.2 Adapter 2016-07-22 (www.cnblogs.com/icmzn) 模式理解

  8. 23 DesignPatterns学习笔记:C++语言实现 --- 2.1 Bridge

    23 DesignPatterns学习笔记:C++语言实现 --- 2.1 Bridge 2016-07-22 (www.cnblogs.com/icmzn) 模式理解  

  9. 23 DesignPatterns学习笔记:C++语言实现 --- 1.5 Prototype

    23 DesignPatterns学习笔记:C++语言实现 --- 1.5 Prototype 2016-07-21 (www.cnblogs.com/icmzn) 模式理解

随机推荐

  1. 精益车间管理如何实现?让APS排程系统来帮忙

    精益制造是企业全面的文化改变,它的主要目标是消灭任何形式的浪费.最明显的例子是在生产区域堆积的物料.在制品.等待客户来买的成品.它还可能包括员工不必的移动和不增值的许多流程,目标是在最小的库存,最短的 ...

  2. 周黑鸭借力MES,推进智能生产

    1.项目背景介绍 中国食品企业在经过了一些年的行业整体快速增长后,国家对食品行业的管理提出了更加严格的要求,控制更严,准入门槛提高,企业数量成下降趋势. 大中型食品企业已经需要走出国门,走向国际市场, ...

  3. windows10删除多出的oem分区

    某次windows升级后,磁盘管理里新出现一个500多M的OEM分区 其实系统里本来就有一个OEM分区是第一个分区,大小499M,可能因为这个分区太小,系统就又新建一个 因为在windows10分区后 ...

  4. Django框架(十)--常用字段、参数、元信息、多对多关联关系

    一.ORM字段 # AutoField() int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列 # IntegerField() ...

  5. CentOS6.7编译安装mysql5.6

    可能因为有各种情况,无法通过yum安装mysql,这里记录一下编译安装的简单步骤 使用yum安装一些依赖 yum -y install make gcc-c++ cmake bison-devel  ...

  6. properties文件属性值通过xml文件为 java entity属性赋值

    一.通过xml配置文件进行赋值: 举个栗子,一目了然: 1.1 properties文件: 1.2 xml配置文件,将properties属性与java entity属性相关联:(这是一个新建的xml ...

  7. php静态化介绍

    1.动态URL地址设置成静态形式http://state.com/index.php?c=play&a=index&id=16267 ------>http://state.co ...

  8. Iconfont技术

    什么是 IconFont 顾名思义,IconFont 就是字体图标.严格地说,就是一种字体,但是,它们不包含字母或数字,而是包含符号和字形.您可以使用 CSS 设置样式,就像设置常规文本一样,这使得 ...

  9. 使用Psi Probe监控Tomcat8.5

    一.从GitHub上下载Psi Probe的war包 https://github.com/psi-probe/psi-probe/releases 可以看到当前最新版是3.3.1,下载 probe. ...

  10. scrapy 改 scrapy-redis

    1.spider 修改 class CgysSpider(scrapy.Spider): name = 'clispider' start_urls = ['https://search.bilibi ...