首页 > 代码库 > PB应用对象及配置文件

PB应用对象及配置文件

//////////////////////////////////

APPLICATION对象

【其他】

■学习事件要应从以下个方面入手:
事件的触发时机
事件的参数
事件的返回值
事件中的常用编程
事件的函数


【属性】

▲AppName和DisplayName
这两个属性都是String类型的,AppName应用对象的名称在创建应用对象时定义,无法修改,在运行时也不能用脚本修改该属性。DisplayName是为了方便编程而设置的一个属性,可以根据需要自由修改该属性,它的默认值为AppName的取值。

▲MicroHelpDefault
该属性用来设置默认状态下窗口底部的提示信息,为String类型的属性。该属性的默认取值为Ready。在创建多文档应用(MDI)时,该属性有效。

▲DWMessageTitle
此属性为string类型的属性,用来设置运行期间数据窗口的消息对话框标题。
如:在数据窗口的long型column填入string型数据,就会弹出标题为DataWindow Error的对话框,此属性就是修改此标题的。

▲DDETimeOut
此属性为integer类型的属性,用来设置PB作为DDE(Dynamic Data Exchange,动态数据交换)的客户同服务器连接时等待的最长响应时间。只适用windows平台

▲RightToLeft
此属性为Boolean类型的属性,用来设置MessageBox()函数文本的显示顺序

▲FreeDBLibraries
该属性指明,当和数据库断开连接后是否释放内存中的接口库资源,默认为False,即不释放

▲Additional Properties(附加属性)
附加属性主要用来设置字体、应用图标和全局变量

▲Toolbar属性
ToolbarFrameTitle:设置Frame工具条浮动显示时的标题
ToolbarSheetTitle:设置Sheet工具条浮动显示时的标题
ToolbarPopMenuText:设置工具条上弹出菜单的内容
ToolbarUserControl:设置用户是否可以使用鼠标右键弹出菜单来设置工具条的相关属性
ToolbarText:是否显示工具条文字
ToolbarTips:鼠标在工具条上短暂停留后是否显示提示信息


【事件】

◆Open()
在应用程序运行时触发该事件。该事件的参数为commandline,指示应用程序启动后的处理,该事件没有返回值。在应用的Open事件下面一定要有脚本,否则应用什么也不做。该事件下的典型脚本是联接数据库、校验用户身份和口令、打开主操作窗口。
open中的数据库连接:
// Profile Northwind
SQLCA.DBMS = "MSS Microsoft SQL Server 6.x"
SQLCA.Database = "Northwind"
SQLCA.LogPass = "cwd63749287"
SQLCA.ServerName = "cwd"
SQLCA.LogId = "sa"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
//以下一般不用
SQLCA.UserID = ""
SQLCA.DBPass = ""
SQLCA.Lock = ""
CONNECT USING SQLCA;

SQLCA.SQLCODE = 0 //数据库连接成功
-1 //数据库连接出错
100 //连接成功,但检索不到数据(一般用在dw中)

◆Close()
当用户关闭应用时触发该事件。该事件没有参数,也没有返回值。该事件中的典型脚本是:取消数据库联接,并删除使用脚本创建的对象。
disconnect;
destroy 对象名称

◆Idle()
调用函数idle()后,当没有键盘操作或鼠标移动的时间为idle函数指定时间时触发该事件。该事件没有参数,也没有返回值。函数idle()可以在应用程序的任意窗口、任意脚本中使用。该事件中的典型脚本做保密性处理工作,如进入屏幕保护状态、重新进入用户身份校验和口令验证窗口、重新启动或退出应用程序等。

◆SystemError()
在程序执行过程中,当有严重错误发生时触发该事件。例如,调用不存在的对象等(在开发比较大的应用系统时,这种情况经常发生,往往是由于删除了有用的对象造成的)。该事件没有参数,也没有返回值。当发生错误而SystemError事件下没有处理脚本时,应用程序显示PowerBuilder的error对象中的错误代码和错误信息。
Error.Number //错误代码
Error.Text //错误信息
Error.WindowMenu //出错窗口、菜单
Error.Object //出错控件
Error.ObjectEvent //出错事件
Error.Line //出错行数

◆ConnectionBegin()
当客户端试图和服务器端建立连接时,触发该事件。一般用于分布式的应用软件中,只能在服务器端的应用程序中触发

◆ConnectionEnd()
当客户端应用结束时触发该事件,该事件只能在分布式应用的服务器端触发


【函数】

★ClassName()
返回应用程序对象的名字

★GetContextService()
为上下文敏感实例指定的服务创建一个引用

★GetParent()
返回指定对象名称的父对象的引用

★PostEvent()
在应用对象的消息队列最后增加一个关于要触发事件的消息

★SetLibrayList()
设置执行过程中PBD的库列表;应用程序对象独有,用来改变在库搜索路径中的动态库文件列表,该函数仅在PB开发环境之外运行时有效,SetLibrayList()函数接受逗号分隔的文件名列表,并按照指定的列表顺序搜索对象

★SetTransPool()
设置一个数据库对象的事务对象缓冲池。

★TriggerEvent()
触发应用对象中指定事件,如果该事件有脚本,则执行该事件下的脚本

★TypeOf()
返回应用程序的枚举类型Application


//////////////////////////////////
ini文件组成
[节]
关键字 = 取值
*取值为空则取默认值

////
[database]
dbms="MSS Microsoft SQL Server 6.x"
database="nlerp"
servername="cwd"
[application]
title=外贸管理系统
////

读取
string ls_logid
ls_logid = profilestring("d.ini",‘database‘,‘logid‘,‘sa‘)
保存取值的变量 ini文件名 字节 关键字 默认值

ProfileString ( filename, section, key, default )
ProfileString("C:\PROFILE.INI", "Employee","Name", "None")

ProfileInt

设置
SetProfileString

//////////////////////////////////