




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章PowerScript语言,学习目标熟悉PowerScript语言,包括数据类型、变量、运算符、表达式、各种语句;掌握几个常用的标准函数掌握编辑代码的基本操作重点PowerScript语言、几个常用的标准函数难点语句格式,2.1PowerScript基础,2.1.1注释PowerScript提供了两种加注释的方法,通过注释可以进一步提高程序的可读性。(1)单行注释用/。(2)多行注释用/*/。PowerScript在工具栏提供了将所选文字加上/去除注释的两个图标。,2.1.2标识符,标识符是程序中用来表示变量、标号、函数、窗口、选单、控件、对象等名称的符号。,2.1.2标识符,标识符的命名规则如下:(1)必须从字母或下画线开头。(2)必须由字母、数字、下画线_、短横线-、¥、#、%组成。(3)不能是PowerScript保留字(见附录)。(4)不区分大小写(但若用于Web、UNIX等必须区分大小写)。(5)最长40个字符。,2.1.2标识符,注意:短横线与减号是同一个字符,而短横线可以用在标识符中,因此,表达式中使用减号时,必须在减号的两边加上空格,否则可能产生语法甚至语义错误。,2.1.3续行符,PowerScript是一种自由格式的语言,一行中可以写多条语句,也可以将一条语句分成几行。如果一行有多条语句,语句中间用分号分隔。如果将一条语句分成几行,需要使用续行符&将语句连接起来。,2.1.3续行符,IFside1=5AND&side2=6THENarea=5*7相当于IFside1=5ANDside2=6THENarea=5*7注意:不能在标识符或保留字的中间续行。,2.1.4特殊字符,字符串中可以包括特殊的ASCII码字符,它们不能使用常规的输入方法直接输入,需要使用其他字符来代替。常用的特殊字符如表2.1所示。【例2.1】特殊字符的使用注意n、t,2.1.5空值,空值NULL是PowerBuilder与数据库交换数据时使用的一种特殊值,代表数据未定义、不确定,它与空字符串、空字符、数值零以及日期00-00-00的意义完全不同。,2.1.5空值,变量被赋予空值的途径有如下两条。(1)从数据库中读到空值。(2)使用SetNull()函数赋值。Stringperson/person=SetNull(person)/person值为NULL测试变量或表达式是否为空值时,使用函数IsNull()。IFIsNull(ID)THEN,2.1.6代词,PowerScript提供了四个代词:This、Parent、ParentWindow、Super使用代词可以增加代码的通用性,不受所指代的控件或对象的名称发生变化的影响。,2.1.6代词,This:指当前处理的对象,如控件、窗口、用户对象、菜单、应用对象等。Parent:指当前处理的对象所在的窗口、用户对象、上一级菜单等。,2.1.6代词,ParentWindow:指菜单所在的窗口,该代词只能用于菜单的事件处理程序。Super:指子对象的祖先。例:调用父类的Clicked事件CALLSuper:Clicked,2.2数据类型,PowerBuilder的数据类型分为三大类:标准数据类型枚举类型系统对象类型,2.2.1标准数据类型,标准数据类型包括数值型、字符型、日期型、布尔型等一些最基本的数据类型。各种类型的名称、含义及示例见表2.2。,2.2.2枚举类型,枚举类型是PowerBuilder定义的特殊常量,常用于对象或控件的属性、系统函数的参数等。在PowerScript中,用户不能定义自己的枚举类型,而只能按系统要求使用它。枚举类型实际上是一组值,都以英文单词开始,以感叹号!结束。yesno!、Exclamation!,2.2.2枚举类型,【例2.2】枚举类型的使用messagebox(信息,保存吗?,exclamation!,yesno!),2.3变量声明及作用域,2.3.1变量声明用户自定义变量在使用之前必须先声明。系统预定义的5个全局变量不需要声明,可以直接使用:SQLCA、SQLDA、SQLSA、Error、Message,2.3.1变量声明,变量声明的格式:数据类型变量名=初值/声明一个整型变量iIntegeri或inti/声明三个实型变量a,b,cReala,b,c/声明一个字符串变量my_homeStringmy_home,2.3.1变量声明,【例2.3】计算平方根,2.3.2数组的声明,在PowerBuilder中可以使用数组。一维数组声明格式:数据类型数组名=初值在声明数组时,如果方括号内未填数字,则声明一个动态数组,运行时由系统分配数组元素的个数。可以声明多维数组。,2.3.2数组的声明,Integerperson30声明整型数组person,30个元素,下标从1到30Integernum3TO10声明整型数组num,8个元素,下标从3到10Realgrade10,10声明一个二维数组,1010个元素,2.3.3变量作用域,PowerBuilder变量的作用域有4种:Local、Instance、Global、Sharedshared很少使用。local-局部变量在事件和函数中定义的变量都是Local变量,作用范围仅在该事件或函数内,在别的事件和函数中不起作用。,2.3.3变量作用域,Instance-实例变量,局部的全局变量作用范围不仅包括所在对象的全部事件及函数,而且包括该对象的所有控件的事件及函数。Global-全局变量作用域是整个应用程序。尽量不使用。,2.4运算符及表达式,PowerBuilder的运算符有4类:算术运算符关系运算符逻辑运算符连接运算符,2.4.1算术运算符,算术运算符:+-*/+、-还用于表示正数、负数。在表达式中,乘方高于乘、除,乘、除高于加、减。同级运算遵循自左至右的原则。,2.4.1算术运算符,PowerScript提供了一组扩展的算术操作符,运算规则与C语言相同:+-+=-=/=*=,2.4.2关系运算符,关系运算符用来对相同类型的量进行大小比较运算,常用于条件语句和循环语句:=tank结果是False,2.4.3逻辑运算符,逻辑运算符用来对布尔型的量进行运算,结果是True或False:NOTANDOR,2.4.4连接运算符,连接运算符+用于把两个String型或Blob型变量的内容连接在一起,形成新的字符串或Blob型数据:s1=computer+book则s1值为computerbooks2=book+computer则s2值为bookcomputer,2.4.5运算符的优先级,运算符按照优先级进行运算,共分9级1()括号2+,-,+,-正号、负号、自增、自减3乘方4*,/乘、除5+,-加、减及连接运算6=,=,关系运算符7NOT逻辑非8AND逻辑与9OR逻辑或,2.5PowerScript语句,2.5.1赋值语句格式:变量名=表达式例:area=3.14*r*rIntss=13568注意:赋值后,数组s的长度确定为5,2.5.1赋值语句,Strings1=YougotajobStrings2=YougotajobStrings1=YougotajobStrings2=Yougotajob注意:同时使用多个单引号或双引号时需使用转义字符,2.5.2分支语句,1IF条件语句条件语句分单行和多行两种格式。格式1:IFconditionTHENELSE格式2:IFconditionTHENELSEENDIF,2.5.2分支语句,在条件语句中,ELSE子句是可选的。条件语句的执行过程:先计算condition(条件表达式)的值,如果为True,则执行THEN后面的语句,否则执行ELSE后面的语句(如果有ELSE的话)。,2.5.2分支语句,(1)IFa3ANDa=0THENt=3+bELSEt=3b(3)IFr0THENarea=3.14*r*rl=2*3.14*rELSEarea=0ENDIF注意:多行IF语句,必须以ENDIF结束,2CHOOSE语句CHOOSE语句根据所测试的表达式的值来执行不同的语句。格式:,CHOOSECASEtest_expressionCASEexpression_list1Statements1CASEexpression_list2Statements2CASEexpression_listnStatementsnCASEELSEStatementsn+1ENDCHOOSE,2.5.2分支语句,expression_List形式如下:单个值由逗号隔开的若干个值某一区间,如1to8,btohIS表达式:如IS30注:IS是保留字,代表test_expression的值混合:例如2,4,7to15,IS20,2.5.2分支语句,执行CHOOSE语句时,系统将逐条查找CASE,如果找到与测试值相匹配的判断表达式,就执行该CASE后的语句块,然后执行ENDCHOOSE后的语句。如果CHOOSE语句中包含CASEELSE子句,当未找到任何匹配的CASE条件时,执行CASEELSE子句中的语句块。,2.5.2分支语句,CHOOSECASEscoreCASEIS=90Grade=ACASE80TO89Grade=BCASE70TO79Grade=CCASE60TO69Grade=DCASEELSEGrade=EENDCHOOSE,2.5.3循环语句,1FORNEXT循环语句格式:FORv=sTOeSTEPiNEXTSTEP后的i表示步长,可以为正或负,缺省默认为1。,2.5.3循环语句,【例2.4】FORNEXT语句的使用intn,s=0,in=integer(sle_1.text)fori=nto1step-1s=s+inextsle_2.text=string(s),2.5.3循环语句,2DOLOOP循环有4种格式。,2.5.3循环语句,格式1:DOUNTILconditionLOOP当条件为False时,执行循环体;为True时退出循环。,2.5.3循环语句,【例2.5】DOUNTILLOOP循环语句的使用。intn,s=0,i=1n=integer(sle_1.text)dountilins=s+ii=i+1loopsle_2.text=string(s),2.5.3循环语句,格式2:DOWHILEconditionLOOP当条件为True时,执行循环体;为False时退出循环。,2.5.3循环语句,【例2.6】DOWHILELOOP循环语句的使用。intn,s=0,i=1n=integer(sle_1.text)dowhileinsle_2.text=string(s),2.5.3循环语句,格式4:DOLOOPWHILEcondition先执行循环体,后判断条件。当条件为True时,执行循环体;为False时退出循环。,2.5.3循环语句,【例2.8】DOLOOPWHILE循环语句的使用。intn,s=0,i=1n=integer(sle_1.text)dos=s+ii=i+1loopwhilei=nsle_2.text=string(s),2.5.3循环语句,3CONTINUE语句格式:CONTINUE使用:只能用于DOLOOP和FORNEXT语句中。功能:循环中遇到CONTINUE语句,将不执行CONTINUE语句后面的语句,回到循环条件处继续执行。,2.5.3循环语句,4EXIT语句格式:EXIT使用:只能用于DOLOOP和FORNEXT语句中;功能:循环中遇到EXIT语句,将结束循环,跳到LOOP或NEXT后面的语句去执行。,2.5.4GOTO语句,格式:GOTO语句标号功能:转到语句标号处继续执行;使用:程序中应避免使用GOTO语句。,2.6几个常用的标准函数,2.6.1MessageBox函数MessageBox函数常常用于显示出错、警告、提示及其他重要信息,在程序开发阶段被程序员用来显示程序运行状态及中间结果。MessageBox函数运行时在屏幕上显示一个窗口,用户在响应该窗口后,程序才能继续运行下去。,2.6.1MessageBox函数,格式:MessageBox(title,text,icon,button,default)其中title和text参数是必需的,其他大括号中的参数是可选的。,2.6.1MessageBox函数,MessageBox(title,text,icon,button,default)title:String类型,指定消息对话框标题。text:指定消息对话框中显示的消息,该参数可以是数值数据类型、字符串或boolean值。,2.6.1MessageBox函数,MessageBox(title,text,icon,button,default)icon:枚举类型,可选项,指定要在该对话框左侧显示的图标。值为:Information!(默认值),StopSign!,Exclamation!,Question!,None!,2.6.1MessageBox函数,MessageBox(title,text,icon,button,default)button:枚举类型,可选项,指定显示在该对话框底部的按钮。值为:OK!(默认值),OKCancel!,YesNo!,YesNoCancel!,RetryCancel!,AbortRetryIgnore!。,2.6.1MessageBox函数,MessageBox(title,text,icon,button,default)default:数值型,可选项,指定作为默认按钮的按钮编号。默认按钮是指获得焦点的按钮。按钮编号自左向右依次计数,默认值为1。如果该参数指定的编号超过了显示的按钮个数,函数将返回默认值。,2.6.1MessageBox函数,MessageBox函数执行成功时返回用户选择的按钮编号(例如1、2、3等);发生错误时返回-1;如果任何参数的值为NULL,MessageBox函数返回NULL。,2.6.1MessageBox函数,【例2.9】MessageBox函数的使用。,intnn=messagebox(1,sle_1.text,stopsign!,okcancel!,1)sle_2.text=string(n),2.6.2Open函数,Open函数用来打开一个PowerBuilder窗口。格式:Open(window_name)打开窗口并触发窗口的Open事
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年区块链工程师职业能力测试卷:区块链技术在金融行业的应用试题
- 2025年大学劳动教育专业题库- 大学生如何在劳动教育中培养批判性思维
- 2025年统计学期末考试题库:统计与决策案例分析试题型
- 2025年大学武术与民族传统体育专业题库- 武术文化的传统精神与现代意义
- 2025年大学警卫学专业题库- 巡防队伍的静脉穿刺示教方法
- 2025年大学劳动教育专业题库- 劳动教育对学生生活方式的影响
- 2025年大学科学教育专业题库- 科学实验设计的协作学习
- 2025年大学华文教育专业题库- 多媒体技术在语文教学中的应用
- 2025环境影响评价工程师之环境影响评价相关法律法规检测卷含答案详解【轻巧夺冠】
- 个人收款委托合同法律风险防范
- 英语常用3000单词
- 2025年全脂甜羊奶粉项目市场调查研究报告
- 偷东西和解协议书
- 社区基本诊查技能课件
- 2025年合肥兴泰金融控股(集团)有限公司招聘23人笔试参考题库附带答案详解
- 舞蹈即兴动作创编课件
- 交互式内容在商业领域的创新应用
- 财务电子票据管理制度
- 扶梯安全知识培训课件
- 安全施工规范手册
- 铸牢中华民族共同体意识课件
评论
0/150
提交评论