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