PFC 参考手册

PFC 用户向导

主题:

这本书记述的是如何利用PowerBuilder Foundation Class (PFC)编程.

 

读者:

这本书给您带来的是:

 

  • 可以非常方便的使用 MicrosoftWindows 应用程序.
    •  

       

    • 叙述了PowerBuilder当件最流行的编程方法,和”Application Techniques book”一书中叙述的概念和编程技巧。

       

       

      • 如何理解SQL和如何使用DBMS。

       

      这本书共分四部分,每部分都是为特定的PFC读者准备的。

       

      Simaple Windows and dialog boxes

      这本书阐述的窗口和对话框都是Win95界面。如果你的操作系统是UNIX 或是Macintosh,那么,你的窗口和对话框就不会和这本书匹配。

      PFC 总述:

      这部分描述的是PFC和PowerBuilder的首要概念.所有的读者都有必要看一下。

       

      第一章 关于PFC

      这一章介绍的是PFC的基础,PB的首要概念,面向对象的内容,并附有一个PFC的组成图。

       

      理解PFC:

      PFC是一组PowerBulider的对象,它可以由用户自己定制,扩充。你可以象搭积木一样使用它,使程序紧密的连接起来。PFC还包括许多有用的对象,例如:debug对象。

      PFC是由PowerBuilder提供的PB对象,并支持PowerScript 源代码。它使用的是先进的PowerBuilder面向对象技术,其一个特征是面向服务设计。确使你的程序占用最少的计算机资源。

      PFC使用了许多先进的编码技巧,你可以使用PowerBuilder的PowerScript编译器来检查对象,实例,事件,和继承PFC父类的函数。

      这本书说的是PFC的概念(PFC是什么东西和你为什么使用它)还有使用信息(如何计划.使用PFC)

      为了更详细的了解PFC的对象,实例,事件,和继承PFC父类的函数,请看PFC ObjectReference 。

       

      理解PowerBuilder:

      使用PFC可以创建先进的面向对象式的PowerBuild类库。要想掌握PFC和它的面向对象特征,首先需要了解PowerBuilder和它的面向对象特征。这一节将告诉你应该熟悉PowerBuilder的基本概念。

      PFC原是为建类库准备的,但并不是不让你用它创建应用程序。通过看PowerBuilder User's Guide可以完全了解的PowerBuilder的概念。

       

      PowerBuilder类库和对象:

      PFC是作为PowerBuilder Libraries(PBLS)发行的。PBLs包括你用于写程序的父类和派生类对象。在使用任何PFC对象之前,你一定要在你的应用程序库的搜索路径中把PFC类库加进去。PowerBuilder在执行程序时通过搜索路径找到程序所引用的对象。

       

      PB标准对象

      用途

      Windows

      PowerBuilder应用程序和它的用户之间的联系界面。

      Menus

      用户在当前活动窗口用来搜索命令的表。

      DataWindow objects

      用于接收,实时处理数据。

      User objects

      由用户自己定义的对象(一次定义可以重复使用)。

      User objects 有两种类型:

      (一):Visual user objects (可视化用户对象)

      一个可视化用户对象是一个可以重复使用的可视化控制,或者是一批预先确定的可视化控制.PFC包括两种可视化用户对象类型.

      1.标准的可视化用户对象类:

      PFC提供了一套丰富的标准的可视化用户对象.每个PFC的标准的可视化用户对象都相当于一个PowerBuilder的窗口控件.这些对象包括以PFC服务预想确定完全的综合操作。 特别值得一提的是u_dw DataWindow 用户对象,这是以PFC服务来提供广泛的综合功能。

      2.用户自定义的可视化用户对象

      PFC也提供了用户自定义的可视化用户对象,这些对象包括一组窗口控件,并提供先进的函数用在某些特别情况。 (PFC没有使用外部用户对象和VBX用户对象,要想进 一步了解可视化用户对象,请看"PowerBuilder User's Guide")

      (二):Class user objects(非可视用户对象类)

      一个非可视用户对象是一个用来实现非可视的处理时使用的控件。PFC包括两种非可视用户对象类型。

      1.标准的非可视用户对象:

      标准的非可视用户对象是继承 PowerBuilder内嵌的系统对象而来。PFC提供了许多标准的非可视用户对象,例如:处理事务,错误对象,和其他所有的扩展系统对象。

      2.用户自定义的非可视用户对象:

      用户自定义的非可视用户对象是继承 PowerBuilder非可视对象类而来,它把数据和代码进行封装。这种类型的用户对象允许你从SCRATCH定义一个对象。

      PFC用Class user objects来执行它的许多服务以及提供这些服务对象的函数。它也提供?reference variables(引用变量),何谓 rdference variables呢?即是一个对象指针。你可以用它来存取一个对象的实例变量,函数,事件。

       

      Functions(函数)

      PowerBuilder支持全局函数和对象函数。PFC通过user_object function执行它的处理。一个函数就是执行一些处理的PowerScript语句的集合,你可以传递数据或者是什么也不传,它来返回一个值。

      详细信息册参考PFC Object Reference。

       

      Events and user events(事件和用户事件):

      PowerBuilder的Windows,user objects,contols,都有一些预先设定的事件。PFC通过定义用户事件为许多PFC 对象增加事件。事件可以接受数据和返回值。共有三种PFC 事件:

       

      事件类型

      触发时间

      PowerBuilder预先设定的事件

      某个动作导致操作系统调用事件

      预先编好代码的用户事件

      某个动作(例如选择一个菜单)导致PFC触发用户事件

      空的用户事件(可以加入代码)

      某个动作(例如选择一个菜单)导致PFC触发用户事件

      除非另有说明,本书的event都指的是这三种。

       

      Function and events compared (函数和事件比较)

       

      函数和事件在许多方面都是相似的:

      (1)他们都可以接收数据,返回值;

      (2)他们都由PowerBuilder语句构成;

      (3)他们都可以被调用,触发,传递。

      但他们还是有些不同的:

      使用特征

      函数

      事件

      调用一个不存在的

      将会出现运行时错误

      TriggerEvent返回-1

      覆盖父类脚本

      直接覆盖父类脚本

      可以扩展或者覆盖

      访问

      可以是Public、Private、Protected

      永远是Public

      重载

      可以重载

      不可以重载

       

      面向对象式的设计

      面向对象的编程工具支持三个基本规则:inheritance(继承),encapsulation(封装),polymorphism(多态)。

       

      如何使用PFC扩展层:

      在PFC中没有类库完全适合你的需要,你可以代表性的修改PFC来满足你的程序的需要。假如没有PFC扩展层,就会出现一个问题:当PFC版本升级时,新版本的PFC恢复该这些修改,而你不得不用手工改变。

       

      一个特别的扩展层:

      PFC产生一个扩展层是通过继承所有的层实现的。所有的扩展对象都在单独的PBLS,这在PFC升级时不会影响。

       

       

      内容

      祖先层

      Application and global services

      PFCAPPSRV.PBL

      DataWindow services

      PFCDWSRVPBL

      Visual and standard class user objects

      PFCMAIN.PBL

      Utility services

      PFCUTIL.PBL

      Window services

      PFCWNSRV.PBL

       

      祖先层的类库中的对象包括所有的实例变量,事件,函数;扩展层的类库中的对象是相应祖先层类库中的对象的不可修改的子类。即使是继承,也可以访问祖先的实际变量,事件和函数。

      通过PowerBuilder Bowser来察看子类的对象的实际变量,事件和函数。

       

      使用扩展层有二个优点:

       

        • 你可以增加一些点,部门,还有程序逻辑。

           

           

          • 不会影响版本升级。

             

       

      旧版本对象:

      PFCOLD。PBL Library包含旧的对象。如果你有一个存在的PFC程序,你有可能需要把他加在你的library list.

       

      注意:

      你要通过修改扩展层的对象来定制PFC程序。千万不要轻易修改祖先对象。你的程序中的对象要使用扩展层的对象并且继承扩展层的窗口。

       

      迅速开始:

      在用PFC编程时,程序经常需要修改,存取,以及从扩展层中继承对象。PFC装置中有一套扩展库(PFC Quickstart Libraries)。它包括扩展层的基本功能,使你的程序快速发展。

       

      PFC命名规则:

      PFC遵循以下命名规则:

      Level

      Name

      PFC层对象

      用前缀pfc_

      扩展层对象

      和它的祖先有同样的名字但没有前缀pfc_

       

      例如:DataWindow selection service object的祖先是pfc_n_cst_dwsrv,扩展层的子类是

      n_cst_dwsrv.Pfc_n_cst_dwsrv 包括所有服务的代码。n_cst_dwsrv 是不可修改的子类(你可以在假如程序指定的实例变量和代码。)。

       

      PFC定义的用户事件:

      PFC定义用户实践也用前缀pfc_prefix.这使得你的应用程序的用户事件和PFC 的用户事件更加容易。

       

      PFC文档使用扩展层名字

      当指定一个服务对象时,PFC文档总是用扩张层命名。例如:当论述基类窗口时这书指向w_master不是pfc_w_master.但要记住,w_master的实际变量,事件和可用函数实际上是在pfc_w_master定义的。

      PFC命名习惯详细资料请看PFC Object Reference

       

      我们不难想到:

      PFC的对象继承允许你在每一层假如扩展逻辑。例如:pfc_w_sheet是从w_master继承的,w_master的实际变量,函数,你加在它的事件在它的子类窗口中都已存在。

       

      如何加扩展层

      扩展层通过PFC升级类有效的实现应用程序内部的重用和单个程序的重用。但是,在大部门或者是多部门合作时,一定要考虑好扩展的标准,方法,注意部门的规则和商业规律。

      如果你是在一个组织里使用PFC,你要考虑创建一个新层(包括这个组织的所有的变量函数,事件)。应用程序还是使用PFC扩展库的对象,可是调用实例变量,事件,函数的祖先变了。

       

      PFC构成:

      PFC是由以下构成的:

       

        • 一套PBLS

           

           

          • 一个数据库

             

             

            • Quickstart PBLS

               

               

              • 实例代码

                 

                 

                • 一个简单的应用程序

                   

                Localized PFC(局部化的PFC)

                局部化的PFC 将会在PFC新版本公布后升级。

                 

                The PFC PBLs

                PFC是分布在PBLS包含的祖先对象和PBLS扩展层包含的对象。每个祖先对象扩张层包含提供以下服务的对象

                Libraries

                Contents

                PFCAPSRV.PBL

                PFEAPSRV.PBL

                应用程序管理器,应用程序服务对象和全局服务对象。

                PFCMAIN.PBL

                PFEMAIN.PBL

                标准可视化用户对象,自定义可视化用户对象,标准用户对象类。

                PFCUTIL.PBL

                PFEUTIL.PBL

                有用的对象和服务。

                PFCWNSRV.PBL

                PFEWNSRV.PBL

                窗口服务,包括用户对象和有用的窗口。

                PFCOLC.PBL

                旧的用户对象。(基层和扩展层的对象)

                 

                使用library画笔:

                使用library画笔来看到PFC中所有对象

                 

                PFC 数据库

                PFC装载了pfc.db本地数据库。这个数据库包括以下几个表:

                Table

                Usage

                Messages

                错误信息服务。

                Security_apps

                安全服务。

                Security_groupings

                安全服务。

                Security_info

                安全服务。

                Security_template

                安全服务。

                Security_users

                安全服务。

                PFC本地数据库是由开发者预先设定的,如果你要使用错误信息服务和安全服务一定要在你的数据库中复制指定的表。连接Deploying database tables

                 

                The PFC Quickstart PBLs

                使用PFC Quickstart libraries用来是程序配置和运行迅速。他们包括经过挑选的PFC扩展层对象的保护子集。

                做一个PFC Quickstart libraries备份,你就有了后援了。

                 

                The PFC code example

                使用它是为了了解PFC的对象和服务。学习如何编码并且实现PFC的基本功能。The PFC Quickstart有广泛的参照和使用资料。

                 

                The PFC sample application

                使用PEAT可以看到PFC的例子是如何进行工程预算和跟踪系统的。

                 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

huang714

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值