计算机信息管理基础-第12讲.ppt

上传人:zhu****ei 文档编号:3590440 上传时间:2019-12-18 格式:PPT 页数:86 大小:1.43MB
返回 下载 相关 举报
计算机信息管理基础-第12讲.ppt_第1页
第1页 / 共86页
计算机信息管理基础-第12讲.ppt_第2页
第2页 / 共86页
计算机信息管理基础-第12讲.ppt_第3页
第3页 / 共86页
点击查看更多>>
资源描述
重庆大学全日制本科计算机基础系列课程,计算机信息管理基础,重庆大学计算机学院曾一,第12讲,PowerBuilder编程基础,重庆大学计算机学院曾一,本章主要内容,PowerBuilder编程基础PowerBuilder的各主要元素PB脚本PowerScript,1.PowerBuilder,一种可视化的面向对象的快速应用程序开发环境。面向对象的,整个应用程序由大量对象组成,对象之间存在消息传递。PB中,窗口(window)是主要的用户界面。PB是一个开放的应用程序开发环境,它可以访问很多常用的后台数据库系统。PB的应用程序是事件驱动的,这就是说运行于该环境下的程序并不是顺序执行的,而是用户通过各种动作控制应用程序的流程。,PowerBuilder界面,菜单栏,工具栏,系统树窗口,剪贴窗口,属性区,工作区,输出窗口,应用程序结构,应用属性,应用程序对象的属性,General选项卡,应用程序对象名称,应用程序的显示名称,设置状态条的默认文本,默认设置为Ready,定义显示数据窗口消息对话框时的默认标题,应用程序对象的附加属性,2.应用程序对象的方法和事件,(1)Open事件open事件是一个重要的事件,它表明了应用程序对象开始执行。该事件只发生一次,且必须为其编写脚本代码。Open事件脚本的功能应该是初始化运行环境,并打开程序的主窗口。,应用程序对象的方法和事件,应用对象的事件-open,脚本/设置事务对象的参数SQLCA.DBMS=ODBCSQLCA.AutoCommit=FalseSQLCA.DBParm=ConnectString=DSN=my_db;uid=dba;pwd=sql“/连接数据库CONNECTUSINGSQLCA;/连接数据库/打开窗口IFSQLCA.SQLcode20,(3)循环控制语句PowerScript的循环语句有两种形式DOLOOP和FORNEXT,可以与EXIT和CONTINUE语句配合使用DOLOOP循环四种形式结构分别为:DOUNTILconditionLOOPDOWHILEconditionLOOPDOLOOPUNTILconditionDOLOOPWHILEconditionDO表示循环的开始,LOOP表示循环的结束,condition表示循环条件,是逻辑表达式,其值为True或False,DOUNTILconditionLOOP语法格式为:DOUNTILconditionStatementblockLOOP执行过程为先判断控制条件condition,如果为false,则执行语句块statementblock,执行到LOOP后,接着判断条件condition,直到结果为true时结束循环。,DOWHILEconditionLOOP的语法格式:DOWHILEconditionStatementblockLOOP执行过程为先判断控制条件condition,如果为true,则执行语句块statementblock,执行到LOOP后,接着判断条件condition,直到结果为false时结束循环。,DOLOOPUNTILcondition的语法格式:DOStatementblockLOOPUNTILcondition执行过程为先执行语句块statementblock,然后判断控制条件condition,如果为false,则继续执行语句块statementblock,直到condition的结果为true时结束循环。,DOLOOPWHILEcondition的语法格式为:DOStatementblockLOOPWHILEcondition执行过程先执行语句块statementblock,然后判断控制条件condition,如果为true,则继续执行语句块statementblock,直到condition的结果为false时结束循环。,FORNEXT语句语法格式为:FORvarname=startTOendSTEPincrementStatementblockNEXT其中,varname是循环变量,可以是任意的数值类型,start、end分别是循环变量的初值和终值。increment是每次循环后循环变量的步长增量,缺省值为1,statements是一组语句称做循环体。FOR-NEXT语句的执行过程为:循环变量varname从start开始到end为止,重复执行循环体,每执行一次varname,被重新赋新值为varname+increment。,(4)EXIT语句EXIT语句是中途结束循环的语句。注意:如果在循环嵌套中使用EXIT语句,那么执行EXIT语句只能退出当前层的循环,而不能退出所有循环。(5)CONTINUE语句CONTINUE语句控制循环的执行使之返回循环开始处。,(6)RETURN语句RETURN语句立即终止事件处理,程序或函数的执行把控制返回到调用程序,其语法格式为:RETURNexpression其中expression是个表达式,其值作为事件处理程序或函数的返回值。(7)HALT语句HALT语句用于终止应用程序的运行,其语法为:HALTCLOSE其中CLOSE是个可选项,当HALT语句不带CLOSE选项时,该语句立即终止应用程序的运行;当HALT语句带CLOSE选项时,执行到该语句后应用程序先执行应用对象的Close事件处理程序,之后再终止应用程序的运行。,8)常用标准函数,(1)MessageBox()函数使用MessageBox()函数可以向用户显示或提示各种信息。语法如下:MessageBox(title,text,icon,button,default)title是一个被用来确定MessageBox标题的字符串。text是在MessageBox中显示的文本。icon用来指示显示在MessageBox左侧的图标。可选的值有Information!StopSign!、Exclamation!、Question!、None!。,button用来指示你想要显示的命令按钮的集合。这些值是OK!、OKCancel!、YesNo!、YesNoCancel!、RetryCancel!、AbortRetryIgnore!。默认值是OK!。default指定默认的按钮函数返回值:Integer,函数执行成功时返回用户选择的按钮编号例如1,2,3等,发生错误时返回-1举例:ll=MessageBox(保存修改,您修改了数据现在是否保存,Question!,YesNoCancel!),(2)Open函数打开一个PowerBuilder窗口格式:Open(window-name)(3)Close函数关闭一个PowerBuilder窗口格式:Close(window-name)例如:下面的代码关闭窗口w_employee然后打开窗口w_departmentsClose(w_employee)Open(w_departments),(4)数据类型检查函数数据类型检查函数又称为Is簇函数它们用来判断一个字符串是否符合某种数据类型的格式,返回值是一个布尔类型的值。Is簇函数的语法格式为:Is*(string)其中string为要测试的字符串。IsNumber()用于测试某字符串是否为有效数值。IsDate()检测指定的字符串是否包含有效日期。IsTime()检测指定的字符串是否包含有效时间。IsNull()测试某变量或表达式的值是否为Null。,(5)数据类型转换函数,9)自定义函数,参数的传递方式有以下三种:Value表示值传递,将实际参数的值传递给函数。Reference地址传递,把实际参数的地址传递给函数,如果函数修改了形式参数的值,则实际参数的值也就被修改了。Readonly只读地址传递,把实际参数的地址传递给函数,但不允许修改参数的值。,9)自定义函数,自定义全局函数(1)选择FileNew菜单项,或在工具栏中单击New图标,打开New对话框,单击PBObject选项卡。(2)选择Function图标,然后单击OK按钮,或者直接双击该图标,打开Function画板,9)自定义函数,(3)在FunctionName项中输入函数名,自定义全局函数的命名一般用“f_”开头,命名规则即标识符的命名规则;在ReturnType下拉列表框中选择函数的返回值类型,如果函数没有返回值,则选择“None”项;在PassBy下拉列表框中选择参数传递方式;在ArgumentType下拉列表框中选择参数类型;在ArgumentName项中输入参数名(即形式参数,简称形参),命名规则即标识符的命名规则。(4)编写完函数脚本后可以编译并保存该函数。,7.数据窗口,数据窗口的设计思想一个数据窗口通常由数据窗口控件和数据窗口对象两部分组成。数据窗口控件是被粘贴到窗口上的窗口级对象,提供了一个展示数据窗口对象的窗户,它可以在窗口中通过画板工具栏创建。数据窗口对象直接关联数据表,主要用于显示数据并允许用户增删改数据。通过在数据窗口中控件的DataObject属性中设置有关的数据窗口对象的名字,将数据窗口对象和窗口联系在一起,并把数据对象显示给用户。,数据窗口对象有两个重要术语:数据源和数据显示风格数据源指如何获取数据,即数据的来源。显示风格指数据窗口对象以何种格式显示给用户,即用户如何和数据窗口交互。创建数据窗口对象的步骤:File-New-DataWindow-选择表现风格、数据源(Datasource)设置数据表及数据列保存,数据窗口对象的工作带,数据窗口中各工作带的作用,数据窗口的应用,数据窗口对象定义好之后,一般要与窗口界面上的数据窗口控件相关联,用户通过数据窗口控件(dw_1)操作数据窗口对象,进而操作数据库。下面一小段程序代码说明了使用默认事务对象SQLCA连接到一个ASA数据库,以及检索该数据库的方法:SQLCA.DBMS=ODBCSQLCA.AutoCommit=FalseSQLCA.DBParm=ConnectString=DSN=my_DB;UID=dba;PWD=sqlconnect;dw_1.settransobject(SQLCA)IFSQLCA.SQLCode0THENMessageBox(连接失败,不能连接到数据库原因为+SQLCA.SQLErrText)RETURNENDIFdw_1.retrieve()/数据从数据库检索到数据窗口中Disconnect;,数据窗口,上述程序段包括下列几步:与数据库连接为数据窗口设置事务对象进行数据库处理(查询、修改)断开与数据库连接即:/写在应用的open事件中创建事务对象,并赋值,使其与数据库相连。connect;/写在窗口的open事件settransobject()retrieve()/写在应用的close事件中disconnect删除自己创建的事务对象(destroy),数据窗口,常用函数说明:Settransobject():将一个事务对象与DataWindow控件联系起来。Retrieve():读取数据库中的数据。InsertRow(row):向DataWindow控件插入一个新行。DeleteRow(row):从DataWindow控件中删除一行。当参数的值为0时删除当前行。Update():将DataWindow中所做的改变应用到数据库中。,数据窗口常用函数,连接事务对象的函数Settransobject()函数参数为事务对象例:dw_1.Settransobject(sqlca)滚动数据行函数Scroll()和ScrollToRow()函数longdwcontrol.Scroll(longnumber)number指定要滚动的方向和行数。number为正数,表示向下滚动;若number为负数,表示向上滚动。如果该函数执行成功,那么将返回数据窗口控件中可见的第一行的行号;如果执行失败,则返回-1。,数据窗口常用函数,Retrieve()函数Retrieve函数的功能是用指定的事务对象从数据库中把数据检索到数据窗口进行显示。Retrieve函数的语法格式为:longdwcontrol.Retrieve(anyargument,anyargument.)其中:argument是可选参数,它表示在数据窗口对象中定义的检索参数,这些参数的顺序必须和定义时的顺序相同。如果调用成功,则返回检索出的记录行数;否则,返回-1。,数据窗口常用函数(*),InsertRow()函数用来在数据窗口的主缓冲区中插入一条新记录。其语法格式为:longdwcontrol.InsertRow(longrow)其中:row用于指定新行的插入位置。若row为0,则表示在所有记录的最后插入新行。例如:dw_1.InsertRow(0),数据窗口常用函数(*),DeleteRow()函数DeleteRow函数用来在数据窗口的主缓冲区中删除一行。其语法格式为:Integerdwcontrol.DeleteRow(longrow)其中:row表示要删除的行的行号。若row为0,则表示要删除当前行。例如:dw_1.DeleteRow(5)表示删除数据窗口控件中的第5条记录。,数据窗口常用函数(*),Update()函数Update函数用来把数据窗口上数据的变化更新到数据库中。Update函数的语法格式为:integerdwcontrol.Update(booleanaccept,booleanresetflag)其中:参数accept是一个布尔值,如果该值为true,表示在更新之前调用AcceptText函数。参数resetflag用来确定数据窗口更新后是否重设更新标记。该函数执行成功,则返回1,否则返回-1。例如:ifdw_1.Update()0thencommit;/提交elsemessagebox(,无法对数据保存!)rollback;/返回endif注释:在调用update函数后,必须做事务的管理工作,即:使用SQL语句COMMIT或ROLLBACK来结束更新操作。,本讲回顾,PowerBuilder编程基础应用对象窗口对象和常用窗口控件建立菜单脚本语言powerscript数据窗口函数,TheEND,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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