《owerScript基础》PPT课件.ppt

上传人:sh****n 文档编号:7427948 上传时间:2020-03-21 格式:PPT 页数:47 大小:729.50KB
返回 下载 相关 举报
《owerScript基础》PPT课件.ppt_第1页
第1页 / 共47页
《owerScript基础》PPT课件.ppt_第2页
第2页 / 共47页
《owerScript基础》PPT课件.ppt_第3页
第3页 / 共47页
点击查看更多>>
资源描述
第2章PowerScript语言 2 1PowerScript基础2 2数据类型2 3变量声明及作用域2 4运算符及表达式2 5PowerScript语句2 6几个常用的标准函数2 7编辑代码2 8应用程序编程实例 2 1 1注释 1 单行注释用 从双斜杠开始到行尾均为注释 2 多行注释用 从 开始到 结束均为注释 例如 这是一个计算器程序decimaladd1 add1表示中间结果 flag 1表示按下的数字是前面数字的一部分flag 0表示按下的数字是一个新的数字的开始 PowerScript在工具栏提供了将所选文字加上 去除注释的两个图标 2 1 2标识符 标识符是程序中用来代表变量 标号 函数 窗口 菜单 控件 对象等名称的符号 标识符的命名规则 l必须字母或下划线开头 l由字母 数字 下划线 短横线 组成 l不能是PowerScript保留字 见附录 l不区分大小写 但若用于Web Unix等必须区分大小写 l最长40个字符 注意 短横线与减号是同一个字符 而短横线可以用在标识符中 因此 表达式中使用减法运算符时 必须在减号的两边加上空格 否则可能产生语法甚至语义错误 2 1 3续行符 语句超长 为阅读方便可以将语句分成几行 续行符 例如 IFside1 5AND side2 6THENarea 5 7相当于IFside1 5ANDside2 6THENarea 5 7注意 不能在标识符或保留字的中间续行 2 1 4特殊字符 常用的特殊字符 如表表2 1常用特殊字符 2 1 5空值 空值既不是零 也不是非零的任何数值 变量被赋予空值的途径有两条 1 从数据库中读到空值 2 使用SetNull 函数赋值 例如 Stringperson person SetNull person person值为NULL测试变量或表达式是否为空值时 使用函数IsNull 而不是直接使用关系表达式 例如 假设a是个变量 要测试它是否为空值 可以这样写 IFIsNull a THEN 2 1 6代词 PowerScript提供了四个代词 分别为 This Parent ParentWindow和Super 常用的是前面三个 使用代词主要是为了增加代码的通用性 不受所指代的控件或对象的名称发生变化的影响 lThis This代表窗口 用户对象 菜单 应用对象或控件本身 如果不用This 则需要用按钮控件名cb 1 cb 2 cb i等 将来修改维护很麻烦 同时难以使用复制 粘贴 lParent Parent指当前控件所在的窗口 lParentWindow ParentWindow代表运行时菜单所在的窗口 该代词只能在菜单的事件处理程序中使用 lSuper 在编写控件或者对象的子对象的程序的时候 可以调用祖先的程序 用户可以直接使用祖先对象的名称调用它们 也可以使用Super来引用直接双亲 例如要调用父类的Clicked脚本可以这样写 CALLSuper Clicked 2 2 1标准数据类型 标准数据类型包括数值型 字符型 日期型 布尔型等一些最基本的数据类型 标准数据类型名称 含义 blob 二进制大对象 用于处理图像 大文本等 boolean 布尔型 只有两个可能的值 true或false character或char 单个ASCII字符 String 字符串类型 用于存储任意的ASCII字符 date 日期 包括年 1000 3000 月 01 12 日 01 31 time 时间 包括小时 00 23 分 00 59 秒 00 59 以及秒的小数位 最多六位 范围从00 00 00到23 59 59 999999 datetime 日期及时间 decimal或dec 带符号十进制数 最大18位精度 Double 带符号浮点数 15位有效数字 范围从2 2E 308到1 7E 308 2 2 1标准数据类型 integer或int 16位带符号整数 范围从 32768到 32767 long 32位带符号整数 范围从 2 147 483 648到 2 147 483 64 Real 带符号浮点数 精度6位 范围从1 17E 38到3 4E 383 5E 5 UnsignedInteger或UnsignedInt或Uint 16位无符号整数 范围从0到65535 UnsignedLong或Ulong 32位无符号整数 范围从0到4 294 976 295 2 2 2枚举类型 枚举类型是PowerBuilder定义的特殊常量 常用于对象或控件的属性 系统函数的参数等 但在PowerScript中我们不能定义自己的枚举类型 而只能按系统要求使用它 枚举类型实际上是一组值 每个值都以英文单词开始 以感叹号 结束 例如 yesno OkCancel 2 2 3系统对象数据类型 窗口 菜单 各种控件都是系统对象 每一种系统对象实际上都是定义在内部的一种数据类型 通常不必把这些对象当作数据类型来考虑 只需通过工具栏或菜单定义它们即可 因为它们都是可视化的对象 但有时候需要动态地处理窗口 菜单 控件等系统对象 就需要定义系统对象数据类型 2 3 1变量声明 所有变量在使用之前 都要首先予以说明 系统预定义的五个全局变量除外 SQLCA SQLDA SQLSA Error Message 格式 数据类型变量名 初值 变量被声明后 若未指定初值 则系统将赋以默认值 对数值型变量而言 其默认值为零 对字符型变量而言 其默认值为空字符 或空串 在定义变量的同时 我们可以同时指定变量的初值 例如 Integerscore 100 定义整型变量score 并赋予初值100Stringcity 南京 Country 定义变量city并赋初值 南京 定义变量Country 其初值为空串 2 3 2变量作用域 有四种不同范围的变量 Local Instance Global Shared 在事件和函数中定义的变量都是Local变量 它的作用范围仅在所在的事件和函数内起作用 在别的事件和函数中不起作用 Instance是一种特殊的变量 它的作用范围在所在对象的全部事件及函数 包括该对象上的所有控件的事件及函数 是一种局部的 全局变量 可以分别给Application 窗口等定义Instance变量 图2 1表示的是在Window下定义Instance变量的步骤 给Application等其它对象定义Instance变量的步骤与此类似 在Window下定义的Instance变量 作用范围是所在的窗口及窗口内的各种控件的所有事件 函数等 查看并粘贴Instance变量如图2 2所示 定义Global变量与定义Instance变量的方法相似 不过Global变量的作用域是整个应用程序 一般说 使用Global变量不是一个好的习惯 它会降低程序的可靠性 2 4 1算术运算符 算术运算符有五个 用于加 减 乘 除 乘方 其中加号 减号还用于表示正数 负数 在表达式中 乘方高于乘除 乘除高于加减 同级运算遵循自左至右的原则 2 4 2关系运算符 关系运算符用来对相同类型的量进行大小比较运算 常用于条件语句和循环语句 表2 4关系运算符关系运算符的结果是true或false 关系运算符可以应用于字符串的比较 2 4 3逻辑运算符 逻辑运算符用来对布尔型的量进行运算 表2 5逻辑运算符结果是true或false 有三个逻辑运算符 其表示和功能见表2 5 表2 6为逻辑运算的 真值表 用它表示当a和b的值为不同组合时 各种逻辑运算所得到的值 2 4 4连接运算符 连接运算符只有一个 就是符号 用于把两个String型或Blob型变量的内容连接在一起 形成新的字符串或Blob型数据例如 s1 computer book 则s1 computerbook s2 book computer 则s2 bookcomputer 2 4 5运算符的优先级 在表达式中 运算符按照优先级进行运算 共分九级 括号最高 同级运算自左至右 1 括号2 正号 负号 自增 自减3 幂运算4 乘 除5 加 减及连接运算6 关系运算符7NOT逻辑反8AND逻辑与9OR逻辑或 2 5 1赋值语句 赋值语句用于给变量 对象属性赋值 格式 variable name expression其中variable name表示变量名 expression代表表达式 它的作用是把表达式的值赋给等号左边的变量 例如 area 3 14 r r 2 5 2条件语句 条件语句分单行和多行两种格式 格式1 IFconditionTHEN ELSE 格式2 IFconditionTHEN ELSE ENDIF在条件语句中 ELSE子句是可选的 条件语句的执行过程是先计算condition 条件表达式 的值 如果为true 则执行then后面的语句 否则执行else后面的语句 如果有else的话 2 5 3FOR循环语句 FOR NEXT语句按照预先规定的次数重复执行一段代码 格式 FORv sTOe STEPi NEXTFOR NEXT语句的执行过程见图 图中 超过 的含义是 当步长大于零时 表示 大于 当步长小于零时 表示 小于 若不指定步长 则为STEP1 步长是零时为死循环 2 5 4DO LOOP循环 DO LOOP循环是重复执行一段代码 直到条件表达式为true或false 它有四种格式 格式1 DOUNTILcondition LOOP当条件为false时 执行循环体 为true时退出循环 2 5 4DO LOOP循环 格式2 DOWHILEcondition LOOP当条件为true时 执行循环体 为false时退出循环 2 5 4DO LOOP循环 格式3 DO LOOPUNTILcondition先执行循环体 然后判断条件 当条件为false时 执行循环体 为true时退出循环 和格式一的区别是这里的循环体至少执行一次 2 5 4DO LOOP循环 格式4 DO LOOPWHILEcondition先执行循环体 然后判断条件 当条件为true时 执行循环体 为false时退出循环 和格式二的区别是这里的循环体至少执行一次 例题 2 5 5CHOOSE语句CHOOSE CASE语句能够根据所测试的表达式的值的不同来执行不同的语句 而不象条件语句那样只有两种选择 格式 CHOOSECASEtest expressionCASEexpression list1statements1CASEexpression list2statements2 CASEexpression listnstatementsn CASEELSEstatementsn 1 ENDCHOOSE 其中expression list形式为 l单个值l由逗号隔开的若干个值l某一区间 例如 1to8 b to h is表达式 例如 is 30 is是保留字 代表test expression的值l混合 例如 2 4 7to15 is 20 2 5 5CHOOSE语句 执行CHOOSECASE语句时 逐条查找CASE 如果找到与测试值相匹配的判断表达式 就执行该CASE后的语句块 再执行ENDCHOOSE后的第一条语句 如果CHOOSECASE语句中包含CASEELSE子句 则未找到任何匹配的CASE条件时 执行它中的语句块 2 5 6CONTINUE语句 格式 CONTINUE只能用于DO LOOP和FOR NEXT语句中 遇到CONTINUE语句 将不执行CONTINUE语句后面的语句 回到循环条件处继续执行 2 5 7EXIT语句 格式 EXIT只能用于DO LOOP和FOR NEXT语句中 遇到EXIT语句 将结束循环 跳到LOOP或NEXT后面的语句去执行 2 5 8RETURN语句 格式 RETURN 表达式 从当前事件或函数中返回 2 5 9HALT语句 格式 HALT CLOSE HALT结束当前的PowerBuilder应用程序 HALTCLOSE先触发当前PowerBuilder应用程序的application对象的close事件 然后再结束当前的应用程序 2 5 10GOTO语句 格式 GOTO语句标号转到语句标号处继续执行 程序中应避免使用goto语句 例如 i 1BeginLoop 语句标号sum arr i 等价于语句sum sum arr i i 1IFi 50THENGOTOBeginLoop 转到BeginLoop标识的位置继续执行 2 6 1MessageBox函数 MessageBox函数常常用于显示出错 警告 提示等 在程序开发阶段被程序员用来显示程序运行状态及中间结果 它将在屏幕上显示一个窗口 用户在响应该窗口后 程序才能继续运行下去 格式 MessageBox title text icon button default 其中title和text参数是必须的 其它花括号中的参数是可选的 各参数的含义 title string类型 指定消息对话框的标题 text 指定对话框中显示的消息 可以是数值数据类型 字符串或boolean值 icon 枚举类型 可选项 指定要在该对话框左侧显示的图标 值为 Information 默认值 StopSign Exclamation Question None button 枚举类型 可选项 指定显示在该对话框底部的按钮 值为 OK 默认值 OKCancel YesNo YesNoCancel RetryCancel AbortRetryIgnore default 数值型 可选项 指定作为缺省按钮的按钮编号 按钮编号自左向右依次计数 缺省值为1 如果该参数指定的编号超过了显示的按钮个数 MessageBox 函数将使用缺省值返回 缺省按钮是指获得焦点的按钮 函数执行成功时返回用户选择的按钮编号 例如1 2 3等 发生错误时返回 1 如果任何参数的值为NULL MessageBox 函数返回NULL 2 6 2Open函数 Open函数用来打开一个窗口 格式 Open window name 打开窗口并触发窗口的open事件 2 6 3Close函数 Close函数用来关闭一个窗口 格式 Close window name 先触发窗口的CloseQuery事件 若CloseQuery事件的返回值不等于1 则再触发close事件 关闭窗口并释放窗口以及窗口上的控件所占据的内存 若CloseQuery事件的返回值等于1 则不会关闭窗口 2 6 4Run函数 Run函数被用于在PowerBuilder中运行其它的Windows应用程序 格式 Run appl 或Run appl state 其中 参数appl是个字符串 指明要运行的应用程序名 若不含路径名 则默认为当前路径 参数state是个枚举类型 用以指明开始运行时的窗口状态 有三个值可选 Maximized 最大化窗口 Minimized 最小化窗口 Normal 正常大小窗口 原始窗口 此为默认值 2 7编辑代码 编辑代码首先选定要编辑代码的对象 然后选定事件 再在Script窗口中编辑代码 见图2 10 或者用右键点击要编辑代码的窗口或控件 将出现一个弹出式菜单 选择Script 系统将打开Script窗口 并在窗口显示最后一次编辑的事件的代码 若事件都没有代码 则选择最常用的事件 供用户输入代码 用户可以选择所要的事件 2 8应用程序编程实例 计算器的外观如图 首先在硬盘上创建一个目录 Calculator用于存放计算器应用 创建计算器的具体步骤为 1 创建计算器应用 1 创建新的工作空间 单击New Workspace 页 单击 OK 保存文件到建的目录 Calculator 输入文件名为 Calculator pbw 2 创建新的应用 单击New图标按钮 打开New对话框 选择 Target 页中的应用 Application 单击 OK 弹出保存文件对话框 选择到新建的目录 Calculator 输入文件名为 Calculator 单击 Finish 系统自动用上面输入的应用名称加上扩展名 pbl 和 pbt 组成库名Calculator pbl以及目标文件名Calculator pbt 2 8应用程序编程实例 2 创建计算器窗口和设置窗口属性具体方法为 1 单击New PBObject 页 双击 Window 图标 创建一个新窗口对象并进入窗口画板 2 在窗口的属性 Properties 卡的General页中 在Title栏中输入窗口标题 计算器 将MaxBox和Resizable复选框不选中 其余使用缺省值 保存窗口对象 取名为w calculator 3 声明几个变量在 Script 脚本区左上边的下拉列表框中选择 Declare 然后在下面的脚本区中编写代码如下 decimaladd1chars1intflag其中 add1保存中间结果 s1保存按下的运算符 flag是一个标志位 flag 1表示按下的数字是前面数字的一部分 flag 0表示按下的数字是一个新的数字的开始 2 8应用程序编程实例 4 在窗口中布置显示数值的单行编辑框控件单击菜单 Insert Control SingleLineEdit 在窗口上点击 出现一个单行编辑框 删除 Text 栏中的 none 选中 DisplayOnly 属性 在单行编辑框的边沿拖动 调整其尺寸 5 在窗口中布置十个数字按钮和小数点按钮制作数字 1 按钮 单击菜单 Insert Control CommandButton 在窗口上点击 在 Text 栏中输入 1 点击 Other 页下部的 Pointer 下拉列表框 选择 HyperLink 图标 单击数字 1 按钮 按右键 单击 Script 光标自动跳到脚本编辑区 可以看到缺省的按钮事件为 licked 输入如下代码 ifflag 0thensle 1 text flag 1endifsle 1 text sle 1 text this text用外观复制的办法制作10个数字按钮以及小数点按钮 外观复制的办法是单击一个数字按钮 同时按Ctrl T键 将新按钮Text栏中的内容改为要制作的按钮符号 2 8应用程序编程实例 6 运算符按钮的制作用外观复制的办法制作 按钮 编辑新按钮的 Clicked 事件脚本如下 choosecases1case sle 1 text string dec sle 1 text add1 case sle 1 text string add1 dec sle 1 text case sle 1 text string dec sle 1 text add1 case sle 1 text string add1 dec sle 1 text endchooseadd1 dec sle 1 text s1 this textflag 0四个运算符按钮的 Clicked 事件的脚本操作过程与数字按钮类似 7 清除 按钮的制作用外观复制的方法复制出一个按钮 将其Text栏中的内容改为 清除 在其 Clicked 事件中输入以下脚本 sle 1 text add1 0s1 flag 0保存已作的工作 2 8应用程序编程实例 8 按钮的制作用外观复制的方法复制出一个按钮 将Text栏中的内容改为 将按钮的 Default 属性选中 这样按下回车键时 自动执行 按钮的 Clicked 事件的代码 键完整的脚本为 choosecases1case sle 1 text string dec sle 1 text add1 case sle 1 text string add1 dec sle 1 text case sle 1 text string dec sle 1 text add1 case sle 1 text string add1 dec sle 1 text endchooseflag 0s1 保存添加了控件的窗口对象 关闭窗口 9 编写 应用 的脚本在树型窗口中 双击 应用 Calculator 弹出应用画板 在事件下拉列表框中对应的是 Open 事件 在下面空白的脚本编辑区中编写 Open 事件的脚本 Open w calculator 保存并关闭应用画板 单击 Run 图标按钮 就可以运行计算器程序了 例题例如 分别用For Next和Do Loop求s 1 3 5 7 99 注意其中的差别 特别是循环条件 1 用For Next循环的程序段integers is 0FORi 1TO99STEP2s s iNEXTst 1 text s string s 将运算结果显示在静态文本框st 1中 因为s是整数 所以要用string 函数将它转换为字符型 2 用DoUntil Loop循环的程序段integers is 0i 1DOUNTILi 99s s ii i 2LOOPst 1 text s string s 例题 3 用DoWhile Loop循环的程序段integers is 0i 1DOWHILEi 99 注意这里是小于等于99s s ii i 2LOOPst 1 text s string s 4 用Do LoopUntil循环的程序段Integers is 0i 1 DOs s ii i 2LOOPUNTILi 99st 1 text s string s 5 用Do LoopWhile循环的程序段integers is 0i 1DOs s ii i 2LOOPWHILEi 99 注意这里是小于等于99st 1 text s string s 图2 1定义Instance变量 图2 1定义Instance变量 图2 2查看并粘贴Instance变量
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!