版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘要</b></p><p> 隨著社會的不斷發(fā)展及人們生活水平的不斷提高,我國大部分家庭的收入有了較大程度的的增長,存款、貸款、股票、債券、投資信托、租賃、保險等各種金融活動無不沖擊著每個家庭,影響著社會生活的方方面面。</p><p> 如何對家庭的財產(包括收支情況、固定資產情況、債務等)進行科學合理的管理,節(jié)約開支并發(fā)揮資金的
2、最大的效益,是第一個家庭需要考慮的問題,鑒于對家庭現(xiàn)狀進行了解分析,發(fā)現(xiàn)存在的一系列的問題。我決定利用畢業(yè)設計的機會,嘗試設計開發(fā)了本系統(tǒng)——《家庭財務管理系統(tǒng)》。</p><p> 本系統(tǒng)將采用PowerBuilder 9.0作為前臺數(shù)據(jù)庫開發(fā)工具,鑒于家庭財務管理系統(tǒng)所需數(shù)據(jù)量比較小,為方便用戶使用,所以使用PowerBuilder9.0自帶的ASA數(shù)據(jù)庫。</p><p> 在本
3、系統(tǒng)中,所使用ASA數(shù)據(jù)庫創(chuàng)建應用數(shù)據(jù)庫,并建立一系列的表,利用PowerBuilder9.0前臺開發(fā)工具,對ASA數(shù)據(jù)庫中的表進行操作,開發(fā)一系列功能模塊,其中包含了日常收支、存取款、債務、報表統(tǒng)計及基礎維護等,所以,家庭財務管理系統(tǒng)的應用將能夠給每個家庭帶來最大的效益。</p><p> 由于時間關系和自身的水平,本系統(tǒng)并不完善,其中難免有錯誤之處,也請各位老師給予批評和指導。</p><
4、;p> 關健字:數(shù)據(jù)窗口 用戶自定義事件 用戶對象 繼承 標準可視對象</p><p><b> Abstract</b></p><p> with the development of society and people's life level, in our country , which the income of part o
5、f family had the bigger degree of growth, wealthy people no longer contented with one of life style, and start to try various new way, the people knew the stock, bond.Savings, loan, stock, bond, investment trust, leasing
6、, various financial activity etc. all kinds of insurance all pounds at each family, affecting aspect of the social activities.</p><p> How to manage the property( include the receipt and expenditure circums
7、tance, fixed assets circumstance, obligation...etc.) of the family carries on the management of science reasonable, economize the biggest performance that the expenditure erupts to flick the funds, is the first family ne
8、eds to be considered the problem, owing to carry on the understanding analysis to the family present condition, discover a series of problem of existent , I decide to make use of the opportunity of graduate t</p>
9、<p> This system will adopt the PowerBuilder 9.0 be the stage database development tool, owing to the amount of data that the family finance management system need is smaller, using for the customer conveniently
10、, the usage PowerBuilder9.0 from the database of ASA that take.</p><p> In this system, we use the database of ASA to establish the applied database, and build up the form of a series, making use of the Pow
11、erBuilder9.0 stage development tool, carrying on the operation to the watch in the database of ASA, developping a series of function mold piece, among them including usually the receipt and expenditure, the access styl
12、e, obligation, various type statement statistics and the foundation support the etc., so, the family finance manage the application of the system </p><p> Because of the limited of time, our design is not p
13、erfect,it must appear some mistakes, also ask each teacher to give some advice and correct it.</p><p> KeyWord:DataWindows UserEvent UserObject Inherit Standard Visual</p><p><b> 目錄&l
14、t;/b></p><p><b> 前言4</b></p><p><b> 第一章 緒論5</b></p><p> 第二章 開發(fā)工具及數(shù)據(jù)庫概述6</p><p> 2.1 PowerBuilder概述6</p><p> 2.2 ASA數(shù)據(jù)
15、庫簡介7</p><p> 第三章 系統(tǒng)設計思想8</p><p> 3.1數(shù)據(jù)庫設計概述8</p><p> 3.2 需求分析8</p><p> 3.3 概念結構設計10</p><p> 3.4 邏輯結構設計12</p><p> 3.5 物理結構設計及數(shù)據(jù)
16、庫的實施13</p><p> 第四章 程序設計過程詳解15</p><p> 4.1 應用程序與數(shù)據(jù)庫的連接15</p><p> 4.2 基本模塊16</p><p> 4.3 數(shù)據(jù)處理模塊20</p><p> 4.3.1用戶登錄模塊20</p><p> 4.
17、3.2日常收支模塊21</p><p> 4.3.3存取款功能模塊22</p><p> 4.3.4家庭財產管理功能模塊22</p><p> 4.3.5借入與借出債務功能模塊22</p><p> 4.3.6借入與借出債務歸還功能模塊23</p><p> 4.4 查詢功能模塊24</p&
18、gt;<p> 4.5數(shù)據(jù)的備份模塊24</p><p> 4.6 統(tǒng)計報表模塊25</p><p> 4.6.1基礎窗口25</p><p> 4.6.2打印報表26</p><p> 4.7 基礎設置模塊26</p><p> 4.7.1 家庭成員管理模塊26</p>
19、;<p> 4.7.2 其它模塊27</p><p> 4.8 幫助模塊27</p><p> 第五章 《家庭財務管理系統(tǒng)》的開發(fā)總結27</p><p><b> 參考文獻:29</b></p><p><b> 致謝31</b></p><p
20、><b> 附錄31</b></p><p><b> 前言</b></p><p> 進入二十一世紀以來,隨著社會的不斷進步和科學技術的飛速發(fā)展,計算機在人們的生活工作中起著越來越重要的作用。</p><p> 計劃經濟時期,社會經濟表現(xiàn)的是一種“短缺經濟”形態(tài),人們的收入只能勉強維持基本生活需要,根本沒
21、有余錢用作其他用途。</p><p> 但是,隨著社會的不斷發(fā)展,人們生活水平的不斷提高,我國大部分家庭的收入有了較大的增長,今天的老百姓不但有能力“穿金戴銀”,個人可支配的收入也達到了數(shù)萬元。富裕的人們不再滿足于單一的生活方式,而是開始嘗試各種新的方式,人們認識了股票、債券。存款、貸款、股票、債券、投資信托、租賃、保險等各種金融活動無不沖擊著每個家庭,影響著社會生活的方方面面。</p><
22、p> 毋庸置疑,現(xiàn)在許多家庭財務都是東一榔頭西一棒,缺少整體考慮、合理規(guī)化,與此同時,家庭財產的收入、支出類型也變的多種多樣,如何對家庭的財產(包括收支情況、固定資產情況、債務等)進行科學合理的管理,節(jié)約開支并發(fā)揮資金的最大的效益,是第一個家庭需要考慮的問題,鑒于對家庭現(xiàn)狀進行了解分析,發(fā)現(xiàn)存在的一系列的問題。于是決定利用畢業(yè)設計的機會,嘗試設計開發(fā)了本系統(tǒng)——《家庭財務管理系統(tǒng)》。</p><p>
23、本系統(tǒng)將采用PowerBuilder 9.0作為前臺數(shù)據(jù)庫開發(fā)工具,鑒于對于家庭財務管理系統(tǒng),數(shù)據(jù)量比較小,并方便用戶使用,對于數(shù)據(jù)庫,使用PowerBuilder9.0自帶的ASA數(shù)據(jù)庫。</p><p> ASA數(shù)據(jù)庫可以實現(xiàn)和PowerBuilder9.0的無縫對接,對于ASA數(shù)據(jù)庫的操作由PowerBulder9.0所提供的專用接口來完成。ASA數(shù)據(jù)庫管理、數(shù)據(jù)完整性檢查、數(shù)據(jù)庫查詢功能、數(shù)據(jù)庫安全性等
24、各方面的功能也很強大,同時也提供了數(shù)據(jù)的保密、備份與恢復等功能。</p><p> PowerBuilder是目前廣泛流行的一種面向對象的、具有可視化圖形界面的快速交互式數(shù)據(jù)庫前臺開發(fā)工具,它支持客戶/服務器機制、分布式組件開發(fā)與因特網應用。利用它既可以開發(fā)功能強大的、運行在多個平臺的、能夠操作多個數(shù)據(jù)庫的應用系統(tǒng),還可以開發(fā)客戶/服務器、分布式、因特網應用系統(tǒng)。</p><p> 在
25、本系統(tǒng)中,利用ASA數(shù)據(jù)庫創(chuàng)建應用數(shù)據(jù)庫,建立一系列的表,利用PowerBuilder前臺開發(fā)工具,對ASA數(shù)據(jù)庫中的表進行操作,對于數(shù)據(jù)庫的連接是本系統(tǒng)的第一個重要環(huán)節(jié),PowerBuilder提供了大量的各種數(shù)據(jù)庫的數(shù)據(jù)庫接口驅動程序用于與各種數(shù)據(jù)庫的連接,ASA數(shù)據(jù)庫的專用接口。建立與ASA數(shù)據(jù)庫的連接后,開發(fā)一系列功能模塊,實現(xiàn)了對數(shù)據(jù)庫數(shù)據(jù)進行生成、處理、查詢、統(tǒng)計及字典維護等一系列功能,并能將新生成的數(shù)據(jù)制作成報表打印出來,
26、以實現(xiàn)整體的設計思想。</p><p> 通過指導老師的熱心幫助和我的共同努力,完成了整個系統(tǒng)的設計開發(fā),基本實現(xiàn)了預期的目的,對現(xiàn)有系統(tǒng)的缺陷進行了必要的補充,同時,也通過這次設計開發(fā)過程增加了自身的實踐經驗,提高了自身的設計開發(fā)能力,為將來工作打下了良好的基礎。</p><p> 由于時間關系和自身的水平,本系統(tǒng)并不完善,其中難免有錯誤之處,也請各位老師給予批評和指導。</p
27、><p><b> 第一章 緒論</b></p><p> 人們生活水平的不斷提高,我國大部分家庭的收入有了較大的增長,富裕的人們不再滿足于單一的生活方式,股票、債券、存款、貸款、股票、債券、投資信托、租賃、保險等各種金融活動無不沖擊著每個家庭,影響著社會生活的方方面面。</p><p> 對家庭的財產(包括收支情況、固定資產情況、債務等)
28、進行科學合理的管理,節(jié)約開支并發(fā)揮資金的最大的效益,是第一個家庭需要考慮的問題,鑒于對家庭現(xiàn)狀進行了解分析,采用PowerBuilder 9.0作為前臺數(shù)據(jù)庫開發(fā)工具,使用PowerBuilder9.0自帶的ASA數(shù)據(jù)庫,設計開發(fā)了<<家庭財務管理系統(tǒng)>>。</p><p> 在本系統(tǒng)中,所使用ASA數(shù)據(jù)庫創(chuàng)建應用數(shù)據(jù)庫,并建立一系列的表,利用PowerBuilder9.0前臺開發(fā)工具,
29、對ASA數(shù)據(jù)庫中的表進行操作,開發(fā)了收支管理、存取款管理、固定資產管理、債務管理、統(tǒng)計報表等幾個小模塊,可以從現(xiàn)有數(shù)據(jù)中提取所需數(shù)據(jù),對日常收支對照和家庭資金統(tǒng)計生成每日報表、每月報表或者是年度報表;也可以對日常收支、存取款、債務、固定資產等進行各樣的條件查詢,也可以對一些基本的參數(shù)(數(shù)據(jù)表)進行設置,也可以對基本的數(shù)據(jù)進行備份。下面將分四章詳細介紹相關的情況,第二章介紹有關數(shù)據(jù)庫及開發(fā)工具的情況;第三章將詳細介紹本系統(tǒng)的總體設計思路;
30、第四章詳細介紹各功能模塊的設計思路和設計方法及過程;第五章是對該系統(tǒng)的總結分析。最后是參考文獻、致謝以及附錄的程序清單。</p><p> 第二章 開發(fā)工具及數(shù)據(jù)庫概述</p><p> 2.1 PowerBuilder概述 </p><p> PowerBuilder是一種可視化的、面向對象的快速應用程序開發(fā)環(huán)境,是由美國著名的PowerSoft公司推出
31、的廣泛使用于客戶/服務器體系結構下的應用程序開發(fā)工具,是一種面向對象的圖形化交互式開發(fā)工具,它可以快速的可發(fā)出面向對象的大型數(shù)據(jù)庫應用系統(tǒng),對于單機用戶來說,PowerBuilder同樣是一種理想的開發(fā)環(huán)境。它已經為許多數(shù)據(jù)庫開發(fā)人員所熟悉和使用,并獲得廣泛的好評。與其他應用程序開發(fā)工具相比,PowerBuilder具有易于熟悉和掌握、開發(fā)速度快、成本低、質量高、功能強等諸多特點。</p><p> Power
32、Builder8進一步增強了編程環(huán)境:通過即時提示和自動補充完成功能,減少和避免了編寫應用程序時的鍵入錯誤;通過多應用程序的支持,開發(fā)人員能夠同時開發(fā)和調試多個應用程序;通過全新的庫管理畫筆,開發(fā)人員可以更加方便靈活地控制和管理各種對象;通過剪裁窗口,開發(fā)人員能夠把自己反復使用的多項內容放入到剪裁窗口中,然后隨時可以粘貼到需要的地方;通過輸出窗口,開發(fā)人員能夠看到各種操作的輸出結果和狀態(tài)。</p><p> P
33、owerBuiler8已經把PowerSite Web開發(fā)工具已經完全集成在它的里面,現(xiàn)在開發(fā)人員可以使用PowerBuiler8來開發(fā)Web應用程序了。新增的數(shù)據(jù)窗口函數(shù)、屬性和事件使這一工具具備了更強的能力和更高的靈活性;與EAServer的緊密集成讓開發(fā)人員能夠更迅速次開發(fā)出多層應用程序;新增和增強的數(shù)據(jù)庫接口使數(shù)據(jù)庫訪問更簡單有效;PowerScript中新增的例外處理功能讓開發(fā)人員能夠更精巧地控制錯誤處理的方式方法;新增和增強
34、的控件和函數(shù)進一步提高了PowerBuilder的應用程序開發(fā)能力,減少了對API調用的依賴;同時對雙字節(jié)字符和Ansi字符的支持讓開發(fā)人員能夠更方便地處理中文環(huán)境,同時也方便了多過程序的開發(fā)。</p><p> 由于PowerBuilder使具有圖形界面的數(shù)據(jù)庫前端開發(fā)工具,它所采用的圖形界面可以使開發(fā)人員快速方便地開發(fā)出相互獨立的對象,而這些對象可供開發(fā)人員共享或重復使用。PowerBuilder應用系統(tǒng)可
35、以在Windows3.X、windows95/98/NT/2000、UNIX等多種操作系統(tǒng)上進行跨平臺的開發(fā)、運行和分布。PowerBuilder所具有的數(shù)據(jù)庫連接和數(shù)據(jù)處理功能,PowerBuilder可以作為數(shù)據(jù)庫應用系統(tǒng)開發(fā)環(huán)境。PowerBuilder提供專用的數(shù)據(jù)庫接口不僅提供了各種數(shù)據(jù)庫的支持,對數(shù)據(jù)庫的訪問具有客戶/服務器查詢處理的高性能。PowerBuilder內置了數(shù)據(jù)窗口控件,通過該控件可使用戶用很少的代碼甚至無需編
36、程,即可迅速創(chuàng)建訪問數(shù)據(jù)庫信息的窗口,尤其是訪問大型數(shù)據(jù)庫信息的窗口。而在其他的數(shù)據(jù)庫開發(fā)工具中往往需要進行復雜的編程。在開發(fā)的系統(tǒng)中,數(shù)據(jù)窗口也是最主要的開發(fā)技術,絕大多數(shù)模塊中都使用了這一技術,也使我深深體會了數(shù)據(jù)窗口技術的強大功能和簡單靈活的特點。</p><p> 2.2 ASA數(shù)據(jù)庫簡介</p><p> 數(shù)據(jù)庫的管理主要是指對數(shù)據(jù)庫的創(chuàng)建、維護和刪除。由于安裝PowerBu
37、ilder9.0的時,用戶可同時安裝sybase公司的數(shù)據(jù)庫產品Adative Server Anywhere 8.0,它可以實現(xiàn)與PowerBuilder9.0無縫對接,它可以方便的對數(shù)據(jù)庫進行數(shù)據(jù)表的創(chuàng)建、刪除、及其它的一些工作,Adaptive Server Anywhere 8.0數(shù)據(jù)庫系統(tǒng)既能運行在數(shù)據(jù)庫服務器上,又能運行在客戶機上作為本地的數(shù)據(jù)庫系統(tǒng)來使用。為了方便系統(tǒng)的使用,所以選用了PowerBuilder9.0所自帶的
38、ASA數(shù)據(jù)庫。</p><p> 第三章 系統(tǒng)設計思想</p><p> 3.1數(shù)據(jù)庫設計概述</p><p> 數(shù)據(jù)庫設計是建立數(shù)據(jù)庫及其應用系統(tǒng)的技術,是信息系統(tǒng)開發(fā)和建設中的核心技術,是指對于一個給定的環(huán)境,構造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應用需求。</p><p> 數(shù)據(jù)庫設
39、計既是一項涉及多學科的綜合性技術,有時一項龐大的工程項目數(shù)據(jù)庫建設是硬件、軟件、和干件的結合;數(shù)據(jù)庫設計應該和應用系統(tǒng)設計相結合,即整個設計過程中要把結構設計和行為設計緊密結合起來。數(shù)據(jù)庫及其應用系統(tǒng)開發(fā)全過程可分為六個階段:㈠需求分析;㈡概念結構設計;㈢邏輯結構設計;㈣物理結構設計;㈤數(shù)據(jù)庫實施;㈥數(shù)據(jù)庫運行和維護。下面將逐步分析設計。</p><p><b> 3.2 需求分析</b>
40、;</p><p> 對于第一個家庭,大家都很了解,基本上包括日常的收支情況、固定資產情況、債務、債務的歸還、銀行的存取款。</p><p> 在系統(tǒng)的設計中,數(shù)據(jù)表的設計是關鍵,如何根據(jù)系統(tǒng)要實現(xiàn)的功能合理的設計數(shù)據(jù)庫將關系到整個系統(tǒng)的運行效率甚至關系到整個系統(tǒng)的成敗。</p><p> 根據(jù)目前家庭所需數(shù)據(jù)庫的的分析,發(fā)現(xiàn)所用到的數(shù)據(jù)可以從以下幾個表中提取
41、:</p><p> 1、日常收支表(rcsz)</p><p> 其中包含編號(r_id),收支人(r_chengruan),金額(r_jine),收支類型(r_shuozifangshi),項目(r_xiangmu),帳號(r_zhanghao),摘要信息(r_zaiyao),日期(r_riqi),地點(r_didian),備注(r_beizhu);</p><
42、p> 2、項目表(szxm)</p><p> 其中包含編號(s_id),項目名(s_mingcheng),收支(r_shouzhi),備注(s_beizhu);</p><p> 3、付款方式表(zffs)</p><p> 其中包含編號(z_id),名稱(z_mingcheng),備注(z_beizhu);</p><p>
43、 4、帳戶管理表(yhzh)</p><p> 其中包含編號(y_id),帳戶(y_zhanghu),開戶人(y_kaihuren),開戶銀行(y_yinhang),開戶日期(y_riqi),金額(y_jine),帳戶密碼(y_zhanghumima),卡號(y_kahao),卡密碼(y_kamima),備注(y_beizhu),目前金額(y_muqianjine);</p><p>
44、 5、存取款記錄表(cqk)</p><p> 其中包含編號(c_id),日期(c_riqi),類型(c_inout),帳號(c_zhanghao),金額(c_jine),地點(c_dizhi),備注(c_beizhu),成員(c_chengyuan)</p><p> 6、財產類型表(jtcclx)</p><p> 其中包含編號(j_id),名稱(j_m
45、ingcheng),備注(j_beizhu);</p><p> 7、家庭財產表(jtcc)</p><p> 其中包含編號(j_id),名稱(j_mingcheng),價格(j_jige),數(shù)量(anum), 財產類型(j_caichanleixing),日期(j_riqi),備注(j_beizhu),;</p><p> 8、債務表(zw)。</p&
46、gt;<p> 其中包含編號(z_id),日期(z_riqi),借入人(z_inren),借出人(z_outren),金額(z_jine),付款方式(z_fukuanfangsi),帳號(z_zhanghao),已還金額(z_yihunajine);</p><p> 9、債務歸還表(zwgh)</p><p> 其中包含編號(z_id),日期(z_riqi),還入還出
47、(in_out),金額(money),家庭成員(member),付款方式(z_fukuanfangsi),還入還出方式(in_outaccount),備注(remark);</p><p> 10、聯(lián)系人表(lxr)</p><p> 其中包含編號(l_id),姓名(l_xingming),姓別(l_xingbie),手機(l_shuoji),家庭電話(l_jiatingdianhua
48、),公司名稱(l_gongsiming),聯(lián)系地址(l_dizhi),備注(l_beizhu);</p><p> 11、家庭成員表(jtcy)</p><p> 其中包含編號(j_id),姓名(j_xingming),密碼(j_mima),金額(j_jine),備注(j_beizhu);</p><p> 12、家庭資金統(tǒng)計表(zjtj)</p>
49、<p> 其中包含編號(z_id),姓名(z_xingming),項目(z_xiangmu),期初金額(z_cushijine),收入(z_shuoru),支出(z_zhichu),存入(z_cunru),支取(z_zhicu),向外借入(z_xiangwaijieru),向外借出(z_xiangwaijieru),借出歸還(z_jieruguihuan),借入歸還(z_jieruguihuan),目前余額(z_yue)
50、;</p><p> 這樣開發(fā)系統(tǒng)的數(shù)據(jù)庫表結構已基本完成。從而數(shù)據(jù)流圖也基本建立,數(shù)據(jù)走向是從原有數(shù)據(jù)庫中通過檢索生成本系統(tǒng)所需數(shù)據(jù)并存儲,到對數(shù)據(jù)進行查詢、處理、統(tǒng)計等處理,再到經處理的數(shù)據(jù)輸出。</p><p> 3.3 概念結構設計</p><p> 概念結構設計就是將需求分析得到的用戶需求抽象為信息結構即概念模型的過程。它是整個數(shù)據(jù)庫設計的關鍵。&
51、lt;/p><p> 本系統(tǒng)采用自底向上方法,即自頂向下進行需求分析,然后在自底向上底設計概念結構。本系統(tǒng)所需實現(xiàn)的功能是對家庭收支、存取款、債務等生成必要的記錄、查詢、統(tǒng)計、維護等,所以這些就成為出發(fā)點。在生成模塊中,首先是要從原有數(shù)據(jù)庫數(shù)據(jù)中提取所需數(shù)據(jù),生成新數(shù)據(jù)庫中的數(shù)據(jù);然后對新數(shù)據(jù)進行處理以便生成上報所需的數(shù)據(jù),即從項目管理來說可分為收支、存取款、債務、數(shù)據(jù)備份等,從時間來說分為年度報表、月報表及日期(
52、選擇時間段)報表;在查詢模塊中可分為收支、存取款、債務等查詢;在基本信息的操作上可以進行成員管理、項目管理、付款方式、財產管理、帳戶管理、聯(lián)系人等操作。</p><p> 3.4 邏輯結構設計</p><p> 邏輯結構設計的任務就是把概念結構設計階段設計好的基本E-R圖轉換為與選用DBMS產品所支持的數(shù)據(jù)模型相符合的邏輯結構。</p><p> 在這一階段
53、是把上一階段所設計的各實體及屬性轉換為新數(shù)據(jù)庫中各個表中的記錄的數(shù)據(jù)項。這些工作可以在所用的到的ASA數(shù)據(jù)庫中進行一系統(tǒng)的轉換(把基本數(shù)據(jù)轉換成關系數(shù)據(jù)庫所用到的表),并進行優(yōu)化。</p><p> 3.5 物理結構設計及數(shù)據(jù)庫的實施</p><p> 數(shù)據(jù)庫在物理設備上的存儲結構與存取方法成為數(shù)據(jù)庫的物理結構,為一個給定的邏輯數(shù)據(jù)模型選取一個最合適應用要求的物理結構的過程,就是數(shù)據(jù)
54、庫的物理設計。</p><p><b> 圖3.5程序結構圖</b></p><p> 第四章 程序設計過程詳解</p><p> 4.1 應用程序與數(shù)據(jù)庫的連接</p><p> 開發(fā)本家庭財務管理系統(tǒng)所采用的操作系統(tǒng)是Windows 2000,是在個人模式下用PowerBuilder8.0開發(fā)的,創(chuàng)建工作
55、區(qū)、目標、庫文件是系統(tǒng)開發(fā)的首要工作,首先建立一個目錄來放置建立的庫文件等,在PowerBuilder9.0增添了兩個新概念,工作區(qū)(Workspace)和目標(Target),所以首先需建立一個工作區(qū),命名為moneymanager.pwl,再選擇標簽頁“Target”上的“Application”圖標,建立一個應用庫文件moneyhome.pbl和base.pbl并指明路徑存在所建目錄下。其中base.pbl用來存放基礎類庫的對象和
56、函數(shù)等,moneyhome用來存放系統(tǒng)窗口、數(shù)據(jù)窗口對象等。數(shù)據(jù)庫的連接就是本系統(tǒng)開發(fā)的第一個重點。首先創(chuàng)建數(shù)據(jù)源和數(shù)據(jù)庫描述文件,在主工具欄中單擊DBProdile按鈕,打開Data Profiles對話框,這個對話框列出了PowerBuilder9.0當前安裝的數(shù)據(jù)庫接口,這些數(shù)據(jù)庫接口中有專用的接口,也有ODBC接口,本系統(tǒng)所使用的就是ODBC接口,然后依次展開ODBC各個分支,直到出現(xiàn)ODBC Administrato<
57、/p><p><b> 4.2 基本模塊</b></p><p> 由于系統(tǒng)中經常要用到一系列重復的對象,所以有必要做一系列的基本模塊,以便以后的繼承和調用,這樣可以大大節(jié)約開發(fā)所用的時間。</p><p> 創(chuàng)建基礎的列表窗口(w_list_base),因為在系統(tǒng)中會經常用到數(shù)據(jù)列表的功能,所以有必要創(chuàng)建這樣一個窗口。這個窗口與一個編輯菜單
58、(m_edit)相關聯(lián),并且放置一個繼承uo_dw_grid的數(shù)據(jù)窗口控件dw_list。在菜單的各項腳本中,采用了動態(tài)調用的方法來調用窗口的事件,PowerBuilder9.0中允許在調用函數(shù)或事件時加入關鍵詞Dyanmeic,可以調用在編譯代碼時并不存在的函數(shù)或事件,這樣大大的增加了開發(fā)的靈活性。</p><p> 創(chuàng)建用戶的自定義事件,這些用戶自定義事件的事件的編寫有一部分是在主列表窗口中編寫,但有一部分
59、是在繼承這個主窗口的子窗口中編寫,其中包括ue_new,這個事件的主要功能是新增一條新的記錄。ue_edit這個事件的功能是編輯一條記錄。ue_find,這個事件的主要功能是打開查詢窗口,接收SQL語句并修改數(shù)據(jù)窗口的Select語句,實現(xiàn)數(shù)據(jù)的檢索。ue_save是的主要功能是對你新增或編輯的數(shù)據(jù)進行保存。ue_delete刪除數(shù)據(jù)窗口的當前記錄。ue_refresh重新檢索數(shù)據(jù)窗口中的數(shù)據(jù)實現(xiàn)所謂的刷新。ue_setbarenabl
60、ed根據(jù)數(shù)據(jù)窗口的結果集設定各個菜單項的所處的狀態(tài),就是所謂的在不同的時間內可用不可用。ue_settoolbar這些是為了設置菜單工具欄的字體的樣式風格。同時還定義了一系列的全局變量及窗口的打開和關閉事件。編寫窗口的open事件,首先調用uo_settoolbar自定義事件設置工具欄字體的樣式風格,然后是用setrransobject和retrieve事件對數(shù)據(jù)窗口控件所對應的數(shù)據(jù)庫進行檢索刷新,最后調用用戶的自定義事件ue_setb
61、arenabled事件,用來</p><p> 創(chuàng)建用戶自定義函數(shù)f_center,這個函數(shù)的功能使窗口的在屏幕的中央顯示。代碼的實現(xiàn)過程是首先獲取屏幕的象素,然后使窗口的左橫坐標為屏幕寬度的一半減去窗口寬度的一半,窗口的左縱坐標為屏幕高度的一半減去窗口高度的一半。用戶的自定義函數(shù)f_getid這個函數(shù)的功能是為了得到dw_list數(shù)據(jù)窗口控件中數(shù)據(jù)的ID。實現(xiàn)過程主要是通過數(shù)據(jù)窗口控件的getTtemNumb
62、er()函數(shù)。</p><p> 創(chuàng)建基礎的編輯窗口(w_edit_base),因為在本系統(tǒng)中,基本上所有的彈出窗口都是這一類風格,所以編寫這樣一個編輯窗口的父窗口是有必要的。這個窗口主要是繼承了一個基本窗口(w_autosize),w_autosize窗口的主要的功能是使窗口在屏幕的中央顯示,功能的實現(xiàn)也是調用了一個用戶自定義事件f_center,還可以對窗口中所有的控件進行定位,其中定義了鍵盤事件,主要的功
63、能是當用戶用戶鍵盤的回車鍵操作時,控件獲得焦點時的先后順序。Resize事件是當窗口改變后所有窗口中的控件將通過相對比例進行更改。Open事件功能是對所有的控件進行初始化,首先調用窗口居中函數(shù),然后再初始化所有控件的位置。ue_setline設置窗口中的四條線的位置。又創(chuàng)建了幾個用戶自定義的函數(shù),f_center這就是窗口所調用的居中函數(shù)。uf_position,uf_resize。窗口w_eidt_base主要是由一個繼承自uo_dw
64、_freeform用戶對象的數(shù)據(jù)窗口控件dw_edit和兩個命令按鈕確定和退出組成。</p><p> 創(chuàng)建基礎的窗口w_center,創(chuàng)建用戶自定義對象ue_dwcz這個自定義對象的主要功能是通過一個參數(shù)as_what,判斷事件的類型,如果是提交的話,判斷是否已經保存,如果保存的話,提示已保存信息,否則的話提示用戶是否要保存信息。如果是插入的話,定位到所要插入的行。如果是刪除的話,將出現(xiàn)提示信息,詢問用戶是否
65、要真的進行刪除。Ue_setline和上面的功能一樣都是為了設置窗口中的四條線的所在的位置。Ue_showtips顯示提示信息。同時還有它的Open、resize事件,功能同上。自定義函數(shù)f_center也和上面一樣。</p><p> 創(chuàng)建用戶自定義對象uo_dw_freeform(自由表格式),這個用戶自定義對象主要是為是為了以后的數(shù)據(jù)窗口控件繼承。由于這個數(shù)據(jù)窗口用戶對象,在以后的開發(fā)過程中將會經常用到,
66、所以提前建立一個基本的對象以便繼承,對這個數(shù)據(jù)窗口的操作一般是記錄的新增、記錄的刪除、數(shù)據(jù)的保存、窗口的刷新等。首先創(chuàng)建用戶的自定義事件shift_er,這個事件的主要功能是用戶在鍵盤上按下回車或是上下方向鍵時確定輸入焦點的后移。還創(chuàng)建了一個用戶的自定義函數(shù)of_add,主要是實現(xiàn)用戶記錄新增,同時返回新增記錄的行號。of_del自定義函數(shù)的功能是刪除用戶的當前記錄,并提示用戶信息是否要刪除,如果當前行刪除不成功的話,將有一個提示信息,
67、成功的話也返回一個提示信息。of_save這個自定義函數(shù)的功能是保存數(shù)據(jù)窗口的數(shù)據(jù),成功的話返回成功信息,不成功的話返回不成功的信息。of_refresh這個自定義函數(shù)的功能是對數(shù)據(jù)庫中的信息進行重新的檢索,并刷新數(shù)據(jù)窗口中的數(shù)據(jù)。of_setcolor自定義事件,這個函數(shù)的功能是設置編輯字體的背景色。還有一個自定義事件of_ismodify這個函數(shù)通過檢索數(shù)據(jù)庫中的記錄,如果修改</p><p> 創(chuàng)建數(shù)據(jù)窗
68、口用戶對象uo_dw_grid,這個數(shù)據(jù)窗口對象主要是針對grid類型的窗口所設計的,這個有一部分是繼承了uo_dw_freeform,但是也做了一部分的功能添加,of_asc這個函數(shù)的主要功能是為了當用戶單擊列名的時,數(shù)據(jù)窗口中的數(shù)據(jù)將自動進行數(shù)據(jù)的升序排列并顯示升序箭頭圖標。of_des這個函數(shù)主要是為了數(shù)據(jù)窗口中的數(shù)據(jù)自動子降序排列并顯示降序箭頭圖標。Rowfocuschanged這個用戶自定義事件功能是實現(xiàn)選中當前行。uo_dw
69、_grid的clicked事件,當用戶單擊時進行數(shù)據(jù)的排列,并進行箭頭的顯示。</p><p> 創(chuàng)建數(shù)據(jù)窗口用戶對象u_dw_base,其中of_ask_to_save()函數(shù)的主要功能是當closequery時,如果用戶操作的數(shù)據(jù)窗口中的數(shù)據(jù)已更改,將詢問用戶是否要進行保存。of_deleterow()函數(shù)的功能是提示用戶是否真的要刪除行記錄,如果是的話,將刪除,否則不于刪除。of_getcoltpye()
70、函數(shù)功能是返回所得到的列的類型。of_getheader()得到頭文件。</p><p> of_insertrow()功能是插入一行數(shù)據(jù)。of_update()更新信息是否成功,成功返回成功信息,否則的話返回更新失敗信息。</p><p> 創(chuàng)建可見的用戶對象并把相應的代碼封裝在里面,這樣避免大量重復的代碼的編寫,也有利于以后系統(tǒng)的維護和升級,如果在系統(tǒng)中使用,選擇“insert”
71、下的“control”下的“userobject”直接引用這些對象。</p><p> 創(chuàng)建不可見的用戶對象uo_toolbarfont這個函數(shù)能夠重新定義窗口工具欄文本和工具欄按鈕的寬度,使之更加美觀。</p><p> 創(chuàng)建不可見的用戶對象uo_settime這個的主要功能是設定系統(tǒng)的日期和系統(tǒng)的時間。</p><p> 創(chuàng)建可視的用戶對象u_toolbu
72、tton,定義工具按鈕的顯示風格,并添加mousedown,mouseup,mousemove事件。</p><p> 創(chuàng)建可視的用戶對象sle_find,定義用戶的key_press事件。</p><p> 創(chuàng)建可視的用戶對象uo_close,并添加關閉按鈕事件來關閉窗口。</p><p> 創(chuàng)建可視的用戶對象uo_dele。</p><
73、p> 創(chuàng)建可視的用戶對象uo_edit。</p><p> 創(chuàng)建可視的用戶對象uo_refresh。</p><p> 創(chuàng)建可視的用戶對象uo_help。</p><p> 創(chuàng)建可視的用戶對象uo_print。</p><p> 創(chuàng)建可視的用戶對象uo_new。</p><p> 創(chuàng)建可視的用戶對象u
74、o_save。</p><p> 創(chuàng)建可視的用戶對象uo_search。</p><p> 創(chuàng)建可視的用戶對象uo_sle。其中Selecttext事件的功能是選中你所選擇的文本。</p><p> 創(chuàng)建數(shù)據(jù)窗口對象,系統(tǒng)中主要用了兩個基本類型的數(shù)據(jù)窗口對象,一個是grid(風格)類型,另一個則是freeform(自由表格式)類型。</p>&l
75、t;p> 創(chuàng)建grid類型的數(shù)據(jù)窗口對象d_xmgl_list,首先打開文件菜單中的new子菜單,然后在打開的new對話框中選擇datawindow標簽,選擇grid單擊OK,然后選擇SQL select單擊Next,選擇項目表,雙擊選擇要添加的項,關閉,然后出現(xiàn)select color and border setting,設置好,單擊next,在單擊finish,grid類型的數(shù)據(jù)窗口對象就基本上做好了,然后你還可以設置它的
76、一些屬性其中包括一些顏色及內容的位置等。</p><p> 創(chuàng)建freeform類型的數(shù)據(jù)窗口對象d_qkjl_edit,做法與grid類型的數(shù)據(jù)窗口對象差不多,不同點是在table layout中,單擊design菜單中的retrieval arguments..,在name中輸入ID,在類型中選擇Number型,然后在Column中選擇s_id, operator選擇=,value中輸入id,單擊
77、下一步,下同grid類型的創(chuàng)建。</p><p> 創(chuàng)建基礎菜單m_main,菜單定義為m_rcsr日常收入記錄,m_rczc日常支出記錄,m_ckjl用戶存款記錄,m_qkjl用戶取款記錄, m_asset資產記帳,m_jrzw借入債務,m_jczw借出債務,m_jrgh借入歸還,m_jcgh借出歸還, m_pinouttally日常收支對照表,m_psumall家庭資金匯總表,m_backup數(shù)據(jù)備份,m_
78、cygl成員管理,m_zhgl帳戶管理,m_fkfs付款方式,m_lxr聯(lián)系人,m_xmgl項目管理,m_ccgl財產管理 ,m_about幫助。每個窗口的基本事件一般是調用OpenWithPara()函數(shù),并傳遞一個窗口名稱和一個參數(shù)。因為很多窗口都要被共用,比如日常的收入和日常的支出,它們就是通過這個參數(shù)來分別實現(xiàn)不同的功能。</p><p> 創(chuàng)建基礎菜單m_edit,菜單定義為新增、編輯、刪除、保存、查
79、找、刷新、打印、關閉。它們分別動態(tài)的調用用戶自定義事件ue_new、ue_edit、ue_delete、ue_save、ue_find、ue_refresh、ue_print、ue_close。有些事件將會在所打開的窗口中重新定義。</p><p> 4.3 數(shù)據(jù)處理模塊</p><p> 數(shù)據(jù)處理模塊是本系統(tǒng)的核心模塊,它將實現(xiàn)本系統(tǒng)的大部分的功能。它主要由用戶的登錄模塊、日常的收支
80、模塊、存取款功能模塊、固定資產管理的功能模塊、借入與借出債務功能模塊、借入與借出債務歸還功能模塊組合而成。具體分析如下:</p><p> 4.3.1用戶登錄模塊</p><p> 創(chuàng)建用戶的登錄模塊,系統(tǒng)登錄是為了數(shù)據(jù)庫的安全,防止非法人員的進入,這個窗口也是窗口w_center窗口繼承而來,主要由兩個靜態(tài)文本、一個單行文本、一個dropdownlistbox、兩個Button按鈕和
81、一條線組成。添加窗口的open事件,主要的功能是當用戶打開這個窗口的時候,將從數(shù)據(jù)庫檢索用戶信息,并把檢索到所有的用戶名放到用戶名下拉列表中,具體操作是:首先定義一個游標并把從數(shù)據(jù)庫中檢索的數(shù)據(jù)放入其中,然后用一個循環(huán)語句把得到的數(shù)據(jù)一個一個的放入列表中,最后關閉游標并把初始值定位在第一條。添加登錄按鈕的clicked事件,主要功能是判斷用戶是否是合法用戶,首先判斷用戶名是否為空,如果為空的話,提示錯誤,然后取出信息并判斷用戶登錄的次數(shù)
82、,如果大于三次將自動退出,最后判斷用戶的密碼是否正確,如果正確的話將進入系統(tǒng)。</p><p> 創(chuàng)建系統(tǒng)的主界面w_main,這個窗口主要包含一個數(shù)據(jù)窗口控件關聯(lián)一個數(shù)據(jù)窗口對象d_statbar,這個數(shù)據(jù)窗口對象的功能是用于在狀態(tài)欄顯示用戶的基本信息及操作日期。</p><p> 4.3.2日常收支模塊</p><p> 日常收入與日常支出由兩個基本的窗口
83、組成,一個是用于顯示數(shù)據(jù)列表的收支列表窗口w_rcszgllist和一個用于新增/編輯的收支記錄的編輯窗口w_rcszgledit。</p><p> 窗口w_rcszgllist主要是繼承窗口w_list_base,這個窗口由一個datawindow控件關聯(lián)一個數(shù)據(jù)窗口對象d__list,這里面用到了一個全局結構s_edit,這個結構的作用是傳遞一組參數(shù)給新增或是編輯窗口,編寫窗口的open事件,通過所傳遞過
84、來的參數(shù)進行判斷,如果是收入的話,則關聯(lián)d_rcsr_list數(shù)據(jù)窗口對象,否則的話則是關聯(lián)d_rczc_list數(shù)據(jù)窗除事件,先得到行號,然后再獲得銀行帳號、付款方式、金額的數(shù)值,如刪除成功的話,判斷如果是收入刪除的話,則減去所刪除的金額,否則的話則增加所刪除的金額。編寫打印事件,直接通過一個參數(shù)打開所需要口對象,然后再調用父窗口的open事件,編寫用戶的新增事件,直接打開收支編輯窗口,編寫用戶的編輯事件,首先獲得焦點所在的行號,然后
85、再通過它主鍵的id作為參數(shù)進行打開編輯窗口。編寫它的刪打印的窗口。</p><p> 窗口w_rcszgledit主要是繼承窗口w_edit_base,這個窗口主要由一個datatwindow控件關聯(lián)一個數(shù)據(jù)窗口對象d_rcsr_edit、一個保存按鈕和一個退出按鈕,編寫窗口的open事件,先進行判斷是收入還是支出,然后再判斷是窗口的新增還是窗口的編輯,如果是編輯的話,先得到行號,然后再獲得舊的帳號、舊的支付方
86、式、舊的金額,最后再調用全局函數(shù)f_setdwchild刷新子數(shù)據(jù)窗口的記錄顯示。編寫dw_edit的itemchanged事件,如果選中成員時,則調用全局函數(shù)f_setdwchild函數(shù)來刷新字段,如果是銀行帳號,在編輯的情況下,改變了帳號,則原來的帳戶余額也要變化,在新增的情況下,只顯示余額,如果是金額,先判斷是否大于零,如果小于零,則出現(xiàn)提示信息,否則的話,判斷是不是為轉帳,如果是,在新增、收入的情況下,顯示金額,在新增、支出的情
87、況下,如果不夠的話則出現(xiàn)提示是否透支信息,如果是編輯,則修改金額之差,如果是支出再判斷是否透支。保存按鈕的事件,先判斷收入摘要不能為空、金額大于零、轉帳輸入帳號,然后調用父窗口的保存事件,最后在收入新增轉帳的情況下增加帳戶的余額,如</p><p> 4.3.3存取款功能模塊</p><p> 存取款也是由二個基本的窗口組成,分別是存取款列表w_cqklist和用于新增/編輯存取款記錄
88、的編輯窗口w_cqkedit。</p><p> 窗口w_cqklist也是繼承了窗口w_list_base,它的open事件和w_rcszgllist的open事件差不多,只是數(shù)據(jù)窗口對象換成了存款列表d_ckjl_list和取款列表w_qkjl_list。Ue_new、ue_edit、ue_delete、ue_print用戶事件都差不多。</p><p> 窗口w_cqkedit繼
89、承了窗口w_edit_base,基本的事件也和w_rcszgleidt差不多,只是有些參數(shù)不同。</p><p> 4.3.4家庭財產管理功能模塊</p><p> 家庭財產管理由二個基本的窗口組成,分別是家庭資金共用列表w_jtcclist和用于新增/編輯資金共用記錄的編輯窗口w_jtccedit。</p><p> 窗口w_jtcclist也是繼承了窗口w
90、_list_base,窗口w_jtccedit也是繼承了窗口w_edit_base,基本事件也和w_rcszgllist和w_rcszgleidt差不多,只是有些參數(shù)不同。</p><p> 4.3.5借入與借出債務功能模塊</p><p> 借入借出債務的窗口組成,分別是家庭資金共用列表w_zwgltlist和用于新增/編輯資金共用記錄的編輯窗口w_zwgledit。</p&
91、gt;<p> 窗口w_zwgllist也是繼承了窗口w_list_base,編寫的open事件,首先是通過一個參數(shù)來判斷是借入債務則打開借入債務列表窗口,否則的話則打開借出債務列表窗口。Ue_new、ue_edit、ue_delete、ue_print用戶事件都差不多。</p><p> 窗口w_zwgledit也是繼承了窗口w_edit_base,編寫窗口的open事件,過程首先判斷所要打開
92、的窗口是借入還是借出并對數(shù)據(jù)進行檢索,隨后是判斷用戶所點擊的事件是新增按鈕還是編輯按鈕,并對數(shù)據(jù)進行初始化。編寫dw_edit的itemchanged事件,這個事件的主要功能是判斷用戶所單擊哪一個加號按鈕的的事件,并分別打開不同的對應窗口和一些基本的初始化。最后是button按鈕的保存事件,先得到行號,然后判斷支付方式,如果是轉帳的話還要提示轉帳的帳號,調用父窗口的保存事件,然后再判斷如果是借入的新增在轉帳的情況下,增加用戶金額數(shù)量,如
93、果是借入編輯的話,在新的支付方式為轉帳的情況,如果修改了帳號,則原帳號的金額減少,而新的帳號的金額增加,如果帳號沒有修改的話,則直接更改金額的數(shù)量,如果由其它的修改為轉帳,則新的帳戶的金額要增加,如果原的支付方式為轉帳而新的支付方式為其它,則金額要減少,借出代碼的編寫與借入的差不多,只不過程序相反而已。</p><p> 4.3.6借入與借出債務歸還功能模塊</p><p> 這兩個基
94、本的窗口與前面所講的幾個窗口稍微有一點的不同,它也是由兩個窗口w_zwghgllist和窗口w_zwglghedit構成,但是在w_zwghgllist窗口中放置了兩個數(shù)據(jù)窗口控件,分別用于顯示借入債務與借入債務歸還的信息。這兩個數(shù)據(jù)窗口控件分別與數(shù)據(jù)窗口對象w_jrzw_list(w_jczw_list)和w_jcgh_list(w_jrgh_list)相對應,同時還關聯(lián)一個菜單控件m_edit。</p><p&g
95、t; 窗口w_zwghgllist,也是由窗口w_list_base繼承而來,它也是窗口共用,編寫它的open事件,先判斷是還入還是還出,并根據(jù)結果選擇它所關聯(lián)的數(shù)據(jù)窗口對象,最后檢索數(shù)據(jù)庫并刷新數(shù)據(jù)窗口,編寫菜單m_edit的新增事件,這里不在多介紹,其中有一個用戶定義事件ue_setmnew,這個事件的功能是根據(jù)借還款情況設定"新增"菜單是否可用,首先判斷還款記錄窗口,如果行號大于零的話,再進行判斷借出或是借入
96、的金額是否和借出歸還、借入歸還的金額相等,如果相等的話,則新增按鈕不可用,否則可用。</p><p> 4.4 查詢功能模塊</p><p> 查詢功能模塊也是本系統(tǒng)的一個重點,在系統(tǒng)的大部分窗口中都要用到查詢,查詢窗口可以分析接收到的數(shù)據(jù)窗口參數(shù),自動提取列名作為檢索點,并可以添加多個檢索條件,實現(xiàn)任意多的組合查詢。</p><p> 查詢窗口由一個基本的窗
97、口w_query構成,這個窗口由窗口w_center繼承而來,窗口由兩個Groupbox控件、兩個Datawindows控件和四個Button按鈕組成。兩個數(shù)據(jù)窗口控件使用同一數(shù)據(jù)窗口對象,數(shù)據(jù)窗口的創(chuàng)建過程,所用到的數(shù)據(jù)窗口對象為Grid風格,數(shù)據(jù)源是External(外部數(shù)據(jù)源),即該數(shù)據(jù)源并不是來源于數(shù)據(jù)庫,而是來自其他文件或應用程序生成的數(shù)據(jù)。External數(shù)據(jù)源是數(shù)據(jù)窗口中僅有的不需要連接數(shù)據(jù)庫的數(shù)據(jù)源,本系統(tǒng)定義了五個字段
98、分別為列名、比較符、查詢值、邏輯值、sql。</p><p> 在基本窗口w_query中,定義用戶自定義函數(shù)wf_get_name,wf_setdddw,功能是設置"結果"(column_result)字段的dddw。wf_setdddlb,設置"條件"(column_compare)字段的ddlb,wf_seteditmask。</p><p>
99、; 4.5數(shù)據(jù)的備份模塊</p><p> 這個模塊的設計比較的簡單,它主要由一個基本的窗休w_backup組成,這個窗口主要繼承w_autosize窗口,在這個窗口中包含三個button按鈕、一個靜態(tài)文本框和一個單行編輯框。</p><p> 編寫備份按鈕的clicked事件,首先判斷用戶所選擇的目錄是不是為空,如果為空的出現(xiàn)提示信息,否則的話再判斷用戶所選擇的目錄是不是已經存在,
100、如果不存在的話,提示用戶是否要創(chuàng)建這個目錄,用戶選擇創(chuàng)建但沒有創(chuàng)建成功也提示不成功信息,最后如果都成功的話,則進行數(shù)據(jù)的備份并關閉窗口。</p><p> 瀏覽按鈕的主要功能是當用戶單擊時出現(xiàn)一個文件選擇框,用于選擇你所要保存文件的目錄。</p><p> 4.6 統(tǒng)計報表模塊</p><p> 家庭財務管理系統(tǒng)中統(tǒng)計報表也是非常重要的功能之一。通過報表可以了
101、解家庭資金和資產的運作情況。</p><p> 4.6.1基礎窗口 </p><p> 本系統(tǒng)中所涉及的統(tǒng)計報表總共有二個,其中包括日常收支對照報表、家庭資金匯兌報表。</p><p> 其中日常收支對照報表要選擇或者輸入統(tǒng)計日期作為統(tǒng)計條件來進行生成報表,因此,建立一個統(tǒng)計條件窗口是有必要的,這樣可以通過不同的輸入條件進行不同的信息統(tǒng)計,這樣不僅僅能實現(xiàn)強大
102、的查詢功能,同時也有利于系統(tǒng)的維護。</p><p> 統(tǒng)計條件窗口主要由以下的幾個控件組成,3個基本的單選按鈕,分別定義為rb_year,rb_month,rb_day,兩個編輯掩碼框,分別命名為em_1,em_2,還有兩個命令按鈕,cb_ok,cb_2,還有一個隱藏的數(shù)據(jù)窗口控件dw_print這個數(shù)據(jù)窗口控件主要是繼承窗口w_center,這個隱藏的數(shù)據(jù)窗口的主要功能是通過參數(shù)進入報表窗口。</p&
103、gt;<p> 這個窗口中有二個自定義的函數(shù),第一個函數(shù)f_tally函數(shù),所實現(xiàn)的功能是統(tǒng)計指定日期內的收支記錄。首先是先清空p_bankrecord表中所有的記錄,然后再用insert語句把所選擇的時間內收入記錄全部插入到p_bankrecord中,最后是用insert語句把所選擇的時間內支出記錄的全部插入到p_bankrecord中。第二個函數(shù)是f_replacenull,這個函數(shù)的功能是把空值替換成零。窗口的op
104、en事件中,先把接收過來的參數(shù)賦給一個變量,然后再把編輯掩碼框中的數(shù)值轉化成字符串賦給兩個變量。最后是編寫窗口的確定按鈕事件,事件的代碼先判斷用戶選擇的類型,如果是一年的報表的話,將一年的時間賦給兩個變量,如果是一月的話,將這一個月的時間賦給兩個變量,否則的話,將是文本框中的數(shù)據(jù)轉成日期后賦給兩個變量,然后調用f_tally函數(shù)通過這個函數(shù)的功能是通過兩個時間參數(shù),能夠查詢出所有的這一個時間內的數(shù)據(jù),然后檢索字段,最后打開p_view報
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家庭財務管理系統(tǒng)畢業(yè)論文
- 家庭財務管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文《家庭財務管理系統(tǒng)》.doc
- 家庭財務管理系統(tǒng)-畢業(yè)論文12
- 財務管理系統(tǒng)畢業(yè)論文
- 財務管理畢業(yè)論文
- 財務管理畢業(yè)論文
- 財務管理畢業(yè)論文
- 財務管理畢業(yè)論文
- 家庭財務管理系統(tǒng)——登錄、注冊,統(tǒng)計的設計與實現(xiàn)【畢業(yè)論文】
- 財務管理專業(yè)畢業(yè)論文
- 網上財務管理畢業(yè)論文
- 村級財務管理畢業(yè)論文
- 酒店財務管理畢業(yè)論文
- 財務管理畢業(yè)論文 (2)
- 畢業(yè)論文財務管理專業(yè)
- 級財務管理畢業(yè)論文
- 財務管理畢業(yè)論文1
- 財務管理畢業(yè)論文 (2)
- 財務管理目標畢業(yè)論文
評論
0/150
提交評論