powerscript

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

菜单
3.1.5 代词
PowerScript提供了四个代词:This、Parent、ParentWindow 和Super。 1.This 代词This代表窗口、用户对象、菜单、应用对象或者控 件自身。 2.Parent Parent可以在窗口的控件、用户对象中的控件和菜单 的程序中使用 ,表示父对象 。当在窗口的控件脚本中使用 Parent的时候,Parent当前控件所在的窗口。 3.ParentWindow 只能在菜单的脚本当中使用,它代表运行时 菜单所在的窗口。 4.Super 在编写控件或者对象的子对象脚本时,可以调用祖先 的脚本,可以直接使用祖先对象的名称调用它们,也可以使用 Super来引用直接双亲。
菜单
3.1.2标识符、空值和特殊字符
菜单
标识符是程序中用来代表变量、标号、函数、窗口、 控 件 、 菜 单 、 对 象 等 名 称 的 符 号 。 PowerBuilder 8.0中标识符的命名规则如下: (1)必须以字母开头。 (2)其余字符可以是字母、数字和如下的特殊字符:短 横线“-”、下划线“_”、美元符号“$”,号码符号 “#”和百分符号“%”。 (3)最长40个字符,且中间不能插入空格。 变量被赋予空值的途径有两条: (1)从数据库中读到空值。 (2)使用SetNull()函数将变量设置为空值。
菜单
【例3.2】
任意输入一个年份,判断它是否为闰年。判断闰年的条件是:能被4整除但不能被 100整除的是闰年(如1992);能被4整除又能被400整除的也是闰年(如2000);其 它为非闰年(如1900、1998、2002)。 我们建立一个文件夹“闰年”。在当前打开的工作空间中,创建一个对象库 leapyear.pbl、一个目标leapyear.pbt和一个应用程序对象leapyear。 在主工具栏上单击New按钮,在弹出New对话框中选择PB Object选项卡,在其中选择 Window,单击OK按钮,打开窗口画板。 在窗口画板中,设计一个窗口对象,命名为w_main,窗口的标题设置为“判断闰 年”,窗口类型为“main!”。窗口上放置一个单行编辑框sle_1和一个命令按钮。 命 令 按 钮 的 “ text” 属 性 设 置 为 “ 判 断 ” , 选 中 其 “ Default” 复 选 框 , 对 它 的 “clicked”属性编写如下代码: integer year year=integer(sle_1.text if mod(year,4)=0 and mod(year,100)<>0 or mod(year,400)=0 then MessageBox("测试结果", sle_1.text+"是闰年。") else MessageBox("测试结果", sle_1.text+"不是闰年。") end if 这段代码是整个应用程序的核心,它首先从单行编辑框sle_1中取出用户输入的年份, 用integer()函数将其转换为整型数据,然后用If语句判断该年份是否满足闰年的条件, 若满足输出“是闰年”,否则输出“不是闰年”。输出用的是MessageBox()函数, 它会弹出一个对话框,标题为“测试结果”,第二个参数是显示的信息。 最后,在应用程序对象xdx的“open”事件中编写一行代码:open(w_main) 用以打开窗口w_main。
SQL PowerBuilder GL PowerScript SQL PowerScript
菜单
语言基础
3.1.1 3.1.2 3.1.3 3.1.4 方法 3.1.5
菜单
断行、续行和注释 标识符、空值和特殊字符 保留字 对象、属性、函数和事件的引用
代词
数据类型
3.2.1 标准数据类型 3.2.2 系统对象数据类型 3.2.3 Any数据类型 3.2.4 枚举类型
菜单
3.3.4声明外部函数
外部函数是指使用PowerScript之外的语言编写的保存在动态链接库(DLL) 中的函数,用户可以使用任何支持动态链接库的语言编写外部函数。 在使用动态链接库中的外部函数之前,用户必须先声明它。按照外部函数 的使用范围,可以把它分为两种类型:Local和Global型。Local在限定的 范围内可以使用,而Global型则在整个应用中都能被调用。声明外部函数的 语 法 格 式 为 : [access] FUNCTION returndatatype name([[REF]datatype1 arg1,..., [REF]datatypen argn])LIBRARY "libname" ALIAS FOR "extname" 其中,access指明局部函数的使用范围,可以使用PUBLIC、PRIVATE和 PROTECTED三个关键字,PUBLIC声明该函数可以在应用程序的所有脚本 中 使 用 , PRIVATE 表 示 该 函 数 只 能 在 脚 本 所 在 的 对 象 中 使 用 , PROTECTED 允 许 在 该 函 数 在 其 所 在 对 象 及 其 继 承 对 象 中 被 调 用 。 returndatatype是返回值的数据类型。name是在DLL中定义的函数名。 REF说明它后面的参数是被引用传递的。datatype arg是参数类型和参数名。 LIBRARY关键字和libname指明了包含函数的动态链接库文件名(libname 中不要包含路径),动态链接库所在的目录必须满足以下四种情况中的一种: 当前目录、windows目录、windows的system子目录、dos的path目录, 这样可以保证在应用程序运行时,外部动态链接库能够被应用程序找到。如 果 在 DLL 或 数 据 库 中 的 函 数 名 不 能 在 PowerScript 脚 本 中 引 用 , ALIAS FOR "extname"可以建立PowerScript和外部函数之间的联系。 在声明外部函数时,应当使函数参数与外部函数定义的参数类型相匹配。
菜单
3.3.3 声明数组
数组是指有一定顺序关系的若干变量的 集合。组成数组的变量称为该数组的元 素。 声明一个数组与声明变量类似,但在标 识符后面要有方括号,方括号内用来表 示数组的维数和每一维元素的个数。 在使用数组时应注意一点:无论是动态 数组还是固定元素个数的数组,使用时 一定不要越界,否则会带来编译错误。
菜单
声明的使用
3.3.1 声明变量 3.3.2 声明常量 3.3.3 声明数组 3.3.4 声明外部函数 3.3.5 作用域
菜单
运算符和表达式
3.4.1 算术运算符 3.4.2 关系运算符 3.4.3 逻辑运算符 3.4.4 连接运算符 3.4.5 运算符的优先级 3.4.6 表达式
菜单
【例3.1】
建立一个文件夹“小大写金额”。 在当前打开的工作空间中,创建一个对象库xdx.pbl、一个目标xdx.pbt和一 个应用程序对象xdx。 在主工具栏上单击New按钮,在弹出New对话框中选择PB Object选项卡,在其 中选择Function,单击OK按钮,打开函数画板。 在函数原型定义工作区定义函数名f_xdx、返回值类型String、参数xxje、 参数类型String、参数传递方式Value。 在函数脚本编辑区编写函数的功能代码: 接下来设计一个测试窗口对象,命名为w_xdx,窗口的标题设置为“test”, 窗口类型为“main!”。 窗口上放一个掩码编辑框em_1,并设置它的“Mask”属性为“#########.00” (保证两位小数),放置一个单行编辑框sle_1和一个命令按钮。 命令按钮的“text”属性设置为“转换”,选中其“Default”复选框,对它 的“clicked”属性编写一行代码: sle_1.text=f_xdx(em_1.text) 这样,当单击此按钮或直接回车时,通过自定义的全局函数f_xdx()将掩码 编辑框em_1的小写金额转换为中文大写金额,在单行编辑框sel_1中显示输 出。 最后,在应用程序对象xdx的“open”事件中编写一行代码:open(w_xdx) 用以打开窗口w_xdx。
菜单
Байду номын сангаас
3.2.3Any数据类型
PowerBuilder的Any类型,是一个灵活 的数据类型,可以具有与所赋值相对应 的类型。Any类型的变量还可以包括结 构、对象和数组。
菜单
3.2.4 枚举类型
枚举类型是PowerScript语言赋值时使 用的一组常量。枚举类型通常用来设置 对象(或控件)的属性或是作为函数的 参数。 枚举型数据以感叹号(!)结尾。
3.1.3保留字
保留字是PowerBuilder内部使用的一 组单词,有着特殊的含义,不能再把它 们用做标识符。
菜单
3.1.4对象、属性、函数和事件的引用方法
PowerBuilder应用程序开发过程实际上就是各种对象的定义和使 用过程。所有对象都有名称,并且通过名称相互区分。在 PowerScript中,访问对象的属性、函数和事件很简单,就是使 用圆点作为标记符,具体访问对象属性的格式为:对象名.对象属 性 程序访问对象的函数与事件的格式为: [objectname.] [type] [calltype] [when] functionname([argumentlist]) objectname为对象名。 type取值为FUNCTION或EVENT,用于指明访问函数还是事件, 如果省略表示函数。 calltype用于指明PowerBuilder查找函数的时机,有效取值为: STATIC(默认值)编译时查找函数,若不存在,产生编译错误, DYNAMIC程序运行时查找函数,若不存在,产生运行错误。 when用于指明函数或事件是立即执行还是当前程序段执行完毕后 执行,取值为: TRIGGER(默认值)立即执行。 POST当前程序段执行完毕后执行。 functionname调用的函数或事件名。 argumentlist参数表列。
菜单
3.2.1标准数据类型
与其它编程语言类似,PowerScript提 供了丰富的数据类型,主要包括标准数 据类型、系统对象数据类型、任意数据 类型和枚举类型。PowerScript的标准 数据类型
菜单
3.2.2系统对象数据类型
在PowerBuider应用中,可以使 用诸如窗口、菜单、命令按钮、 列表框和图表等对象,它们就是 系统对象。每一种系统对象实际 上都是定义在PowerBuilder内部 的一种数据类型。
菜单
3.1.1 断行、续行和注释
通常情况下,PowerScript的一条语句书写 在一行上。但有时一条语句太长,阅读起来 不够方便,可以把一条语句书写在几行上, 用符号“&”作为续行标记。 注释有两种写法: (1)以“//”开头,其后书写注释内容,常用于单 行注释。例如: //这是一个单行注释 (2)以“/*”开头,到“*/”结尾的部分为注释, 便于多行注释。
菜单
SQL语句
3.7.1 CONNECT语句 3.7.2 DISCONNECT语句 3.7.3 COMMIT语句 3.7.4 ROLLBACK语句 3.7.5 SELECT语句 3.7.6 INSERT语句 3.7.7 UPDATE语句 3.7.8 DELETE语句
菜单
游标的使用
菜单
函数和结构
3.5.1 函数概述 3.5.2 定义新函数 3.5.3 函数的修改、删除与使用 3.5.4 结构概述 3.5.5 定义新结构 3.5.6 结构的修改、删除和使用
菜单
POWERSCRIPT语句
3.6.1 赋值语句 3.6.2 IF … THEN语句 3.6.3 CHOOSE CASE语句 3.6.4 FOR NEXT语句 3.6.5 DO…LOOP语句 3.6.6 CONTINUE和EXIT语句 3.6.7 GOTO语句 3.6.8 HALT语句 3.6.9 RETURN语句 3.6.10 CALL语句 3.6.11 CREATE语句 3.6.12 DESTROY语句
菜单
3.3.1 声明变量
变量在程序运行过程中被赋值,在执行各种运算和控制时其 值可以改变。 数据类型 变量名[=初值][,变量名[=初值]...] 括号里的内容为可选项。其中,数据类型为任何标准类型、 枚举类型、在对象浏览器中出现的对象或者已经定义的用户 对象,变量名为任何合法标识符。 在声明变量时可以直接把常量或表达式的值赋给它,但应注 意一点,变量初始化是在编译时而不是运行时完成的。因此, 为变量赋初值时,初值不能随状态而改变。 可以在一个语句同时声明多个相同类型的变量,变量之间用 逗号分隔。
第3章 PowerScript语言
3.1 语言基础 3.2 数据类型 3.6 PowerScript语句 3.7 SQL语句
3.3 声明的使用
3.4 运算符和表达式 3.5 函数和结构
3.8游标的使用
3.9 脚本的编写 3.10 程序举例
PB
应步的程用具嵌 序使能的同数程结 性提数效逐可入 操用够嵌之编语构 和高据率字以的 纵他象入处程言化 和们使式在语,的 灵了类和从粘 访,用 于言它第 活 型输键贴 性 和入盘到语 问这其 它很的四 。 众的输程句的 数就它语提相语代是 多正入序利控 据大语句供似言(一 的确,当用制 库大言,了,成 种 函率提中可语 的增成开一但分 4 高 数。高,视句 能强分发套与和 级 的进丰了而化以 力了那人完众大)的 适一富编不工及 。程样员整不多编、
3.8.1 声明游标 3.8.2 打开游标 3.8.3 提取数据 3.8.4 关闭游标 3.8.5 使用where子句
菜单
3 3 . . 9 9 1 2 打 开 粘 脚 贴 本 脚 视 本 图 . .
脚 本 的 编 写

菜单
程序举例
【例3.1】中文小大写金额转换函数的定 义与使用 。 看一看 【例3.2】判断闰年。 看一看
相关文档
最新文档