Pfc常用功能



        pfc对pb开发者来说绝对是一个很好,很方便的开发SDK工具,不过不知道为什么大家对它了解不多,可能是sybase公司没有主推这个工具的原因吧,它的唯一缺点就是开发库显得比较臃肿,运行速度相对无pfc的程序也有较大的下降,我想这个可能是sybase没有主推这个SDK的原因,不过对于对运行速度要求不是特别高的一般应用来说,用它确实是非常不错.如果运行速度要求苛刻的话,估计也不会用pb开发了.

    在这份文档中,我结合pfcexample的例子加以说明,也就是说pfcexample中已经有的例子我不编写详细的代码了,大家直接研究它比较好.其实是比较简单的,比pbexample简单.

      pfcexample如何安装呢,我这里说明一下,相信大部分人都知道,安装pb的时候,选择自定义安装,然后选择安装pfc即可.

      唉,写例子程序真是件苦差事啊,偷点懒,,对于pfcexample中有例子或者简单的pfc服务我只粗略讲讲.具体的代码都可以去看例子程序,主要是针对功能作一个说明,对于一些复杂的服务我才加以代码说明.

        1.日历控件(pfcexample有):
        日历控件是非常优秀的控件,对pb窗口,数据窗口的支持非常好.同时要说明的是它还提供了节假日的控制,比如节假日粗体显示,颜色变化等等.我们如果要用它,就是汉化它的问题了,如果要汉化的化,基本上改动dw 对象和日历控件的部分代码即可,比较简单.

        2.计算器控件:n_cst_caculator
        计算器控件是个非常不错的控件,使用方法和日历控件类似.

        3.错误控制:n_cst_error(pfcexample有):

        错误控制对象,实际上是对pb的消息窗口messagebox的封装和扩展,它既可以支持pb内置的消息窗口(即messagebox函数),也对消息框进行了自己的扩展(有一个自定义的消息窗口),它有什么特别之处,我觉得它好呢,主要我挺喜欢它的良好的用户交互性,它在消息窗口上提供打印出错误消息的功能,还有允许用户输入说明和提示,然后通过email的方式发送到接收者(软件开发/维护人员)那里.这样可以方便的实现远程维护和错误监控了.

        4.文件服务:n_cst_filesrvwin32(pfcexample有):
        文件服务应该是用的比较多的服务吧,它弥补了pb对于文件操作方面的很多不足,在pb7以后对文件操作方面有了一些改进,取代了其部分功能,不过还是有很多功能是很不错的.具体就不说了,大家去挖掘吧!

        5.数据窗口下拉计算器,下拉日历(pfcexample有):
        就是前面讲到的日历和计算器服务,它们既支持datawindow,也支持普通编辑控件.

        6.下拉查找服务n_cst_dwsrv_dropdownsearch(pfcexample有):
        看到不少网友说到要实现下拉查找,就是在数据窗口,有dddw的列,输入字母的时候,系统自动滚动dddw中的数据到符合条件的第一行,并且,缺省填入这行的数据,非常方便,调用也很简单,一句话即可.  

        7.dw过滤服务n_cst_dwsrv_filter(pfcexample有):
        提供过滤的标准对话框,非常优秀.相关的经典dw服务还有:
        n_cst_dwsrv_sort,提供多种过滤和排序类型的窗口,是dw常用的服务,
        还有查找功能:n_cst_dwsrv_find,都是常用的功能.
        
        怎么感觉越写越变成简要介绍了?晕,还是不继续写了,相关的pfc的介绍网上应该有相关的文档,我这里就不写了,我还是对我觉得有用的,平常少用的服务作些说明吧.

        8.dw行选择服务:n_cst_dwsrv_rowselection:
        提供行的单选,多选,扩展选择功能,所谓扩展选择就是按住ctrl键,再点击行,可以选中多行,如果按住shift键,再点击两次行,将会选择两行之间的所有行.这个功能和windows的ctrl,shift功能是类似的.

        9.必须列服务n_cst_dwsrv_reqcolumn:
        可以将dw的某些列注册为必须输入,这个时候,焦点经过的时候,必须被输入,焦点才能离开,用于控制某些必输入的列.

        10.消息服务:n_msg:
        当窗口之间需要传递的参数过多,或者需要传递多个相同类型的变量的时候,可以用消息对象n_msg.

        11.treeview相关服务:n_cst_tvsrv_levelsource和n_cst_tvsrv:
        通过这两个服务,可以很方便的构建树视图,并且通过其修改,保存数据.

        12.字符串服务n_cst_string:
        对于字符串操作的很多功能,如果你需要对字符串进行比较复杂的操作,先看看它的代码,说不定不用你自己写,调用一下就可以了.

        13.sql服务n_cst_sql:
        提供sql语句的组装和拆分功能,不错的吖.

        14.堆栈服务n_cst_stack:
        如果你需要在程序中用到堆栈队列,那就用它吧,不用辛苦的研究数据结构了.
        还有队列服务n_cst_queue

        15.数字型变量的服务pfc_n_cst_numerical:
        提供数字到位(bit)的转换.

        16.最常使用服务n_cst_mru:
        很有意思的一个功能,就象word里边文件菜单下面列出的最近使用文档的菜单一样,如果你自己实现,还得写一大段代码呢.

        17.ini文件服务n_cst_inifile:
        对ini文件进行操作.

        18.datetime数据类型的服务n_cst_datetime:
        今天发现,这个功能以前竟然很少用,有些代码我都自己写了,这里都可以找到.

        19.数据类型转换服务n_cst_conversion:
        真的很不错.比如枚举变量itemstatus状态转换成字符类型状态等.哈哈,找的就是你!

        20.颜色服务n_cst_color:
        我们程序中会用到很多颜色设置,不合理的编程习惯总是直接写颜色值,比如85958595等,很长,而且不好记,不好维护,用这个服务吧,这样看起来就清晰了.

        21.还有一些dw调试服务在pfcutil.pbl中,都是挺好用,有用的,大家可以研究一下.

        22.pfc权限安全服务n_cst_security:
        它的权限控制功能太强大了,我不得不佩服,强大到现在大部分系统都没有必要这么复杂!不过大家还是可以研究一下的.呵呵.

        说的口干舌燥的,喝茶去也!

猜你喜欢

转载自blog.csdn.net/daixf_csdn/article/details/173327