PowerScript语言.ppt_第1页
PowerScript语言.ppt_第2页
PowerScript语言.ppt_第3页
PowerScript语言.ppt_第4页
PowerScript语言.ppt_第5页
免费预览已结束,剩余35页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章PowerScript语言 PowerScript语言是PowerBuilder的编程语言 它由语句 命令 函数的集合以及嵌入式SQL语句组成 是一种面向对象的 结构化的高级编程语言 3 1语言基础 3 1 1注释 注释 是添加在程序中的说明性文字 单行注释 以双斜杠 开始到行结束 多行注释 以 开始到 结束 编写代码一般不区分大小写 所以不必考虑大小写的问题 3 1 2标识符 标识符是指在程序中使用的变量 标号 函数 窗口 控件 菜单及所引用对象的名称 在PB9 0中 标识符的命名遵从下述规则 1 标识符必须以英文字母或者下划线 开头 2 标识符不能是保留字 3 由字母 数字 下划线 短横线 组成 4 标识符不区分大小写字母 5 标识符不能超过40个字符 且中间不能出现空格 3 1 3语句的分隔 断行和续行 1 分隔在一行书写多个语句时 可以使用分隔符 对每个语句加以分隔 如IntegerI j k i 2 j 3 k 42 断行写完一行需要另起一行时 直接按Enter键进行断行 3 续行一个较长的语句可以通过续行分成几行以增强可读性 在前行的末尾加上 即可 3 1 4特殊字符 特殊字符 在字符串中经常需要包含一些特殊的ASCII字符 特别是控制字符 它们不能用常规的输入方法直接输入 需要使用其他字符来代替 特殊的ASCII字符或控制字符用波纹号 作为前缀 例如 n为换行 r为回车 为双引号 3 1 5空值NULL 空值是一种特殊值 代表数据未定义 值不确定 它与空字符串 数值零的意义完全不同 变量被赋予空值的途径有两种 从数据库读到空值和使用SetNull 函数赋值 测试变量或表达式是否为空值时 使用函数IsNull 而不是直接使用表达式 例如 StringpersonSetNull person IfIsNull person THENmessagebox 测试空值 person是空值 3 1 6数据类型 PowerScript提供了丰富的数据类型 包括标准数据类型 枚举数据类型和系统对象数据类型三种 标准数据类型包括数值型 字符型 日期型 布尔型等一些最基本的数据类型 共14种 具体如下表所示 枚举类型 枚举类型是powerscript定义的特殊常量 常用于对象或控件的属性 系统函数的参数等 枚举类型实际上是一组值 每个值都以英文单词开始 以感叹号结束 如 yesno 系统对象数据类型 Pb中 窗口 菜单 控件等都是系统对象 每一种系统对象实际上都是一种数据类型 编程时 根据需要可以说明系统对象数据类型的变量 windowm win 说明窗口变量menum menu 说明菜单变量 3 1 7运算符和表达式 1 算术运算符用于完成数学运算 加 减 乘 除等 2 关系运算符用于将两个操作数进行比较 可以是数值类型也可以是其他数据类型 比较的结果为true false和null之一 示例 ifa bthen也可以应用于字符串的比较 此时按ASCII码进行比较 如 abc abc 运算结果为true abc ABC 运算结果为false 3 逻辑运算符用于构成结果为True或False的逻辑表达式 示例 ifnota 10then4 连接运算符即符号 用于把两个String型或Blob型变量的内容连接起来 形成新的String型或Blob型数据 示例 stringis addressstringlname fname fullnameis adress 山东 烟台 is adress中 山东烟台 fullname lname fname 两个字符串中间加上 表达式是由运算符和操作数连接起来 构成符合PowerScript语法规则的式子 Powerscript具有两种类型的表达式 分别是数字类型表达式和字符类型表达式 3 1 8运算符和表达式 3 2PowerScript语句 PowerScript用于控制程序的流程 主要有赋值语句 条件控制语句和循环控制语句等 1 赋值语句赋值语句用于给变量 对象属性赋值 是程序中使用最频繁的语句 格式如下 变量名或对象属性 表达式简单举例 integerli agestringls addressls address 北京 li age 30 2 条件语句 1 IF语句 根据表达式值的真假决定下一步执行的语句 单行格式 IFTHEN ELSE 多行格式 IFTHEN ElSEIFTHEN ELSE ENDIF 简单实例1 从单行编辑框中输入行李的重量 单击 确定 按钮后输出费用 根据行李的重量 缴纳费用doubleld weight ld payld weight double sle weight text ifld weight 50thenld pay ld weight 0 6elseld pay 50 0 4st pay text string ld pay CHOOSECASECASECASE CASE CASEELSE ENDCHOOSE 2 CHOOSECASE语句 ChooseCase语句根据判断表达式的值选择不同操作 可同时处理多种情况 简单实例2 从单行编辑框中输入年和月份 单击 确定 按钮后得到该月的天数 Integerli month li day li yearBooleanlb byesLi year integer sle year text Li month integer sle month text Ifmod li year 4 0andmod li year 100 0orMod li year 400 0thenLb byes trueElseLb byes falseEndif Choosecaseli monthcase1 3 5 7 8 10 12li day 31case4 6 9 11li day 30case2iflb byesthenli day 29elseli day 28endchoosest day text string li day 循环语句 1 DO LOOP语句 DOUNTILLOOP 条件为假时执行 条件为真时结束循环 若初始条件为真则什么也不做 DOWHILELOOP 条件为真时执行 条件为假时结束循环 若初始条件为假则什么也不做 DOLOOPUNTIL 条件为假时执行 条件为真时结束循环 不管初始条件如何 循环体至少执行一次 DOLOOPWHILE 条件为真时执行 条件为假时结束循环 不管初始条件如何 循环体至少执行一次 2 FOR NEXT语句FOR TO STEP NEXT3 CONTINUE语句CONTINUE语句与DO LOOP或FOR NEXT语句配合使用 表示开始下一次循环 4 EXIT语句EXIT与语句与DO LOOP或FOR NEXT语句配合使用 表示跳出循环 例3 计算S 1 3 5 7 99 用不同的循环语句实现 单击 确定 按钮后 结果显示在静态文本框中 1 for next循环Integers IS 0Fori 1to99step2S s INextSt 1 text s string s 2 dountil loop循环integers Is 0i 1dountili 99s s Ii i 2loopst 1 text s string s 3 dowhile loop循环Integers IS 0i 1Dowhilei 99S s Ii i 2LoopSt 1 text s string s 4 do loopuntil循环Integers IS 0i 1DoS s Ii i 2Loopuntili 99St 1 text s string s 5 do loopwhile循环Integers IS 0i 1DoS s Ii i 2Loopwhilei 99St 1 text s string s 其他语句 CONTINUE 遇到该语句 将不执行continue语句后面的语句 回到循环条件处继续执行 RETURN 返回语句 从当前事件或函数中返回 HALT 结束应用程序的执行 CREATE 为指定的对象类型产生一个对象实例 DESTROY 用于撤销由CREATE语句创建的对象实例 3 3数组变量 3 3 1变量的作用域 全局变量 在整个应用程序的任何地方都起作用 实例变量 在一个对象实例的所有程序中起作用 共享变量 在一个对象的所有实例的程序中起作用 局部变量 只在当前程序段中起作用 3 3 2变量声明 在PB中 所有变量在使用前都要首先予以声明 变量声明的格式为 初值 变量名 初值 变量被声明后 若未指定初值 则系统将赋以默认值 数值型变量的默认值为零 字符型变量的默认值为空字符或空串 例如 Integera 定义一个整型变量Stringstu num 定义一个字符串变量Integerscore 100 定义一个整型变量 赋初值100 3 3 3数组 数组就是一组相同数据类型的带下标的变量集合 同一数组中的元素使用同一个公用名 还有一个或多个带方括号的下标量 此下标量唯一的标识该数组元素 数组的声明与变量的声明差别不大 不同之处在于数组声明除了定义名称外 还要设置一个或多个数组的下标量 例如 Integerch1 10 声明一整型数组 有10个元素Integernum 2to10 声明一整型数组 下标从2到10Charstudent 10 10 声明一二维数组 共10 10个元素 3 4使用代词编写通用代码 3 4 1This代词This代词用于引用对象本身 例如有一菜单项m test 若想在该菜单项旁边标上一个选中标记 可使用下列语句完成 This Check 等价于m test Check 例4 单击窗体上按钮 按钮文字发生变化 3 4 2Parent代词 用于引用父对象 窗口中的控件 在窗口中的一个控件的脚本里使用Parent代词来引用该控件所属的窗口 自定义用户对象 在一个自定义用户对象的一个控件的脚本中使用Parent代词引用该用户对象 菜单 在一个菜单项的脚本中使用Parent代词引用此菜单项是父菜单 例如 关闭名为w main窗口的按钮事件为close Parent 等价于close w main 3 4 3ParentWindow代词 只能在菜单的脚本中使用 它代表运行时菜单所在的窗口 例如 窗口w main有一个菜单项m close 其功能是关闭w main窗口 则可在菜单项m close的Clicked事件中编写如下代码 close ParentWindow 等价于close w main 3 4 4Super代词 Super代词用于一个继承对象的脚本引用它的直接祖先 例如 在当前窗口的close事件中执行其祖先窗口的close事件脚本 则可以将如下语句添加到当前窗口的close事件脚本中 CallSuper close 3 5常用标准函数 PowerScript提供了包含数百种标准函数的函数库 每个函数完成特定的功能 这些函数可以不用声明而直接使用 编程人员不需要了解函数的实现细节 只需知道函数的功能 参数及用法即可 标准函数的使用大大加快了开发速度 1 MessageBox函数 MessageBox函数常用于显示出错 警告 提示等 它将在屏幕上显示一个窗口 用户在响应该窗口后 程序才能继续运行下去 函数使用格式为 MessageBox 标题 显示的消息 左侧显示的图标 底部的按钮 默认按钮的编号 单击窗体上的 确定 按钮 弹出如下的对话框intretret messagebox 这是一个例子 是否要存盘 question yesnocancel 3 例5MessageBox函数例子 2 Open函数 打开一个pb窗口 3 Close函数 关闭一个pb窗口 4 Run函数 在pb中运行其它应用程序 3 6嵌入式SQL语句与数据库操作 PB提供了一整套嵌入式SQL语句 利用嵌入式SQL语句 用户可以在程序中灵活的操纵数据库 嵌入式SQL语句必须以分号 结束 变量前必须加冒号 Select语句 从数据库中检索第一条满足条件的记录 并将结果放到变量列表中去 Insert语句 在表中插入一条记录 Update语句 更新指定表中满足条件的记录 Delete语句 删除指定表中满足条件的记录 习题 1 填空题 1 在powerbuilder中 标识符必须以开头 2 测试变量式表达是否为空值 可以使用函数 3 Powerbuilder的四种变量类型为 和 4 Powerscript语言中用作续行的符号为 2 选择题 1 powerscript的行注释为 A B C D 2 代词Parent指 A当前控件所在的窗口B运行时菜单所在的窗口C父对象D对象式控件本身 字母或下划线 isnull 全局 实例 共享 局部 A A 3 PowerScript算术表达式a b 4等价于 Aa a b 4Ba b 4 aCa 1 b 4 Da a b 4 4 在PowerBuilder中 使用的编程语言是 AVBScriptBPASCALCPowerScriptDPowerDesigner 5 不是PowerBuilder的标准

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论