PB 5中PFC的使用
發(fā)表時(shí)間:2023-08-18 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]中原石油勘探局計(jì)算中心系統(tǒng)集成部 劉少青 ---- PFC是PowerBuilder高級(jí)開發(fā)工具集中的一個(gè)基本類庫,提供了進(jìn)行一般應(yīng)用開發(fā)時(shí)會(huì)經(jīng)常用到的對(duì)象和函數(shù)代碼。PowerBuilder 5....
中原石油勘探局計(jì)算中心系統(tǒng)集成部 劉少青
---- PFC是PowerBuilder高級(jí)開發(fā)工具集中的一個(gè)基本類庫,提供了進(jìn)行一般應(yīng)用開發(fā)時(shí)會(huì)經(jīng)常用到的對(duì)象和函數(shù)代碼。PowerBuilder 5.0的基本類庫中的內(nèi)容十分豐富,比以前版本中所提供的功能要增加了許多,而且對(duì)象之間的繼承和引用關(guān)系也比以前更為清晰合理。因此編寫一個(gè)完全建構(gòu)在PFC類庫之上的應(yīng)用可大大提高軟件質(zhì)量,而且利用基類的已有代碼也會(huì)使得許多復(fù)雜的功能實(shí)現(xiàn)起來要輕松得多。
---- 本文將根據(jù)筆者使用PFC的經(jīng)驗(yàn),介紹如何創(chuàng)建PFC的應(yīng)用。
---- 1、首先在C盤新建一個(gè)目錄Test,啟動(dòng)PowerBuilder5.0,創(chuàng)建一個(gè)新的應(yīng)用,并將應(yīng)用對(duì)象保存在Test.pbl中,將應(yīng)用取名為test,保存時(shí)不使用PB提供的快速模板。
---- 2、進(jìn)入應(yīng)用的“Properties”(屬性)中,選中“Libraries”標(biāo)簽,單擊“Browes…”按鈕,選中C:\Pwrs\Pb5i32\Adk\pfc目錄下的全部8個(gè)pbl文件:pfcapsrv.plb、pfcdwarv.pbl、pfcmain.pbl、pfcwnsrv.pbl、pfeapsrv.pbl、pfedwarv.pbl、pfemain.pbl、pfewnsrv.pbl,單擊“打開”按鈕,再單擊“Apply”按鈕。然后選中“Variable Types”標(biāo)簽,將“SQLCA:”中的“transaction”改為“n_tr”,單擊“OK”按鈕保存對(duì)屬性的修改。
---- 3、新建一個(gè)“User Object”(用戶對(duì)象),單擊“Inherit…”(繼承)按鈕,在“Application Libraries”中選中“PFEAPSRV.PBL”,在“User Objects”中選中“n_cst_appmanager”,單擊“OK”按鈕,在其“pfc_open”事件中寫入以下登錄數(shù)據(jù)庫的程序(以SQL Server為例):
//pfc_open for n_cst_test inherited
n_cst_appmananger returns (none)
SQLCA.DBMS=ProfileString
("PB.INI","Database","DBMS", " ")
SQLCA.Database=ProfileString
("PB.INI","Database","DataBase"," ")
SQLCA.LogID=ProfileString
("PB.INI","Database","LogID", " ")
SQLCA.LogPass=ProfileString
("PB.INI","Database","LogPassword"," ")
SQLCA.ServerName=ProfileString
("PB.INI","Database","ServerName"," ")
SQLCA.UserID=ProfileString
("PB.INI","Database","UserID"," ")
SQLCA.DBPass=ProfileString
("PB.INI","Database","DatabasePassword", " ")
SQLCA.Lock=ProfileString
("PB.INI","Database","Lock"," ")
SQLCA.DbParm=ProfileString
("PB.INI","Database","DbParm"," ")
Connect Using SQLCA;
If SQLCA.sqlcode < > 0 Then
MessageBox("Cannot Connect to Database",
SQLCA.sqlerrtext,StopSign!)
Halt Close
Return
End If
Open(w_frame_test) //打開應(yīng)用的主窗口(假設(shè)為w_frame_test)
---- 將該用戶對(duì)象保存為n_cst_test。
---- 4、進(jìn)入應(yīng)用的“Script”中,選擇“Declare/Global Variables…”菜單,定義全局變量:
n_cst_appmanager gnv_app //該全局變量的名稱必須為gnv_app
并在該應(yīng)用的open事件和close事件中分別寫入以下程序:
//open for test returns (none)
gnv_app = Create n_cst_test
gnv_app.Event pfc_open(commandline)
//close for test returns (none)
gnv_app.Event pfc_close()
Destroy n_cst_appmanager
---- 經(jīng)過上述步驟后,我們所要的PFC應(yīng)用的總體械架就形成了,剩下的就是具體的編程工作了,本人在此不再贅述。