- 9月 07 週二 201021:57
如何利用 PowerBuilder 寄送 E Mail
- 9月 06 週一 201010:47
PowerBuilder 控制元件輕鬆變身
以前常常會有很多 PowerBuilder 的使用者會問,如何可以讓按鈕控制元件不再是灰色底黑色字,而是可以看起來更吸引人。
目前在 PowerBuilder 12 可以引用其他協力廠商(3 party)所做好的控制元件,讓 PowerBuilder 的控制元件可以輕鬆變身。
- 9月 03 週五 201009:10
用PowerBuilder建造計算機圖形評分專家系統
王金輝、李興森、劉子英
1.引言
專家系統作為人工智能應用研究最活躍和最廣泛的課題之一,現已在各個領域取得了很大的成功,其主要組成部分包括知識庫、動態數據庫、推理機、解釋器和接口界面等。知識庫存儲關於某個領域的專門知識,推理機依據一定的策略進行推理,動態數據庫用於存放系統運行過程中所需要的和產生的各種信息,解釋器負責解釋用戶需要瞭解的一些問題,接口界面則用於人機對話。
當前,專家系統的建造主要有以下幾種開發環境:一種是專家系統外殼;二是專家系統開發工具;三是通用人工智能語言;四是通用程序設計語言,如C++、PowerBuilder、 Visual Basic等。
C++較適於開發推理機比較複雜的專家系統,而對推理相對簡單、動態數據量大的專家系統則顯得大材小用,開發週期偏長。對於推理機制與方式比較簡單、知識庫數據多且複雜的這一類專家系統,特別適合用數據庫開發工具來建造。專家系統與數據庫技術的結合已成為當前計算機發展的一個重要領域。近年來,國內外相繼有人研究使用數據庫方式組織知識,並已取得一些成果。基於數據庫的專家系統以成熟的數據庫技術為載體,利用專家系統的思想方法來進行推理演繹,充分利用專家系統和關係數據庫技術兩者所具有的優點,以數據庫為基礎,便於添加、修改知識庫,易於通過人機對話實現簡單的學習功能,以關聯建立知識庫,引導推理,以過濾機制和索引技術加快搜索,使推理更加簡單、高效。PowerBuilder是目前最有代表性的數據庫前端開發工具之一,已在管理信息系統和數據庫應用系統中獲得廣泛應用,取得了巨大成功。
我們用PowerBuilder 6.5設計了一個計算機圖形評分專家系統框架,該系統可對計算機作圖進行評價、打分,可用於各類考試,計算機輔助設計評價等,具有廣泛的應用前景。該方案已用於全國註冊建築師考試作圖題評分子系統的設計。系統總體結構如圖1所示。
其中,評分標準獲取模塊用於通過圖形界面輸入評分標準,輸入的評分標準通過知識庫管理模塊進行一致性、冗余性檢查,將正確的標準存入評分標準知識庫。圖形特徵提取模塊用於從二維繪圖平台輸出的文本文件,如AUTOCAD的DXF文件中提取所需的數據,通過計算、比較,生成評分所需的屬性值,存為標準格式的文件,用來導入考卷事實庫。劃分數線模塊用於制定成績各檔次的分數線,通過一致性檢查後存入分數線檔次庫。計算機評分結合考卷事實庫、評分標準知識庫和分數線檔次庫,進行計算、比較、推理得出初步結論,通過考生成績管理模塊的一致性檢查後,存入考生成績庫。人工校核模塊用於人工覆核。其中計算機評分模塊的流程圖如圖2所示。
2.知識庫、數據庫設計
(1)考卷事實庫
包括可評分事實庫和答卷庫。可評分事實庫結構為SCORE_FACT(Fact_Id,Score,Score_Type),用於存放可直接評分的事實。其中,Fact_Id是事實代碼,Score是該事實應得分數,Score_Type為給分方式。答卷庫用於存放考生答卷信息, 其結構為EXAM_FACT( Exam_Id, Cat_Code, Item_Code, Value)。其中,Exam_Id為考生准考證號,Cat_Code是試題代碼,Item_Code為答卷條目代碼, Value是該條目的值。
(2)評分標準知識庫
包括評分標準庫和規則前後件庫,評分標準庫結構為SCORE_TREE(Item_Code, Item_Name, Item_Demand, Item_Parent_Code,Score_flag),它用於存放評分標準的所有條目內容及其關係。其中,Item_Code為評分標準條目代碼, Item_Name為條目名稱, Item_Demand是對該條目的具體要求,Item_Parent_Code是上層條目代碼。Score_flag用來區別該條目評分類型(直接比較給分、規則推理、函數計算)。
規則前後件庫的結構為RULE_FACT(Fact_Id,Fact_Name,Item_Code,Used_By,Deduced_by, attribute)。它用於存放各規則對應的前提或結論。其中,Fact_Id是事實號,Fact_Name為事實名稱, Item_Code為條目代碼,Used_By以此事實為條件的規則,Deduced_by 能推出此事實的規則,attribute 說明此事實類型,是目標、可推演事實、已知事實中的哪一種。
3.推理機設計
從評分標準庫中,按考題代碼進行順序查詢,根據評分標誌進行相應的操作。如評分標誌為「d」,則可從事實庫中查找Item_code相同的條目值。直接比較,正確則得到相應的分數。如評分標誌為「f」,則進一步查詢對應的參數代碼,從考生事實庫中提出相應的參數值,將帶入函數公式計算後的值與評分標準中的正確答案比較給分。如評分標誌為「r」,則查詢可評分事實庫相應的內容,啟用規則推理,按推出的結論正確與否給分。對於適用規則進行推理的條目,有兩種推理方法,具體推理過程如下:
第一種方法是逆向推理:(1)根據評分標準庫中需要推理的條目,在規則庫中查找對應的事實f1,由deduced_by得到可能性最大的規則r1。(2)在規則庫中尋找r1,取出其對應的premise中的第一個事實f11,若其為可推演事實,則重複步驟(1)、(2),直到得到對應的已知事實,若全部事實成立則推理成功,否則記錄失敗信息,轉向下一條標準。
第二種方法為正向推理,它以深度優先策略根據已知事實中的used_by部分逐步向下推理,直到得到目標。若規則成立,則得到相應的分數,否則分數為0,記錄失敗信息,將結果存入考生成績庫。
本方案幾種方法取長補短,可以對評分標準庫進行方便的修改、補充,從而可以用於評價其他類型的設計、考試等,適應性強,從根本上解決了專家系統知識獲取難的問題。
4.結束語
用PowerBuilder開發基於數據庫的專家系統,對知識的管理方便、直觀,實現了規則的動態管理,解決了專家系統知識獲取難的問題,利用數據庫索引技術和過濾機制引導推理,使推理更加簡單、高效。雖然由於計算機圖形評分涉及的知識十分繁雜,還有不少問題需要解決,但是通過全國註冊建築師考試作圖題評分系統的開發可以看出,用PowerBuilder開發基於數據庫的專家系統,時間短,見效快,效率高,是一種值得推廣的專家系統構造模式,它使領域專家在基本沒有知識工程師幫助的情況下就能建造自己領域內的專家系統。
- 9月 02 週四 201016:52
DataWindow object 與 DataWindow Control 的區別
Q:在 PowreBuilder 當中,有 Datawindow Object 與 DataWindow Control,請問這兩者如何區別?
A: Datawindow Object 可以把它想像成是相紙,Datawindow Control 可以把它想像成是相框。
Datawindow Control 可以在程式執行的時候隨時抽換不同的 DataWindow Object 顯示不同的資料。就好比一個相框隨時可以抽換不同的相紙顯示一般。
另外,Datawindow Control 有很多的 Event ,在不同的 Event 上面可以根據需要專顯不同的程式,DataWindow Object 上面試不可以寫程式的。
- 9月 01 週三 201015:00
有長進的powerbuilder 12
因為公司玩PB的人都不在,所以今天被指派去聽PowerBuilder 12 巡迴發表會.
半天下來, 這個帶我CODING入門生涯的開發工具, 真讓人驚奇
最早開始是由PB6.0開始, 那時有位天才高手,在沒有CODING經驗的倩況下,在很短的時間就寫了一套template,有點類似像PFC的架構,但完全是自行架構的一套, 當時, 我還記得我也貢獻了一點CODING, 參考了PB附的PFC程式碼,寫了一些功能.
那時覺得PB在處理資料那塊,有玩過都應該知道DataWindow吧...做得真的很棒
雖然界面UI一點都不吸引人,但以做一個OLTP的APPLICATION而言, PowerBuilder簡直帥呆了, 到現在為此, 儘管市面上一堆開發工具, 但我仍然認為他是個快速開發Client-Server OLTP系統的好工具.
template歷經PB7,8,9,10,11,還真不是蓋的, 歷久不衰咧.
今天比較吸人的是用PB.Net寫.Net WPF, 光看到WPF三個字,就可以想
- 8月 30 週一 201021:20
如何學習 PowerBuilder ?
這幾天用了pb,發現很多函式庫都很難找,譬如想要讀取字串都不知道函式庫怎麼使用= ="....
有人可以推薦我更基本的書,讓我打好基礎功嗎@@
by 很想學好pb的菜鳥@@"
請問有人有PB電子書嗎?
方便的話可否提供一下?
最近才剛開始要學~不知如何下手?
各位PB的先進,我是一個剛要開始學PB的菜鳥因為坊間的課程較少不知道個位先進有其他的書籍或其他的學習管道可以指導一下嗎?另外想請教一下因為有朋友給我一本"PowerBuilder資料視窗的應用"方老師的書,請問一下各位先進有那本書的光碟片嗎?因為我看到裡面有不少習題但是沒光碟就學不道做法。所以請各位先進不吝指導一下。謝謝
很多人想要學習 PowerBuilder,但是卻苦無學習的管道與資源,為了服務廣大的 PowerBuilder 初學者,版主決定視情況開設 PowerBuilder 的基礎課程。
- 8月 30 週一 201019:22
PowerBuilder .NET 12的偵錯功能
- 8月 30 週一 201019:17
從無到有,利用 PowerBuilder 開發一個完整WPF應用程式
- 8月 30 週一 201017:46
如何將Powerbuilder 程式轉換成WPF應用程式
- 8月 29 週日 201020:56
PBDOC - 整理 PowerBuilder 文件的工具
要維護應用程式最好的方式就是把原始程式碼放到文件當中,這樣做不單單是節省時間而已,而且可以降低開者維護的負擔。
PBDoc 是一個非常有用而且值得信賴的 PowerBuilder 應用程式文件整理工具。PBDoc 可以把 PowerBuilder 應用程式的原始程式碼透過特殊標籤的方式使用是限定好的模板,整理產生出一份文件。
當程式開發人員在改變程式碼的時候,PBDoc 會同步變更所產生的文件。
PBDoc 可以產生兩種不同層次的文件,第一種是完全不需要改變你的應用程式程式碼的一般標準文件,第二種是是比較具有專業品質的文件,但可以必須要做 些微調。
