收藏 分享(赏)

第2章 PowerScript 语言.ppt

上传人:j35w19 文档编号:8699093 上传时间:2019-07-08 格式:PPT 页数:38 大小:788KB
下载 相关 举报
第2章  PowerScript 语言.ppt_第1页
第1页 / 共38页
第2章  PowerScript 语言.ppt_第2页
第2页 / 共38页
第2章  PowerScript 语言.ppt_第3页
第3页 / 共38页
第2章  PowerScript 语言.ppt_第4页
第4页 / 共38页
第2章  PowerScript 语言.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、第2章 PowerScript 语言,2.1 PowerScript基础,2.2 数据类型,2.3 变量声明及作用域,2.4 运算符及表达式,2.5 PowerScript语句,2.6 几个常用的标准函数,2.1 PowerScript基础,2.1.1 注释PowerScript提供了如下两种加注释的方法,通过注释可以进一步提高程序的可读性。 (1)单行注释用“/”。 从双斜杠开始到行尾均为注释。 (2)多行注释用“/* */”。 从/*开始到*/结束均为注释。 例如: Decimal add1 / add1表示中间结果 /* flag=1表示按下的数字是前面数字的一部分 flag=0表示按下

2、的数字是一个新的数字的开始 */ Int flag,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/相当于

3、 IF side1 = 5 AND side2 = 6 THEN area = 5*7注意:不能在标识符或保留字的中间续行。,2.1.4 特殊字符,字符串中可以包括特殊的ASCII码字符,它们不能使用常规的输入方法直接输入,需要使用其他字符来代替。常用的特殊字符如下表。,2.1.4 特殊字符,/显示一学生的相关信息 MessageBox(“学生信息“,“n姓名 t性别 t& 专业名“+“n刘敏 t男 t计算机科学与技术“)运行后的结果如下图:,2.1.5 空值,空值NULL是PowerBuilder与数据库交换数据时使用的一种特殊值,代表数据未定义、不确定,它与空字符串、空字符、数值零以及日期

4、00-00-00的意义完全不同。空值既不是零,也不是非零的任何数值。变量被赋予空值的途径有如下两条。 (1)从数据库中读到空值。 (2)使用SetNull()函数赋值。 例如: String person / person=“ SetNull(person) / person值为NULL,2.2 数据类型,2.2.1 标准数据类型标准数据类型包括数值型、字符型、日期型、布尔型等一些最基本的数据类型。,2.2.2 枚举类型枚举类型是PowerBuilder定义的特殊常量,常用于对象或控件的属性、系统函数的参数等。但在PowerScript中我们不能定义自己的枚举类型,而只能按系统要求使用它。枚举

5、类型实际上是一组值,每个值都以英文单词开始,以感叹号(!)结束,例如:yesno! 等。,2.3 变量声明及作用域,2.3.1 变量声明在PowerBuilder中,所有变量在使用之前,都要首先予以说明。系统预定义的5个全局变量除外(SQLCA、SQLDA、SQLSA、Error、Message)。格式1:数据类型 变量名=初值例如: Real a,b,c 在定义变量的同时,可以同时指定变量的初值。Integer score=100,2.3 变量声明及作用域,2.3.2 数组的声明在PowerBuilder中,用户可以使用数组来表示一系列具有相同类型的变量,这些具有相同类型的变量共用一个变量名

6、,使用下标访问数组中的每个变量。格式2:数据类型 数组名 =初值若在声明数组时,方括号内未填数字,则声明一个动态数组,运行时由系统分配数组元素的个数。,2.3.3 变量作用域,在PowerBuilder 10.0中,有4种不同范围的变量:Local、Instance、Global、Shared。 Local变量的作用范围仅在所在的事件和函数内,在别的事件和函数中不起作用。Instance变量的作用范围不仅在所在对象的全部事件及函数,而且包括该对象的所有控件的事件及函数。Global变量的作用域是整个应用程序。,2.4 运算符及表达式,2.4.1 算术运算符算术运算符有:+、-、*、/、。其中加

7、号、减号还用于表示正数、负数。扩展的算术操作符:+ - += -= /= *= = 2.4.2 关系运算符关系运算符用来对相同类型的量进行大小比较运算,常用于条件语句和循环语句。关系运算符的结果是True或False。关系运算符有: 、=、=,2.4 运算符及表达式,2.4.3 逻辑运算符逻辑运算符用来对布尔型的量进行运算,结果是True或False。有3个逻辑运算符:NOT、AND、OR 2.4.4 连接运算符连接运算符只有一个,就是符号“+”,用于把两个String型或Blob型变量的内容连接在一起,形成新的字符串或Blob型数据。 例:s1=“computer “+“book“ 则s1=

8、“computer book“,2.4.5 运算符的优先级在表达式中,运算符按照优先级进行运算,共分9级,括号最高,同级运算自左至右。1 () 括号2 +,- ,+,- 正号、负号、自增、自减3 幂运算4 *,/ 乘、除5 +,- 加、减及连接运算6 =,=, 关系运算符7 NOT 逻辑非8 AND 逻辑与9 OR 逻辑或,2.5 PowerScript语句,2.5.1 赋值语句赋值语句用于给变量、对象属性赋值。格式: variable_name= expression,2.5 PowerScript语句,2.5.2 分支语句 1IF条件语句条件语句分单行和多行两种格式。格式1:IF cond

9、ition THEN ELSE格式2:IF condition THENELSEEND IF在条件语句中,ELSE子句是可选的。,2.5.2 分支语句,2CHOOSE语句CHOOSECASE语句能够根据所测试的表达式的值的不同来执行不同的语句,而不像条件语句那样只有两种选择。格式:CHOOSE CASE test_expressionCASE expression_list1Statements1CASE expression_list2Statements2CASE expression_listnStatementsn CASE ELSE Statements n+1END CHOOSE,

10、2.5.2 分支语句,其中expression_List形式如下。 单个值 由逗号隔开的若干个值 某一区间 IS表达式 混合:例如2,4,7 to 15, IS20,2.5.3 循环语句,1FOR循环语句FORNEXT语句按照预先规定的次数重复执行一段代码。格式:FOR v= s TO e STEP i NEXT执行过程如下:,2.5.3 循环语句,2DOLOOP循环DOLOOP循环是重复执行一段代码,直到条件表达式为True或False,它有4种格式:格式1:DO UNTIL conditionLOOP格式2:DO WHILE condition LOOP,2.5.3 循环语句,格式3:DO

11、LOOP UNTIL condition格式4:DO LOOP WHILE condition,2.5.3 循环语句,3CONTINUE语句格式:CONTINUE只能用于DOLOOP和FORNEXT语句中,遇到CONTINUE语句,将不执行CONTINUE语句后面的语句,回到循环条件处继续执行。 4EXIT语句格式:EXIT只能用于DOLOOP和FORNEXT语句中,遇到EXIT语句,将结束循环,跳到LOOP或NEXT后面的语句去执行。,2.6 几个常用的标准函数,2.6.1 MessageBox函数MessageBox函数常常用于显示出错、警告、提示及其他重要信息,并且在程序开发阶段被程序员

12、用来显示程序运行状态及中间结果。MessageBox函数将在屏幕上显示一个窗口,用户在响应该窗口后,程序才能继续运行下去。格式:MessageBox(title,text ,icon ,button ,default)其中title和text参数是必需的,其他大括号中的参数是可选的。各参数的含义如下: title:String类型,指定消息对话框的标题。 text:指定消息对话框中显示的消息,该参数可以是数值型、字符串或boolean值。, icon:枚举类型,可选项,指定要在该对话框左侧显示的图标。值为:Information!(默认值),StopSign!,Exclamation!,Que

13、stion!,None!。 button:枚举类型,可选项,指定显示在该对话框底部的按钮。值为:OK!(默认值),OKCancel!,YesNo!,YesNoCancel!,RetryCancel!,AbortRetryIgnore!。,default:数值型,可选项,指定作为默认按钮的按钮编号,按钮编号自左向右依次计数,默认值为1。如果该参数指定的编号超过了显示的按钮个数,MessageBox()函数将使用默认值返回。默认按钮是指获得焦点的按钮。函数执行成功时返回用户选择的按钮编号(例如1、2、3等),发生错误时返回-1。如果任何参数的值为NULL,MessageBox()函数返回NULL。

14、,2.6.1 MessageBox函数,【例2.9】MessageBox函数的使用。 Int ret ret=MessageBox(“这是一个例子“,“是否要存盘?“,Question!,YesNoCancel!,3) IF ret=1 THENDw_1.update() ElseIF ret=2 THENRETURNEND IF END IF 运行时的界面如图所示。,MessageBox函数运行示例,2.6.2 Open函数,Open函数用来打开一个PowerBuilder窗口。格式: Open(window_name) 打开窗口并触发窗口的Open事件。,2.6.3 Close函数Clos

15、e函数用来关闭一个PowerBuilder窗口。格式:Close(window_name)先触发窗口的CloseQuery事件,若CloseQuery事件的返回值不等于1,则再触发Close事件、关闭窗口并释放窗口以及窗口上的控件所占据的内存。若CloseQuery事件的返回值等于1,则不会关闭窗口。因此,我们可以在窗口的CloseQuery事件中,编写代码询问用户是否要关闭窗口。,2.6.3 Close函数 例:在窗口的CloseQuery事件中编写代码Int retret=MessageBox(“准备关闭窗口”,“是否要保存?”, Question!,YesNoCancel!,3)Choo

16、se case retCase 3Return 1Case 1Dw_1.update()End choose,2.6.4 Run函数,Run函数被用于在PowerBuilder中运行其他的Windows应用程序,如计算器、记事本及其他用户应用程序等。格式:Run(appl)或 Run(appl, state)参数appl是个字符串,指明要运行的应用程序名,若不含路径名,则默认为当前路径。参数state是个枚举类型,用以指明开始运行时的窗口状态,有3个值可选, Maximized!、 Minimized! 、 Normal!,2.8 应用程序编程实例,【例2.12】用PowerBuilder 1

17、0.0制作计算器应用程序。 计算器的外观如下图。,自制计算器外观,2.8 应用程序编程实例,创建计算器的具体步骤如下。 1创建计算器应用 (1)创建新的工作空间。 (2)创建新的应用。 2创建计算器窗口和设置窗口属性,2.8 应用程序编程实例,3声明几个变量 在“Script”脚本区左上边的下拉列表框中选择“(Declare)”,然后在下面的脚本区中编写代码如下: Decimal add1 Char s1 Boolean flag 其中,add1保存中间结果;s1保存按下的运算符;flag 是一个标志位,flag=false表示按下的数字是前面数字的一部分,flag=true表示按下的数字是一

18、个新的数字的开始。,2.8 应用程序编程实例,4在窗口中布置显示数值的单行编辑框控件 5在窗口中布置10个数字按钮和小数点按钮 首先制作数字“1”按钮按钮事件 “Clicked”中输入如下代码:IF flag THENsle_1.text=“flag=falseEND IF sle_1.text=sle_1.text+THIS.text,2.8 应用程序编程实例,保存已完成的工作。由于10个数字按钮以及小数点按钮的“Clicked”事件的脚本都一样,外观也仅有Text属性不同,所以可以用控件完全复制的方法来快速地创建其他按钮。 6、*、/ 运算符按钮的制作 首先制作“”运算符按钮,它与数字按钮

19、仅外观类似(Text属性不同,其余属性相同),脚本完全不同。可以先用外观复制的办法制作“”按钮控件。,2.8 应用程序编程实例,新按钮的“Clicked”事件脚本如下: CHOOSE CASE s1 CASE *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) END CHOOSE Add1=De

20、c(sle_1.text) s1=THIS.text flag=true,2.8 应用程序编程实例,7“清除”按钮的制作 用外观复制的方法复制出一个按钮,将其Text栏中的内容改为“清除”,在其“Clicked”事件中输入以下脚本: sle_1.text=“ Add1=0 s1= flag=true 保存已完成的工作。,8“”按钮的制作 “=”键完整的脚本为:CHOOSE CASE s1CASE *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)END CHOOSEflag=trues1= ,2.8 应用程序编程实例,9编写“应用”的脚本在树状窗口中,双击“应用”Calculator,弹出应用画板。这时在事件下拉列表框中对应的是“Open”事件。在下面空白的脚本编辑区中编写“Open”事件的脚本:Open(w_calculator)保存并关闭应用画板,计算器已经制作完毕。单击“Run”图标按钮,就可以运行计算器程序了。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报