• PowerBuilder学习笔记之14用户自定义对象


    教程链接:https://wenku.baidu.com/view/9730d1c7aa00b52acec7ca05.html?re=view&rec_flag=default&sxts=1565141830016
    14章用户自定义对象:
    1、何为用户对象:用户对象是封装了一组相关代码和属性、完成特定功能的可重用对象,用户对象一般用于完成通用功能,
    当应用程序需要某种反复使用的特性时应当定义用户对象。

    2、用户对象作用:
    ①扩展系统原有对象的功能,增加新的使用方法;
    ②创建高度可重用的自定义部件,在一个或多个应用程序中反复使用,缩减开发和维护世界,提供开发效率;
    ③将其它语言开发的代码嵌入Powerbuilder应用程序中。

    3、用户对象优势:
    ①避免了在应用程序中不同地方编写功能相同或相近代码的麻烦,提高了应用程序的可维护性
    ②用户对象可以将一组总之一起使用的可视控件组合在一起,构成一个完成特定功能的控件,应用程序可以在需要的地方随时使用它
    ③用户对象提供了构造具有一致外观的可视控件的方法
    ④用户对象能够将相关功能封装在一起
    ⑤用户对象允许开发人员扩展某些PowerBuiler系统对象(如事务对象)的功能。

    4、用户对象分类:
    (1)可视用户对象(Visual User Object),如按钮、编辑框等具备可视的外观,主要完成应用程序与用户自己的信息交流
    ①标准可视用户对象(Standard Visual User Object)
    ②定制可视用户对象(Custom Visual User Object)
    ③外部可视用户对象(External Visual User Object)
    (2)类用户对象(Class User Object),没有屏幕表现形式,主要用于封装和完成一定的业务逻辑。
    ①标准类用户对象
    ②定制类用户对象
    类用户对象没有可视成分,使用时需要在代码中创建它的一个实例,具体步骤:
    ①说明类用户对象类型的变量,使用CREATE语句创建该对象的一个实例。
    ②在变量的整个作用域中,代码都能访问该对象的属性、事件、函数,就像使用系统预定义对象那样(如事务处理对象SQLCA)
    ③不再使用该对象时,使用DESTROY语句删除该对象,以释放它所占的内存。
    例:u_datastore myhds //声明u_datastore 类型的变量 myds
    myds=CREATE u_datastore //创建用户对象实例myds
    myds_DataObject='d_user_search' //将数据窗口对象与类用户对象联系起来
    myds.SetTransObject(SQLCA) //设置类用户对象使用的事务对象
    ret=myds.Retrieve(math) //检索数据
    ... //应用程序所需的其它处理
    DESTROY myds //使用后删除用户对象,释放内存

    用户对象的命名通常以“u_”为前缀,用户对象控件或实例的命名通常以“uo_” 为前缀。

    4.1.1、标准可视用户对象 Standard Visual
    是对PB现有控件的扩充,在现有控件基本功能的基础上增加了应用程序需要的功能。继承了原始控件的各种特征,包括属性、事件和函数。
    调用触发事件或函数的语句:

    系统事件是枚举类型:Clicked!, 用户自定义事件是字符串:"u_key"

    4.1.2、定制可视用户对象 Custom Visual
    是将多个控件及可是用户对象组合成一个整体,完成一定的功能和操作。
    可视用户对象中控件的大小、位置等属性不能在窗口上改变,只能在定制可视用户对象画板中进行修改。
    使用窗口中的代码控制定制可视用户对象中的控件时,语法为:用户对象名+控件名+属性或函数,例子:uo_1.cb_ok.text="确定" 为对象uo_1的控件cb_ok的text属性赋值

    4.1.3、外部可视用户对象 External Visual
    实际上就是在PB应用程序中使用其它语言编写的第三方控件。

    4.2.1 标准类用户对象
    继承一个内部系统对象的所有特征,在此基础上进行功能修改(类似标准可视用户对象)
    类用户对象没有可视成分,使用时需要在代码中创建它的一个实例,具体步骤:
    ①说明类用户对象类型的变量,使用CREATE语句创建该对象的一个实例。
    ②在变量的整个作用域中,代码都能访问该对象的属性、事件、函数,就像使用系统预定义对象那样(如事务处理对象SQLCA)
    ③不再使用该对象时,使用DESTROY语句删除该对象,以释放它所占的内存。
    例:u_datastore myhds //声明u_datastore 类型的变量 myds
    myds=CREATE u_datastore //创建用户对象实例myds
    myds_DataObject='d_user_search' //将数据窗口对象与类用户对象联系起来
    myds.SetTransObject(SQLCA) //设置类用户对象使用的事务对象
    ret=myds.Retrieve(math) //检索数据
    ... //应用程序所需的其它处理
    DESTROY myds //使用后删除用户对象,释放内存
    4.2.2 定制类用户对象
    定制类用户对象是用户自己设计的对象,用于封装不需要可视特性的处理过程。这些对象并不继承自某个PB对象或控件,完全由用户通过自定义实例变量、函数、事件来实现。
    定制用户可视对象只有两个系统预定义事件:Constructor 和Destructor。
    删除用户对象只能在"Library" 工作区才能实现。

    调用触发事件或函数的语句:
    Object_name.[Trigger|Post][Static|Dynamic] EVENT event_name([para_list])

    object_name.TriggerEvent(event_name)
    object_name.PostEvent(event_name)
    系统事件是枚举类型:Clicked!, 用户自定义事件是字符串:"u_key"

     

  • 相关阅读:
    hnust Snowman
    hnust 可口可乐大促销
    hnust 聚宝盆
    hnust 搬书
    hnust 神奇的序列
    hnust 懒人多动脑
    hnust CZJ-Superman
    集合Set--BST实现
    快速排序
    位运算符
  • 原文地址:https://www.cnblogs.com/Bokeyan/p/11344387.html
Copyright © 2020-2023  润新知