




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PFC中文教程一.PFC介绍 PFC(Powerbuilder Foundation Class,Powerbuilder基础类库)是PowerBuilder提供的一个类库,它提供了一些常用的函数和功能,有非常友好的用户界面,用PFC作为您的开发工具,可以节省您很多的时间。 在使用PFC时,要记住,您的所有的控件和对象都要使用PFC提供的,或是从PFC对象继承过来的二.快速入门(一).打开应用程序画笔(二) .在应用中包含下列库文件: PFCAPSRV.PBL PFCDWSRV.PBL PFCMAIN.PBL PFCUTIL.PBL PFCWNSRV.PBL PFEAPSRV.PBL PFEDWSRV.PBL PFEMAIN.PBL PFEUTIL.PBL PFEWNSRV.PBL (三) .在应用程序画笔中,定义一个全局变量,gnv_app,类型为n_cst_appmanagern_cst_appmanager gnv_app变量名称一定要为gnv_app,PFC中的对象、函数、事件要求一个类型为n_cst_appmanager或从它继承过来的类型的名称为gnv_app的变量(四).在应用程序画笔的脚本中,在OPEN事件中,建立这个全局变量,并且调用pfc_Open(commandline)事件gnv_app = CREATE n_cst_appmanagergnv_app.Event pfc_Open(commandline)(五).在应用程序画笔的CLOSE脚本中,调用pfc_Close事件,并且删除gnv_app变量gnv_app.Event pfc_Close()DESTROY gnv_app(六).在PFEAPSRV.PBL库文件中,找到并打开n_cst_appmanager用户对象在n_cst_appmanager构造事件中,调用n_cst_appmanager的函数来初始化有关版本、公司名称和INI文件的实例变量在n_cst_appmanager的pfc_Open事件中,调用n_cst_appmanaer的函数来打开你想要的应用服务,然后,调用of_Splash函数显示一个Splash屏幕,然后,打开你的程序的最开始的窗口.参考: 应用的例子 PEAT.PBL 代码的例子 EXAMPFC.PBL PFC快速入门 QCKSTART.PBL 基本代码解释 PFC Tutorial 三.PFC中的数据类型和变量的定义规则(一).对象名称定义pfcobject_type_objectname其中,pfcobject 为 PFC_时,表示为PFC级别,否则为PFE级别(扩展级别)type包含以下类型类型 说明 类型 说明 m_ Menu u_ Visual user object n_ Standard class user object w_ Window n_cst Custom class user object s_ Global structure (二).变量名称定义_varialbenameScorpe为以下值之一类型 说明 类型 说明 g Global variable i Instance variable l Local variable s Shared variable 简单变量的Type为以下值之一类型 说明 类型 说明 a Any blb Blob b Boolean ch Character d Date dtm DateTime dc Decimal dbl Double e Enumerated i Integer l Long r Real s String tm Time ui UnsignedInteger ul UnsignedLong 指针变量的Type值为以下之一类型 说明 类型 说明 app Application ab ArrayBounds cbx CheckBox cb CommandButton cd ClassDefinition cdo ClassDefinitionObject cn Connection cninfo ConnectionInfo cno ConnectObject cxk ContextKeyword cxinfo ContextInformation cpp Cplusplus ds DataStore dw DataWindow dwc DataWindowChild drg DragObject drw DrawObject ddplb DropDownPictureListBox 类型 说明 类型 说明 ddlb DropDownListBox dwo DWObject dda DynamicDescriptionArea dsa DynamicStagingArea ed EnumerationDefinition eid EnumerationItemDefinition em EditMask env Environment err Error ext ExtObject gr Graph go GraphicObject grax GrAxis grda GrDispAttr gb GroupBox hsb HorizontalScrollBar inet Inet ir InternetResult 类型 说明 类型 说明 ln Line lb ListBox lv ListView lvi ListViewItem mfd MailFileDescription mm MailMessage mr MailRecipient ms MailSession mdi MDIClient m Menu mc MenuCascade msg Message mle MultiLineEdit nv NonVisualObject oc OleControl oo OleObject ostg OleStorage omc OmControl 类型 说明 类型 说明 omcc OmCustomControl omec OmEmbeddedControl omo OmObejct omstm OmStream omstg OmStorage oval Oval p Picture pb PictureButton pbcpp PBToCPPObject plb PictureListBox pl PipeLine po PowerObject procall ProfileCall proclass ProfileClass proln ProfileLine prort ProfileRoutine pro Profiling rb RadioButton 类型 说明 类型 说明 rec Rectangle rem RemoteObject rte RichTextEdit rrec RoundRectangle rteo RteObject scrd ScriptDefinition sle SingleLineEdit srv Service st StaticText std SimpleTypeDefinition str Structure tab Tab tabpg TabPage tcan TraceActivityNode tcbe TraceBeginEdn tcerr TraceError tcf TraceFile tcln TraceLine 类型 说明 类型 说明 tcgc TraceGarbageCollect tco TraceObject tcrt TraceRoutine tcsql TraceSQL tct TraceTree tctn TraceTreeNode tcterr TraceTreeError tctsql TraceTreeSQL tctgc TraceTreeGarbageCollect tctln TraceTreeLine tcto TraceTreeObject tctrt TraceTreeRoutine tctu TraceTreeUser tcu TraceUser td TypeDefinition tr Transaction trp Transport tv TreeView 类型 说明 类型 说明 tvi TreeViewItem uo UserObject vrcd VariableCardinalityDefinition vrd VariableDefinition vsb VerticalScrollBar wo WindowObject w Window (三).函数名称定义全局函数以f_开头,成员函数以of_开头四.PFC Services 类型(一).PFC Services总述A.用继承关系(inheritance)实现windows,menus和user objects B.把每一个Object的数据和代码封装(encapsulation)起来 C.用多态(polymophism)提供同名机制 主要分为以下几种类别: Application services Window services DataWindow services File services Data/Time services String-handling services Platform services Menu Services Resize services INI file services Numerical services SQL parsing services Conversion services (二).Application services 应用程序服务可分为DataWindow caching、Debugging、Error、Security、Transaction registration共五种;可通过n_cst_appmanager来控制,调用application manager的函数来Enable 或者Disable掉(三).Windows services PFC通过w_master中的函数、事件和实例变量以及各种自定义对象来对Windows进行控制。 要存取Windows services,在程序中所使用的所有窗口都得从w_child、w_frame、w_main、w_popup、w_response、w_sheet中继承过来。 下表列出了Windows services子功能:Windows service Implementation Basic Window service Implemented in n_cst_winsrv and as well as functions and user events in PFC windows Preference service n_cst_winsrv_preference Sheet management n_cst_winsrv_sheetmanager Status bar service n_cst_winsrv_statusbar (四).DataWindow services下表列出了Windows services子功能:DataWindow service Implementation Basic DataWindow service(ancestor for all other services) n_cst_dwsrv Dropdown search service n_cst_dwsrv_dropdwonsearch Filter service n_cst_dwsrv_filter Find and replace service n_cst_dwsrv_find Linkage service n_cst_dwsrv_linkage Multitable update service n_cst_dwsrv_multitable Print preview service n_cst_dwsrv_printpreview Querymode service n_cst_dwsrv_querymode Reporting service n_cst_dwsrv_report Required column service n_cst_dwsrv_reqcolumn Row management service n_cst_dwsrv_rowmanager Row selection service n_cst_dwsrv_rowselection Sort service n_cst_dwsrv_sort (五).File service 通过调用file_management函数来实现,比如调用of_FileRename函数来对一个文件改名。(六).Date/Time service PFC通过n_cst_datetime用户对象来实现,它包括下列功能: 将Julian 形式的日期转换为Gregorian形式的日期 将秒转换为小时 将秒转换为天数 将Gregorian日期转换为Julian日期 取得两个日期时间型变量之间相隔的年、月、日、星期、秒、毫秒数 测试一个日期是否正确 测试某天是否为一个星期中的一天,或是周末 中止一个进程直到一个特定的日期时间 (七).String-handling servicePFC通过用户对象n_cst_string来实现,主要实现了以下功能:将一个无限制字符串转入到一个数组,或反过来 测试字符串的类型是否为:Lowercase、Uppercase、Alphabetic、Alphanumeric 全局字符串替换 统计一个字符串中特定字符串的出现字数 去掉字符串开头或结尾处的空格和非打印字符 测试一个字符串是否为comparison或arithmetic operator 将一个字符串中的所有字转换为initial cap (八).Platform service PFC通过对象n_cst_platform来实现,主要实现了以下功能: 检测内存 检测未用的系统资源 取得PBUs中的高度和宽度,以字符串的形式返回 (九).Menu Services PFC通过m_master中的函数、菜单项和事件来实现以下功能: 实现消息路由的函数 通过消息路由实现所要求功能的菜单项 (十).Resize Services 此服务可以让你自由实现在窗口改变大小时,以某种方式自动改变控件的大小和位置,主要是通过n_cst_resize用户对象来实现(十一).INI File Services可以对INI文件进行读和写操作,通过n_cst_inifile用户对象来实现: 通过INI-File部件来更新所有的键值 通过一个INI文件来更新所有部件 从一个INI文件删除一行 从INI文件删除一个整的部件(section) (十二).Numerical Services可以对二进制数据对行存取和控制: 测试一个二进制数某位是1还是0 二进制与十进制数互相转换 (十三).SQL parsing service可以汇编和分析SQL语句 组合SQL语句 分解SQL语句 (十四).Conversion Services可以进行数据类型的转换:From To Integer or String Boolean Bollean,ToolbarAlignment,or SQLPreviewType String Boolean Integer String ToolbarAlignment Button String Icon String String SQLPreviewType 五.PFC Services及对象详细解说(一).n_cst_AppManager应用程序类1.类的详细定义A.继承关系:pfc_n_base : n_base : pfc_n_cst_appmanager : n_cst_appmanagerB.事件事件ID 事件说明 Constructor 初始化一些实例变量 Destructor 消毁用户自定义对象 pfc_Exit 执行结束程序时的清理工作 pfc_Logon 在w_logon中的OK按钮中调用,返回1表示成功,-1表示失败 pfc_Open 相当于应用中的Open事件,可在此打开gnv_app中的多个服务 pfc_PreAbout 在函数of_About()中调用,用来控制w_about窗口 pfc_PreLogonDlg 在函数of_LogonDlg()中调用,用来控制w_Logon窗口 pfc_PreSplash 在函数of_Splash()中调用,用来控制splash屏幕 pfc_SystemError 当有系统错误发生时调用 pfc_Close 关闭应用时调用 pfc_ConnectionBegin 与其它应用连接时调用 pfc_ConnectionEnd 断开其它应用的连接时调用 pfc_Idle 应用空闲时调用 C.函数函数名称 功能说明 of_About() 根据所设信息显示w_About窗口,返回1表示成功,-1表示失败 of_GetAppIniFile() 返回is_AppIniFile的值 of_GetAppProperties(未知) 未知 of_GetAppKey() 取得is_AppKey的值 of_GetCopyright() 返回is_Copyright的值 of_GetFrame() 返回当前的w_Frame类型的窗口对象 of_GetHelpFile() 返回在线帮助文件名 of_GetLogo() 返回is_Logo的值,为一BMP文件名 of_GetMicrohelp() 返回微帮助是否能使用,能使用时返回TRUE,否则返回FALSE of_GetUserid() 取得用户名(is_UserId) of_GetUserIniFile() 取得用户配置文件名,即is_UserIniFile of_GetUserKey() 返回is_UserKey的值 of_GetVersion() 取得程序的版本号,即is_Version of_IsRegistryAvailable() 确定注册表是否可用,在Windows 95及WindowsNT中返回TRUE,否则返回FALSE of_LogonDlg() 显示w_Logon窗口,并且调用pfc_Logon事件;返回1时表示成功,0表示取消,-1表示失败 of_SetAppIniFile(iniFileName) 设置is_AppIniFile的值 of_SetAppKey(RegistryKey) 设置is_AppKey的值 of_SetAppPreference(Boolean) 设置application preference service是否可用,1表示成功,-1表示失败;可通过inv_apppref变量来实现相关功能 of_SetCopyright(Copyright Information) 设置is_Copyright的值 of_SetDebug(Boolean) 设置Debugging Service是否可用,1表示成功,-1表示失败;可通过inv_Debug来实现相关功能 of_SetDwCache(Boolean) 设置Data Caching Service功能,1表示成功,-1表示失败;可通过inv_dwCache来实现相关功能 of_SetError(Boolean) 设置Error Service功能,1表示成功,-1表示失败;可通过inv_Error来实现相关功能 of_SetFrame(FrameWindow) 标记Frame窗口到iw_Frame变量,可在w_Frame类型的窗口的active事件中调用以设置当前激活Frame窗口 of_SetHelpFile(helpFileName) 设置帮助文件文件名,即is_HelpFile of_SetLogo(LogoBMPFileName) 设置应用程序标志图标,即is_Logo of_SetMicrohelp(Boolean) 设置微帮助是否可用 of_SetMRU(Boolean) 设置Most Recently User Object Service是否可用,通过inv_MRU来实现相关功能 of_SetSecurity(Boolean) 设置Security Service是否可用,通过inv_Security来实现相关功能 of_SetTrRegistration(Boolean) 设置Transaction Registration Service是否可用,通过inv_TrRegisrration来实现相关功能 of_SetUserId(UserId) 设置用户名,即is_userId of_SetUserIniFile(IniFileName) 设置用户配置文件名,即is_UserIniFile of_SetUserKey(RegistryKey) 设置用户注册键名,即is_UserKey of_SetVersion(VersionInformation) 设置应用程序版本信息,即is_Version of_Splash(Second) 显示Splash屏幕,参数为显示时间 2.用法 声名一类型为n_cst_AppManager的全局变量gnv_app 在应用的Open事件中建立此全局变量gnv_app = CREATE n_cst_AppManager 在应用的Open事件中调用pfc_Open()事件gnv_app.EVENT pfc_Open(CommandLine) 在应用的Close事件中调用pfc_Close()事件gnv_app.EVENT pfc_Close() 在应用的Close事件中销毁gnv_app变量DESTROY gnv_app 在应用的ConnectionBegin事件中调用pfc_ConnectionBegin事件RETURN gnv_app.EVENT pfc_ConnectionBegin(userId,password,ConnectionString) 在应用的ConnectionEnd事件中调用pfc_ConnectionEnd事件gnv_app.EVENT pfc_connectionEnd() 在应用的Idle事件中调用pfc_Idle事件gnv_app.EVENT pfc_Idle() 在应用的SystemError事件中调用pfc_SystemError事件gnv_app.EVENT pfc_SystemError() 在n_cst_AppManager类的Construction事件中,调用下列函数设置相关的信息of_SetAppIniFile,of_SetAppKey,of_SetUserKey,of_SetUserIniFile,of_SethelpFile,of_SetVirsion,of_SetCopyright,of_SetLogo,of_SetMicrohelp 在n_cst_AppManager类的Construction事件中,调用下列函数设置应用程序服务是否可能of_SetAppPreference(TRUE)of_SetDebug(TRUE)of_SetDwCache(TRUE)of_SetMRU(TRUE)of_SetError(TRUE)of_SetTrRegistration(TRUE)of_SetSecurity(TRUE) 在n_cst_Appmanager类的pfc_PreLogonDlg事件中设置登录次数anv_LogonAttrib.ii_LogonAttempts = 3 在n_cst_AppManager类的pfc_Logon事件中判断登录是否正确,正确返回SUCCESS否则返回FAILURE 在n_cst_Appmanager类的pfc_Open事件中设置相应服务的各自特性 在n_cst_Appmanager类的pfc_Open事件中打开最初始的应用程序窗口 (二).n_cst_AppPreference应用程序首选项服务类应用程序服务类通过INI文件或是注册表来保存应用或是用户的一些信息,并可以在适当的时候(比如程序启动时)自动恢复所有保存了的信息项。这样,用户的使用程序时,可以直接进入上次进入时的环境,而不需要重新设置。1.类的继承关系:pfc_n_base : n_base : pfc_n_cst_apppreference : n_cst_appPreference2.类的成员函数(详细的调用说明请见PB的在线帮助):of_IsRestoreApp() 确定是否已经恢复应用的信息 of_IsRestoreUser() 确定是否已经恢复用户的信息 of_Restore() 从INI文件或是注册表中恢复应用及用户的设置信息 of_RestoreApp() 从INI文件或是注册表中恢复应用的设置信息 of_RestoreUser() 从INI文件或是注册表中恢复用户的设置信息 of_Save() 将应用及用户的设置信息保存到INI文件或是注册表中 of_SaveApp() 将应用的设置信息保存到INI文件或是注册表中 of_SaveUser() 将用户的设置信息保存到INI文件或是注册表中 of_SetAppIniFile() 设置应用信息保存的INI文件名 of_SetAppKey() 设置应用保存的注册表的键名 of_SetRequestor() 通过本类关联到应用程序类 of_SetRestoreApp() 设置是否对应用信息进行处理(保存和恢复) of_SetRestoreUser() 设置是否对用户信息进行处理(保存和恢复) of_SetUserIniFile() 设置用户信息保存的INI文件名 of_SetUserKey() 设置用户信息保存的注册表键名 3.事件:pfc_Close 在关闭程序时调用 pfc_Open 在打开程序时调用 4.用法: 可以对下列信息进行保存和恢复: User key MicroHelp Help file Version Logo bitmap Copyright notice DDETimeOut property DisplayName property DWMessageTitle property MicrohelpDefault property RightToLeft property ToolbarFrameTitle property ToolbarPopMenuText property ToolbarSheetTitle property ToolbarUserControl property ToolbarText property ToolbarTips property User ID 在应用程序类的构造事件中,调用this.of_SetAppPreference(TRUE) 设置好本类的参数 IF this.of_IsRegistryAvailable() THEN this.inv_apppref.of_SetAppKey & (this.of_GetAppKey() this.inv_apppref.of_SetUserKey & (this.of_GetUserKey() ELSE this.inv_apppref.of_SetAppINIFile & (this.of_GetAppINIFile() this.inv_apppref.of_SetUserINIFile & (this.of_GetUserINIFile() END IF 设置要保存的信息 this.inv_apppref.of_SetRestoreApp(TRUE) this.inv_apppref.of_SetRestoreUser(TRUE) 然后在适当的时候调用其它函数完成相应的功能 (三).n_cst_debug调试服务类 调试服务类主要应用于对使用PFC编程的应用程序的调试,可在程序中打开和关闭调试窗口,打开调试服务,PFC的有关信息会在调试窗口中显示;也可自已在适当的地方加入调试语名,以在调试窗口中显示所需要了解的信息,来了解程序的运行,帮助查找错误。 继承关系:pfc_n_base : n_base : pfc_n_cst_debug : n_cst_debug 调试服务所提供的函数of_ClearLog() 清除所有以前的调试信息of_GetAlwaysOnTop() 返回w_debugLog窗口是否总在最前面of_IsLogOpen()返回w_debugLog窗口是否打开of_Message()发送一条信息到调试服务日志中of_OpenLog()打开w_debugLog窗口of_PrintLog()打印调试服务日志信息of_SetAlwaysOnTop()设置w_DebugLog窗口总在最前面of_SetDWProperty()设置是否显示数据窗口的属性窗口of_SetSQLSpy()开始或结束SQL的监视 事件constructor构造事件destructor析构事件 用法 在pfc_Open()事件中,调用:gnv_app.of_SetDebug(TRUE) /打开调试服务 在pfc_Open()事件中,调用:gnv_app.inv_Debug.of_SetSQLSpy(TRUE) /打开SQL监视 在pfc_Open()事件中,调用:gnv_app.inv_Debug.of_SetDW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025关于房屋租赁合同(标准版)
- 2025酒店管理协议合同书模板
- 重庆市高2026届高三第一次质量检测 英语试卷(含答案详解)
- 土地流转经济合作项目合同
- 英文护理面试题库及答案
- 2025福州居住证租房合同模板
- 合作项目投资基金协议书
- 2025年农民土地租赁合同
- 2025租赁合同模板示例
- 2025证券交易合同
- 2025年科技创新企业财务工作总结及计划
- 竞彩销售培训
- 餐饮店食品经营操作流程4篇
- 国防科普活动方案
- 藻类分子机制解析与调控网络构建-洞察阐释
- 2025年黑龙江、吉林、辽宁、内蒙古高考生物真题试卷(解析版)
- 药物治疗监测试题及答案
- GB/T 45654-2025网络安全技术生成式人工智能服务安全基本要求
- T/CAPA 009-2023面部埋线提升技术操作规范
- 塑胶料品质协议书
- 2025届江苏省苏州市高三9月期初阳光调研-语文试卷(含答案)
评论
0/150
提交评论