⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pfc简单教程.txt

📁 PB常用技巧 PB常用技巧 PB常用技巧
💻 TXT
📖 第 1 页 / 共 2 页
字号:

·   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 service

PFC通过用户对象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_appmanager

B.事件

事件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_appPreference

2.类的成员函数(详细的调用说明请见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_SetDWProperty(TRUE) //打开数据窗口属性窗口 
在pfc_Open()事件中,调用:gnv_app.inv_Debug.of_OpenLog(TRUE) //打开日志窗口 
在需要的时候调用gnv_app.inv_Debug.of_Message()函数来发送信息 
说明:pfc_Open()事件是指n_cst_AppManager类中的pfc_Open()事件,其实,这些代码也可在其它地方执行,只不过放在这儿比较方便而已。

 

四.n_tr调试服务类

n_tr是PFC提供的用于数据事务处理的一个用户自定义对象,所有使用PFC的应用中的事务对象应该都使用此对象,它集成了SQL Spy,在应用中可对此应用进行扩展,例如将返回的信自汉化等等. 

继承关系:pfc_n_tr  :  n_tr 
函数(具体参数请看帮助):
of_Begin()一个空的函数,你可以加入一些代码来实现特殊的BEGIN TRANSACTION
of_Commit()提交事务
of_Connect()连接数据库
of_CopyTo()以当前事务对象为样板建立另一个事务对象
of_Disconnect()断开与数据库的连接
of_DistinctValues()取得一个列中所有不同的数据放在数组中
of_End()一个空的函数,帮助实现特殊的END TRANSACTION
of_Execute()执行一条SQL语句
of_GetAutoRollback()取得AutoRollback的状态
of_GetName()取得由SetName设置的名称(事务注册类调用)
of_GetSqlState()取得由数据库返回的状态字符串
of_GetTrace()取得跟踪状态
of_Init()初始化事务对象
of_IsConnected()测试事务对象是否与数据库连接
of_MessageBox()显示一条信息
of_Rollback()回退事务
of_SetAutoRollback()设置自动回退属性
of_SetName()设置事务对象的名称
of_SetTrace()设置跟踪属性
of_SetUser()设置连接数据库时的用户名及口令 
用法:
1.如果事务对象不是SQLCA,则建立:
    itr_security = CREATE n_tr
否则将SQLCA的类型设置为n_tr
1.如果用到事务登录服务,则登录所有事务对象:
    gnv_app.inv_trregistration.of_Register(SQLCA)
    // Assumes an itr_security instance variable
    gnv_app.inv_trregistration.of_Register(itr_security)
    // Assumes an itr_security instance variable
    SQLCA.of_SetName("SQLCA")
    itr_security.of_SetName("Security")
2.设置好AutoRollback属性:
    SQLCA.of_SetAutoRollback(TRUE)
    itr_security.of_SetAutoRollback(FALSE)
4.在必要的时候调用相关的函数 
说明:事务对象的属性可以一次性从一个INI文件或是注册表主键中读出,请看of_Init()函数




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -