基于delphi的圖書管理系統(tǒng)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  學(xué) 士 學(xué) 位 論 文</p><p>  基于delphi的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  學(xué) 士 學(xué) 位 論 文</p><p>  基于delphi的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 姓 名:</p><p> 學(xué) 號(hào):</p>&l

2、t;p> 指導(dǎo)教師:</p><p> 院系(部所):計(jì)算機(jī)科學(xué)系</p><p> 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 完成日期:2010年5月10日</p><p><b>  摘 要</b></p><p>  隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,傳統(tǒng)的圖書管

3、理方式必然被計(jì)算機(jī)為基礎(chǔ)的信息管理畢業(yè)設(shè)計(jì)所取代?使用計(jì)算機(jī)對(duì)圖書信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn)經(jīng)過分析如此情況,我們使用Borland的DELPHI 7.0開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡(jiǎn)潔操縱數(shù)據(jù)庫(kù)的智能化對(duì)象,首先在短時(shí)間內(nèi)建立畢業(yè)設(shè)計(jì)應(yīng)用原型,然后,對(duì)初始原型畢業(yè)設(shè)計(jì)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行畢業(yè)設(shè)計(jì)?</p><p>  圖

4、書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,本系統(tǒng)對(duì)圖書的管理主要包括圖書入庫(kù),圖書查詢,圖書借還,圖書修改,圖書類別設(shè)置等,其中圖書查詢可以按書號(hào),書名,出版社,作者,類別等進(jìn)行查詢。系統(tǒng)還包括了權(quán)限設(shè)置和讀者設(shè)置,權(quán)限分為管理員,工作人員和讀者,其中管理員可以對(duì)系統(tǒng)進(jìn)行各種操作,工作人員可以進(jìn)行除權(quán)限外的任何操作,而讀者只能進(jìn)行圖書查詢。讀者設(shè)置包括學(xué)生和教師,其中學(xué)生和教師一次可以借書的數(shù)量是不

5、一樣的。</p><p>  本文采用delphi7.0+Sql Server的技術(shù)方案。還總結(jié)概括了該系統(tǒng)的主要特點(diǎn)和功能,外觀設(shè)計(jì)簡(jiǎn)約,交流界面人性化,配合數(shù)據(jù)庫(kù)管理,使用且易操作。畢業(yè)設(shè)計(jì)在撰寫過程中,力求將理論與實(shí)踐應(yīng)用相結(jié)合,對(duì)各種理論進(jìn)行闡述的同時(shí)配合畢業(yè)設(shè)計(jì)從實(shí)際應(yīng)用和操作技巧上加以說明,希望能夠更充分地體現(xiàn)到這些知識(shí)與技術(shù)在本畢業(yè)設(shè)計(jì)中的應(yīng)用與實(shí)現(xiàn)?</p><p>  【

6、關(guān)鍵詞】圖書管理系統(tǒng);Delphi 7.0;SQL SERVER 2000 </p><p><b>  Abstract</b></p><p>  With the continuous improvement of science and technology, computer science and the maturing of traditional l

7、ibrary management must be computer-based information management graduate design replaced. the use of its various object-oriented development tools, in particular, the data window can be simple and easy to manipulate inte

8、lligence database objects, the first application in a short time to establish the prototype school designs, and then graduated from the initial prototype design needs to c</p><p>  Library as a distribution

9、center for information resources, books and many users to borrow materials, including a lot of information and data management. This system mainly includes the management of library book storage, books borrowed books, mo

10、dify, books and books category Settings, etc, Which book inquires according to call can be title, author, category, etc. System includes the permissions Settings and readers, access into administrators, staff and readers

11、, including system administrators </p><p>  In this paper, using delphi7.0 + Sql Server technology solutions. Also summarized as the system's main features and functionality, minimalist design, human com

12、munication interface, with database management, use and easy to operate. Graduation in the writing process, sought to combine theory and practical application of various theories explain the same time with the graduation

13、 from the practical application and operation technique illustrated in the hope of more fully to the knowledge and techno</p><p>  【Keywords】Library Management System;Delphi 7.0; SQLSERVER 2000</p>&l

14、t;p><b>  目 錄</b></p><p><b>  第1章 緒 論1</b></p><p>  1.1 研究背景1</p><p>  1.2 研究的目的和意義2</p><p>  1.3 國(guó)內(nèi)外的研究現(xiàn)狀3</p><p>  第2章 圖書管

15、理系統(tǒng)分析4</p><p>  2.1 系統(tǒng)需求分析4</p><p>  2.2 可行性分析5</p><p>  2.3 系統(tǒng)開發(fā)環(huán)境的分析5</p><p>  第3章 系統(tǒng)設(shè)計(jì)7</p><p>  3.1 設(shè)計(jì)目標(biāo)7</p><p>  3.2 構(gòu)建開發(fā)環(huán)境7</

16、p><p>  3.3 系統(tǒng)業(yè)務(wù)流程圖8</p><p>  3.4 系統(tǒng)功能模塊圖8</p><p>  3.5 系統(tǒng)E-R圖9</p><p>  3.6 系統(tǒng)數(shù)據(jù)流程圖11</p><p>  3.7 數(shù)據(jù)描述12</p><p>  第4章 基于Delphi的數(shù)據(jù)庫(kù)分析與設(shè)計(jì)16

17、</p><p>  4.1 中間件技術(shù)16</p><p>  4.2 服務(wù)端程序的建立17</p><p>  4.3 客戶端程序的建立17</p><p>  4.4 delphi 7.0 VCL組件的體系結(jié)構(gòu)18</p><p>  4.5 數(shù)據(jù)庫(kù)組件19</p><p>  

18、第5章 圖書管理系統(tǒng)的功能實(shí)現(xiàn)20</p><p>  5.1 數(shù)據(jù)庫(kù)的連接20</p><p>  5.2 主要功能模塊的詳細(xì)設(shè)計(jì)21</p><p>  5.2.1登錄窗口的設(shè)計(jì)21</p><p>  5.2.2 主窗體設(shè)計(jì)23</p><p>  5.2.3 書庫(kù)信息查詢管理模塊設(shè)計(jì)26</p

19、><p>  5.2.4 圖書借閱列表管理模塊設(shè)計(jì)29</p><p>  5.2.5 罰款信息管理模塊設(shè)計(jì)30</p><p>  5.2.6 讀者注冊(cè)管理模塊設(shè)計(jì)30</p><p>  第6章 圖書管理系統(tǒng)測(cè)試33</p><p>  6.1系統(tǒng)測(cè)試目標(biāo)及方法34</p><p> 

20、 6.2 系統(tǒng)測(cè)試結(jié)果與分析34</p><p>  6.3本章小結(jié)36</p><p>  結(jié)束語(yǔ)錯(cuò)誤!未定義書簽。</p><p><b>  參考文獻(xiàn)38</b></p><p><b>  致 謝40</b></p><p><b>  第1章

21、緒 論</b></p><p><b>  1.1 研究背景</b></p><p>  圖書管理信息系統(tǒng)目前被廣泛應(yīng)用于學(xué)校、工業(yè)、商業(yè)、企業(yè)、事業(yè)等單位,幾乎每個(gè)進(jìn)行了信息化建設(shè)的單位都具有圖書館管理系統(tǒng)。在使用計(jì)算機(jī)系統(tǒng)對(duì)圖書的管理,其實(shí)就是對(duì)信息的管理[1]。使用信息系統(tǒng)對(duì)圖書館進(jìn)行管理,將會(huì)大幅提高管理的效率、便捷與安全。近些年來,圖書館事業(yè)的巨

22、大進(jìn)步已為圖書館在新世紀(jì)的發(fā)展打下了堅(jiān)實(shí)的基礎(chǔ).全球信息化和高新技術(shù)的發(fā)展也為圖書館提供了更好的發(fā)展機(jī)遇,傳統(tǒng)的單一以書本作為單元信息服務(wù)手段已不能滿足讀者的需求,現(xiàn)代化服務(wù)手段的實(shí)施勢(shì)在必行。</p><p>  隨著社會(huì)的發(fā)展,信息社會(huì)的建立,圖書館開始沖破傳統(tǒng)服務(wù)模式,緊密地配合社會(huì)需求,提供特色服務(wù),有針對(duì)性的服務(wù),不斷提高讀者的滿意率。過去我們以開架借閱滿足讀者按需索書的需求。但在傳統(tǒng)的借閱方式下,難以

23、達(dá)到讀者快速索取圖書的要求。以計(jì)算機(jī)網(wǎng)絡(luò)為手段的信息傳遞具有高速度、高效率的特點(diǎn),是任何手工操作都無法比擬的,電子技術(shù)與圖書館工作的結(jié)合,實(shí)現(xiàn)了圖書館管理和服務(wù)的現(xiàn)代化。利用圖書管理系統(tǒng),可以激活館藏中的各種圖書,使讀者從主題,各種角度檢索圖書的愿望得到實(shí)現(xiàn)。方便,快捷的檢索方式縮短了尋找所需圖書的時(shí)間,使讀者擺脫了由于書目急速增長(zhǎng)而無從下手的困擾,大大提高了搜索效率,加速了圖書的開發(fā)利用[2]。更為優(yōu)越的是新圖書管理系統(tǒng)的使用增強(qiáng)了圖

24、書館員與讀者之間的互動(dòng)服務(wù),以及讀者的自助服務(wù),比如說可通過網(wǎng)絡(luò)推薦新書和自行辦理圖書借閱,續(xù)借手續(xù)等等。</p><p>  現(xiàn)代圖書館以用戶為中心,需要什么就提供什么,擺脫傳統(tǒng)的服務(wù)方式,摒棄單個(gè)、重復(fù)、被動(dòng)、瑣碎的手工服務(wù)。把服務(wù)模式從單純服務(wù)型轉(zhuǎn)變?yōu)榉?wù)經(jīng)營(yíng)型,把服務(wù)推向市場(chǎng),開展信息的深加工,如代查、代檢索、代翻譯、人辦手續(xù)、代復(fù)制、聯(lián)機(jī)檢索、光盤檢索、聯(lián)機(jī)目錄查詢、網(wǎng)上專題信息服務(wù)等。提供信息資源的范

25、圍和載體更廣泛。</p><p>  圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理[3]。根據(jù)調(diào)查得知,以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書借閱情況(如借書天數(shù)、超過限定借書時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書卡的人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、

26、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找。</p><p>  本文提出根據(jù)基于分布式delphi下的圖書管理系統(tǒng)的設(shè)計(jì)方案,并根據(jù)高效圖書館對(duì)圖書管理系統(tǒng)的需求的調(diào)查,進(jìn)行了初步的探索和嘗試。</p><p>  1.2 研究的目的和意義</p><p>  為了實(shí)現(xiàn)圖書管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,實(shí)現(xiàn)對(duì)圖書資料的集中統(tǒng)一的管

27、理。有效的解決以往的圖書管理信息系統(tǒng)存在的不足和弊病,不斷豐富完善的管理內(nèi)容,還應(yīng)具備如何能夠創(chuàng)建通向未來的沒有中斷的跨越LAN、WAN和Internet平臺(tái)的分布式可伸縮的應(yīng)用結(jié)構(gòu),以滿足當(dāng)今的復(fù)雜的不斷發(fā)展的圖書管理業(yè)務(wù)需求。通過查閱大量資料,經(jīng)過兩個(gè)多月設(shè)計(jì)實(shí)踐,我開發(fā)了一個(gè)基于delphi的圖書管理系統(tǒng)(局域網(wǎng)),可以實(shí)現(xiàn)動(dòng)態(tài)的連接應(yīng)用程序服務(wù)器,只要對(duì)配置文件進(jìn)行配置,就可以像網(wǎng)上鄰居一樣選擇所要連接的應(yīng)用程序服務(wù)器(數(shù)據(jù)庫(kù))

28、,并提供簡(jiǎn)單的圖書管理功能。</p><p>  本系統(tǒng)以高校圖書館為設(shè)計(jì)背景,一般圖書館工作效率比較低,并且不能及時(shí)了解圖書館各類圖書的存庫(kù),學(xué)生們比較需求的圖書等,不便于查閱相關(guān)的圖書資料。隨著科技社會(huì)的不斷發(fā)展,計(jì)算機(jī)作為現(xiàn)代人類生活主要工具之一,已被廣泛應(yīng)用于社會(huì)各個(gè)領(lǐng)域?,F(xiàn)今,科技水平高速發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)作為今天使用最廣的現(xiàn)代化工具正在成為未來社會(huì)的重要支柱[6]。所以,在這樣的背景下,現(xiàn)代圖書館的管理

29、方式產(chǎn)生了重大變化,這種變化表現(xiàn)在圖書館工作,管理和服務(wù)平臺(tái)發(fā)生的變化,圖書館已由傳統(tǒng)的手工記錄管理轉(zhuǎn)變?yōu)橛?jì)算機(jī)系統(tǒng)自動(dòng)管理。讀者是圖書館賴以生存和發(fā)展的根本,圖書館也是現(xiàn)代人學(xué)習(xí)獲取知識(shí)的主要場(chǎng)所,圖書館的正常運(yùn)營(yíng)中總是面對(duì)大量的讀者信息,圖書信息以及兩者相互作用產(chǎn)生的借書信息,因此要對(duì)讀者資源,圖書資源,借書信息進(jìn)行管理[7]。</p><p>  目前的圖書館并沒有較完善的圖書管理系統(tǒng),為了使一切復(fù)雜程序方

30、便快捷,我為學(xué)校設(shè)計(jì)了一個(gè)圖書管理系統(tǒng),其意義在于想通過自己的努力對(duì)自己所學(xué)專業(yè)知識(shí)的一個(gè)測(cè)試,也在于想在系統(tǒng)設(shè)計(jì)過程中學(xué)習(xí)到更多的知識(shí),為邁入社會(huì)做準(zhǔn)備。</p><p>  1.3 國(guó)內(nèi)外的研究現(xiàn)狀</p><p>  據(jù)統(tǒng)計(jì),在美國(guó)圖書出版業(yè)在網(wǎng)絡(luò)利用方面領(lǐng)先其他行業(yè)至少1年。技術(shù)上較先進(jìn)。采用Clint/Server模式架構(gòu);使用開放的Oracle數(shù)據(jù)庫(kù);高度集成的模塊結(jié)構(gòu),數(shù)據(jù)結(jié)

31、構(gòu)關(guān)系緊密,統(tǒng)一處理CNMARC和USMMARC,兩種MARC格式合庫(kù)為跨語(yǔ)種檢索提供了可能;系統(tǒng)開放性好,遵循TCP/IP協(xié)議、Z39.50協(xié)議。服務(wù)意識(shí)濃郁,細(xì)致的服務(wù)體現(xiàn)在采訪、編目、流通各環(huán)節(jié),注重與讀者的互動(dòng)[9]。例如Unicorn設(shè)有專門的讀者請(qǐng)求模塊,不僅方便讀者薦購(gòu),而且薦購(gòu)的讀者可在當(dāng)頁(yè)看到館員的回復(fù),可看到每本書從訂購(gòu)、驗(yàn)收、編目到流通各階段的狀態(tài),系統(tǒng)可通知薦購(gòu)者優(yōu)先借閱。這種構(gòu)思體現(xiàn)了系統(tǒng)的精細(xì),使圖書館的各項(xiàng)

32、工作做得細(xì)致深入。正如許多使用館所說,引進(jìn)國(guó)外的系統(tǒng)就是引入一套管理理念和管理方法。這是國(guó)外系統(tǒng)最大的優(yōu)點(diǎn),也是各館引進(jìn)系統(tǒng)的初衷。清華大學(xué)圖書館、天津大學(xué)圖書館自引進(jìn)系統(tǒng)后,服務(wù)跨上了新臺(tái)階。</p><p>  國(guó)外系統(tǒng)的不足主要是本土化問題,畢竟這些系統(tǒng)都是由國(guó)外的公司基于其主要用戶開發(fā)的,在各工作流程的設(shè)計(jì)上、具體工序的操作上,與中國(guó)的情況不太一致,甚至有些無謂的重復(fù)操作[10]。體現(xiàn)在采訪模塊上就是數(shù)據(jù)

33、缺乏攜帶功能,即自動(dòng)生成功能差。恰恰這方面國(guó)內(nèi)的系統(tǒng)做得較好,操作簡(jiǎn)單,簡(jiǎn)化了工作步驟。</p><p>  我國(guó)加入WTO后,面對(duì)高度信息化、全球化和管理現(xiàn)代化的國(guó)際競(jìng)爭(zhēng),我國(guó)圖書館事業(yè)如何應(yīng)用信息技術(shù)促進(jìn)管理創(chuàng)新,以管理創(chuàng)新促進(jìn)實(shí)施信息現(xiàn)代化的戰(zhàn)略,深化圖書館改革和實(shí)現(xiàn)管理水平跨越式發(fā)展,提高服務(wù)水平和服務(wù)質(zhì)量,增強(qiáng)圖書館的競(jìng)爭(zhēng)力,已成為一個(gè)不容回避、亟待研究解決的重大課題[11]。管理創(chuàng)新應(yīng)以先進(jìn)的信息技術(shù)

34、和管理技術(shù)的應(yīng)用為手段,以促進(jìn)圖書館管理全面創(chuàng)新為著眼點(diǎn),整合和再造圖書館業(yè)務(wù)流程、組織結(jié)構(gòu)、管理模式和服務(wù)方式,實(shí)現(xiàn)圖書館文獻(xiàn)信息資源數(shù)字化和電子化、文獻(xiàn)信息加工自動(dòng)化、服務(wù)方式網(wǎng)絡(luò)化和檢索手段的智能化,為加快數(shù)字化、信息化發(fā)展奠定現(xiàn)代化的管理基礎(chǔ)。運(yùn)用信息技術(shù)變革圖書館管理模式,不僅可以大大提高圖書館工作效率和社會(huì)效益、經(jīng)濟(jì)效益,增強(qiáng)圖書館競(jìng)爭(zhēng)力,還必將對(duì)整個(gè)社會(huì)信息化整體水平的提高產(chǎn)生重大而深遠(yuǎn)的影響。 </p>&

35、lt;p>  第2章 圖書管理系統(tǒng)分析</p><p>  2.1 系統(tǒng)需求分析</p><p>  圖書管理系統(tǒng)需要滿足來自三方面的需求,這三個(gè)方面分別是圖書借閱者、圖書館工作人員和圖書館管理人員。圖書借閱者的需求是查詢圖書館所存的圖書、個(gè)人借閱情況及個(gè)人信息的修改;圖書館工作人員對(duì)圖書借閱者的借閱及還書要求進(jìn)行操作,同時(shí)形成借書或還書報(bào)表給借閱者查看確認(rèn);圖書館管理人員的功能最

36、為復(fù)雜,包括對(duì)工作人員、圖書借閱者、圖書進(jìn)行管理和維護(hù),及系統(tǒng)狀態(tài)的查看、維護(hù)并生成催還圖書報(bào)表。</p><p>  圖書借閱者可直接查看圖書館圖書情況,如果圖書借閱者根據(jù)本人借書證號(hào)和密碼登錄系統(tǒng),還可以進(jìn)行本人借書情況的查詢和維護(hù)部分個(gè)人信息。一般情況下,圖書借閱者只應(yīng)該查詢和維護(hù)本人的借書情況和個(gè)人信息,若查詢和維護(hù)其他借閱者的借書情況和個(gè)人信息,就要知道其他圖書借閱者的借書證號(hào)和密碼。這些是很難得到的,

37、特別是密碼,所以不但滿足了圖書借閱者的要求,還保護(hù)了圖書借閱者的個(gè)人隱私。</p><p>  圖書館工作人員有修改圖書借閱者借書和還書記錄的權(quán)限,所以需對(duì)工作人員登陸本模塊進(jìn)行更多的考慮。在此模塊中,圖書館工作人員可以為圖書借閱者加入借書記錄或是還書記錄,并打印生成相應(yīng)的報(bào)表給用戶查看和確認(rèn)。</p><p>  圖書館管理人員功能的信息量大,數(shù)據(jù)安全性和保密性要求最高。本功能實(shí)現(xiàn)對(duì)圖書

38、信息、借閱者信息、總體借閱情況信息的管理和統(tǒng)計(jì)、工作人員和管理人員信息查看及維護(hù)。圖書館管理員可以瀏覽、查詢、添加、刪除、修改、統(tǒng)計(jì)圖書的基本信息;瀏覽、查詢、統(tǒng)計(jì)、添加、刪除和修改圖書借閱者的基本信息,瀏覽、查詢、統(tǒng)計(jì)圖書館的借閱信息,但不能添加、刪除和修改借閱信息,這部分功能應(yīng)該由圖書館工作人員執(zhí)行,但是,刪除某條圖書借閱者基本信息記錄時(shí),應(yīng)實(shí)現(xiàn)對(duì)該圖書借閱者借閱記錄的級(jí)聯(lián)刪除。并且還應(yīng)具有生成催還圖書報(bào)表,并打印輸出的功能。<

39、;/p><p>  在本系統(tǒng)中由于沒有打印機(jī)設(shè)備供試驗(yàn),所以預(yù)先把報(bào)表打印改成報(bào)表預(yù)覽設(shè)計(jì)不同用戶的操作權(quán)限和登陸方法 對(duì)所有用戶開放的圖書查詢 借閱者維護(hù)借閱者個(gè)人部分信息 借閱者查看個(gè)人借閱情況信息 維護(hù)借閱者個(gè)人密碼 根據(jù)借閱情況對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作并生成報(bào)表 根據(jù)還書情況對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作并生成報(bào)表 查詢及統(tǒng)計(jì)各種信息 維護(hù)圖書信息 維護(hù)工作人員和管理員信息,維護(hù)借閱者信息,處理信息的完整性,對(duì)借閱過期的圖書生成報(bào)

40、表。</p><p><b>  2.2 可行性分析</b></p><p>  可行性分析也稱為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對(duì)新系統(tǒng)的開發(fā)是否具備必要性和可能性,可行性研究主要考慮系統(tǒng)硬件和軟件的配置能否滿足用戶的需求,依照現(xiàn)有的技術(shù)條件能否順利完成系統(tǒng)的實(shí)現(xiàn)。后臺(tái)采用SQL SERVER 2000創(chuàng)建數(shù)據(jù)庫(kù),它能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性并提供許

41、多高級(jí)管理功能[13]。它的靈活性、安全性和易用性為數(shù)據(jù)庫(kù)編程提供了良好的條件。因此,在一定程度上是絕對(duì)可行的。</p><p>  2.3 系統(tǒng)開發(fā)環(huán)境的分析</p><p>  系統(tǒng)采用Delphi 7.0作為開發(fā)平臺(tái)、SQL SERVER 2000開發(fā)數(shù)據(jù)庫(kù),系統(tǒng)的設(shè)計(jì)從需求分析開始,就保證了系統(tǒng)的穩(wěn)定性和可擴(kuò)展性。</p><p>  因?yàn)镈elphi擁有世

42、界上最快的編譯器,并提供了豐富的組件集,強(qiáng)大的代碼自動(dòng)生成功能和豐富的數(shù)據(jù)庫(kù)管理工具等,使用它的集成開發(fā)環(huán)境可以更快的建立應(yīng)用程序。在眾多的編程工具中,Delphi在數(shù)據(jù)庫(kù)方面的特長(zhǎng)尤為突出,它適用于多種數(shù)據(jù)庫(kù)結(jié)構(gòu),具有高效的數(shù)據(jù)庫(kù)管理系統(tǒng)處理能力[15]。</p><p>  SQL Server 2000是一個(gè)后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng),它功能強(qiáng)大操作簡(jiǎn)便,日益為廣大數(shù)據(jù)庫(kù)用戶所喜愛。越來越多的開發(fā)工具提供了與SQL

43、 Server的接口。SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開發(fā)的[4]。于1988 年推出了第一個(gè)OS/2 版本,在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚(yáng)鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Win

44、dows NT 版本。</p><p>  SQL Server不但可以應(yīng)用于大中型數(shù)據(jù)庫(kù)管理中,建立分布式關(guān)系數(shù)據(jù)庫(kù),并且也可以開發(fā)桌面數(shù)據(jù)庫(kù)。事實(shí)上,SQL Server數(shù)據(jù)庫(kù)處理的基本結(jié)構(gòu),采取關(guān)系型數(shù)據(jù)庫(kù)模式,盡管如此,相信大家都可以輕易的發(fā)現(xiàn),在SQL Server的數(shù)據(jù)庫(kù)處理方式,則是使用面向?qū)ο蟮牟僮鞣绞脚c精神,也就是說,SQL Server的所有功能,都可以基于系統(tǒng)已經(jīng)建立好的一些對(duì)象來達(dá)成,是相

45、當(dāng)OO(面向?qū)ο螅┑囊粋€(gè)系統(tǒng)結(jié)構(gòu)[17]。</p><p>  SQL Server 企業(yè)管理器是 SQL Server 的主要管理工具,它提供了一個(gè)遵從 MMC 標(biāo)準(zhǔn)的用戶界面,使用戶得以:定義 SQL Server 實(shí)例組;將個(gè)別服務(wù)器注冊(cè)到組中;為每個(gè)已注冊(cè)的服務(wù)器配置所有 SQL Server 選項(xiàng);在每個(gè)已注冊(cè)的服務(wù)器中創(chuàng)建并管理所有 SQL Server 數(shù)據(jù)庫(kù)、對(duì)象、登錄、用戶和權(quán)限;在每個(gè)已注冊(cè)的

46、服務(wù)器上定義并執(zhí)行所有 SQL Server 管理任務(wù);通過喚醒調(diào)用 SQL 查詢分析器,交互地設(shè)計(jì)并測(cè)試 SQL 語(yǔ)句、批處理和腳本;喚醒調(diào)用為 SQL Server 定義的各種向?qū)А?lt;/p><p><b>  第3章 系統(tǒng)設(shè)計(jì)</b></p><p><b>  3.1 設(shè)計(jì)目標(biāo)</b></p><p>  對(duì)與典

47、型的數(shù)據(jù)庫(kù)管理系統(tǒng),尤其是對(duì)于像圖書管理系統(tǒng)這樣數(shù)據(jù)流量特別大的MIS管理系統(tǒng),必須要滿足使用方便,操作靈活等要求。本系統(tǒng)在設(shè)計(jì)時(shí)應(yīng)該滿足以下幾個(gè)目標(biāo):</p><p>  (1) 采用人機(jī)對(duì)話的操作方式,界面美觀,友好,信息查詢靈活、方便,數(shù)據(jù)存儲(chǔ)準(zhǔn)確、安全可靠。</p><p>  (2) 全面展示圖書館所有圖書,并可展示新到圖書及受歡迎的圖書。</p><p>

48、;  (3) 便于顧客快捷的進(jìn)行圖書信息查詢(采用模糊查詢技術(shù))。</p><p>  (4) 會(huì)員可以隨時(shí)修改自己的基本資料。</p><p>  (5) 實(shí)現(xiàn)借閱預(yù)定。能夠方便的查詢到讀者要借閱的圖書信息。</p><p>  (6) 讀者可以隨時(shí)查看自己的圖書借閱信息。</p><p>  (7) 對(duì)讀者輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)檢

49、驗(yàn),盡可能排除人為地錯(cuò)誤。</p><p>  (8) 系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。</p><p>  (9) 系統(tǒng)運(yùn)行穩(wěn)定,可靠。</p><p>  3.2 構(gòu)建開發(fā)環(huán)境</p><p><b>  硬件平臺(tái):</b></p><p>  CPU:P41.8GHZ;</p&

50、gt;<p>  內(nèi)存:256MB以上</p><p><b>  軟件平臺(tái)</b></p><p>  操作系統(tǒng):windows XP</p><p>  數(shù)據(jù)庫(kù):sqlserver 2000;</p><p>  開發(fā)工具包:Delphi 7.0 VCL組件及數(shù)據(jù)庫(kù)組件</p><p

51、>  開發(fā)環(huán)境:Borland 7.0</p><p>  分辨率:最佳效果1024*768像素</p><p>  3.3系統(tǒng)業(yè)務(wù)流程圖</p><p>  圖書管理系統(tǒng)業(yè)務(wù)流程圖如圖3-1所示。</p><p>  圖3-1 系統(tǒng)業(yè)務(wù)流程圖</p><p>  讀者借閱業(yè)務(wù)流程圖如圖3-2所示。</p&

52、gt;<p>  圖3-2 讀者借閱業(yè)務(wù)流程圖</p><p>  3.4 系統(tǒng)功能模塊圖</p><p>  圖書管理系統(tǒng)前臺(tái)功能結(jié)構(gòu)如圖3-3所示。 </p><p>  圖3-3前臺(tái)組織結(jié)構(gòu)圖</p><p>  圖書管理系統(tǒng)后臺(tái)功能結(jié)構(gòu)如圖3-4所示。</p><p>  圖3-4后臺(tái)組織結(jié)構(gòu)圖&

53、lt;/p><p><b>  3.5系統(tǒng)E-R圖</b></p><p>  在本系統(tǒng)中主要有以下5個(gè)E-R圖:用戶信息E-R圖、讀書信息E-R圖、圖書管理E-R圖、圖書借閱E-R圖。</p><p>  用戶實(shí)體與屬性如圖3-5所示,用戶的屬性主要包括:用戶編號(hào),用戶名,用戶密碼,是否是管理員。</p><p>  圖3

54、-5 用戶E-R圖</p><p>  讀者實(shí)體與屬性如圖3-6所示,顧客的屬性主要包括:讀者編號(hào),讀者姓名名稱,院系,性別。</p><p>  圖3-6 讀者信息E-R圖</p><p>  圖書信息實(shí)體與屬性如圖3-7所示,圖書管理的屬性主要包括:出版社,圖書作者,出版社名稱,聯(lián)系地址,出版日期,網(wǎng)址,電話,聯(lián)系電話,添加/修改/刪除圖書,圖書編號(hào)。</

55、p><p>  圖3-7 圖書管理E-R圖</p><p>  圖書借閱實(shí)體與屬性如圖3-8所示,商品的屬性主要包括:借閱數(shù)量,還書時(shí)間,讀者編號(hào),違規(guī)罰金,借書時(shí)間。</p><p>  圖3-8 圖書借閱E-R圖</p><p>  3.6系統(tǒng)數(shù)據(jù)流程圖</p><p>  系統(tǒng)主要功能數(shù)據(jù)流圖如下圖3-9所示。<

56、;/p><p>  圖3-9系統(tǒng)主要功能數(shù)據(jù)流圖</p><p><b>  3.7 數(shù)據(jù)描述</b></p><p>  各數(shù)據(jù)表之間的關(guān)系如圖3-10所示。</p><p>  圖3-10數(shù)據(jù)表關(guān)系圖</p><p>  共創(chuàng)建9個(gè)數(shù)據(jù)表,依次是讀者信息表、圖書信息表、出版社信息表、讀者借閱信息表

57、、后臺(tái)管理員登錄表、登錄信息表、書籍大類信息表、書籍小類信息表、書籍入庫(kù)信息表,各表結(jié)構(gòu)詳細(xì)設(shè)計(jì)如表3-1、表3-2、表3-3、表3-3、表3-4、表3-5、表3-6、表3-7、表3-8、表3-9所示。</p><p>  表3-1讀者信息表結(jié)構(gòu)</p><p>  表3-2圖書信息表結(jié)構(gòu)</p><p>  表3-3出版社信息表結(jié)構(gòu)</p><

58、p>  表3-4讀者借閱信息表結(jié)構(gòu) </p><p>  表3-5后臺(tái)管理員信息表結(jié)構(gòu) </p><p>  表3-6登錄信息表結(jié)構(gòu)</p><p>  表3-7書籍大類信息表結(jié)構(gòu)</p><p>  表3-8書籍小類信息表結(jié)構(gòu)</p><p>  表3-9書籍入庫(kù)信息表結(jié)構(gòu)</p><p&g

59、t;  第4章 基于Delphi的數(shù)據(jù)庫(kù)分析與設(shè)計(jì)</p><p><b>  4.1 中間件技術(shù)</b></p><p>  Delphi提出的MIDAS(Multi-Tier distributed Application Services Suite多層分布式應(yīng)用服務(wù)器組),是把原來Two- Tier數(shù)據(jù)連接放到了服務(wù)器端的COM組件上,客戶端只剩下了執(zhí)行文件和

60、MIDAS.DLL,前臺(tái)和服務(wù)器上的COM組件,通過DCOM機(jī)制互相溝通。</p><p>  這個(gè)多的一層,稱為應(yīng)用程序服務(wù)器(Application Server),或者稱為中間件。整個(gè)工作機(jī)制見下圖:</p><p>  圖4-1 分布式應(yīng)用服務(wù)器</p><p>  這種多層分布式工作機(jī)制,主要基于這樣幾點(diǎn)考慮:</p><p>  

61、(1) 減少客戶機(jī)的維護(hù)量,因?yàn)榍芭_(tái)程序比較簡(jiǎn)單,把企業(yè)邏輯封裝在通用的中間件應(yīng)用服務(wù)器中,不同的客戶都可以共享同一個(gè)中間層(包括Web),而不必每個(gè)客戶都單獨(dú)實(shí)現(xiàn)企業(yè)規(guī)則,避免了重復(fù)開發(fā)和維護(hù)的麻煩。由于客戶程序相當(dāng)瘦(這就是現(xiàn)在流行的瘦客戶機(jī)概念),無論是開發(fā)還是發(fā)布,都變得簡(jiǎn)單了。表現(xiàn)在:便于升級(jí),當(dāng)中間件升級(jí)的時(shí)候,客戶程序可能不需要變化;實(shí)現(xiàn)了分布式數(shù)據(jù)處理,把一個(gè)應(yīng)用程序分布在幾臺(tái)機(jī)器上運(yùn)行,可以提高應(yīng)用程序的性能,也可以把

62、敏感部分封裝在中間件,為不同的用戶設(shè)置不同的訪問權(quán)限,增強(qiáng)了安全性;減少直接連接數(shù)據(jù)庫(kù)的用戶數(shù)目,減少費(fèi)用[20]。</p><p>  (2) 在Delphi 7.0上,在原來的MIDAS基礎(chǔ)上,發(fā)展了DataSnap技術(shù),在很多細(xì)節(jié)方面,它提供了原來MIDAS所沒有的許多功能,使用上更加方便了。</p><p>  (3) DataSnap主要提供客戶端和中間件之間的通信,不但支持CO

63、M+技術(shù)也支持TCP/IP或者CORBA,它們使用類似的界面和方法,其結(jié)果由程序自動(dòng)完成,這就大大擴(kuò)充了它的應(yīng)用范圍。</p><p>  (4) 必須要提醒的是,前臺(tái)機(jī)器上除了應(yīng)用程序以外,還必須把一個(gè)MIDAS.DLL文件復(fù)值到前臺(tái)機(jī)器上,這個(gè)文件在服務(wù)器的WINNT\System32目錄下。</p><p>  4.2 服務(wù)端程序的建立</p><p>  服

64、務(wù)器端程序?qū)嶋H上是個(gè)COM 工程,它本身連接數(shù)據(jù)源,再通過接口與客戶端聯(lián)系,這個(gè)COM 工程必須注冊(cè)在服務(wù)器上。</p><p>  首先建立一個(gè)空白的工程,在工程里放置一個(gè)Adoconnection組件。然后再建一個(gè)遠(yuǎn)程數(shù)據(jù)模塊Remote Data Module(遠(yuǎn)程數(shù)據(jù)模塊)。Coclass Name : libserver ,Instancing:執(zhí)行模式,大部分用Multiple Instance(多重

65、實(shí)例),Threading Model:線程模式,建議用Apartment(單元),產(chǎn)生一個(gè)窗口,在這個(gè)窗口里,可以放入數(shù)據(jù)控件。</p><p>  在Type Libray 中,我們可以看到這個(gè)COM 的一些特性。我們也可以記下系統(tǒng)提供的GUID,以備后來使用。加入一個(gè)ADOTable,并設(shè)置其指向一個(gè)數(shù)據(jù)庫(kù)。再設(shè)置一個(gè)DataSetProvider(在DataAccess頁(yè))指向ADOTable,這就完成了

66、服務(wù)器端的程序設(shè)計(jì)。保存,編譯,注冊(cè)(注意,只要運(yùn)行就自動(dòng)在本機(jī)注冊(cè)了)。</p><p>  4.3 客戶端程序的建立</p><p>  在Two-Tier模式中,客戶端(Client)程序是直接和服務(wù)器的數(shù)據(jù)源相連的,而Multi-Tier模式,多個(gè)客戶端連接的是一個(gè)應(yīng)用程序服務(wù)器,因?yàn)槭召M(fèi)是按客戶端數(shù)計(jì)算的,所以,數(shù)據(jù)庫(kù)的使用費(fèi)用比較低。</p><p> 

67、 (1) 建立一個(gè)普通的工程 </p><p>  (2) 放置一個(gè)TDCOMConnrction控件</p><p>  屬性:在本機(jī)注冊(cè)時(shí),可直接設(shè)置以下屬性:ServerName:應(yīng)用程序服務(wù)器注冊(cè)名server.libserver,Connected=true。這時(shí)你可以看到服務(wù)器端的COM 程序被激活了。如果在網(wǎng)絡(luò)上調(diào)試,需要給出服務(wù)器名:ComputerName:服務(wù)器名(自動(dòng)

68、給出網(wǎng)上鄰居)注意: ServerGUID的GUID值是自動(dòng)給出的。</p><p>  (3) 放置一個(gè)TClientDataSet控件</p><p>  屬性RemoteServer= DCOMConnrction1,ProviderName:=DataSetProvider1(服務(wù)器端將被激活),Active=true (激活后將能正常連接)</p><p>

69、;  (4) 放置TDataSource</p><p>  屬性:Dataset:指向cdsCustomer。</p><p>  這樣一個(gè)客戶端程序就建立好了,其余猶如普通的數(shù)據(jù)庫(kù)設(shè)計(jì)。</p><p>  4.4 Delphi 7.0 VCL組件的體系結(jié)構(gòu)</p><p>  Delphi類可以粗略地分成兩部分:一部分是組件類,這些組件

70、類通常以某種方式出現(xiàn)在組件面板上,當(dāng)用戶從組件面板上點(diǎn)取一個(gè)類的圖標(biāo)后,在程序中就自動(dòng)生成了該類的對(duì)象(非可視組件除外);另一部分是功能類,這此功能類的對(duì)象通常出現(xiàn)在程序代碼中,起著不可代替的作用,但是這些功能類在組件面板上是找不到的。在Delphi中,每一個(gè)類的祖先都是Tobject類,整個(gè)類的層次結(jié)構(gòu)就像一棵倒掛的樹,在最頂層的樹根即為Tobject類。這樣,按照面向?qū)ο缶幊痰幕舅枷?,就使得用戶可用Tobject類這個(gè)類型代替任何

71、其它類的數(shù)據(jù)類型。</p><p>  實(shí)際上在Delphi的類庫(kù)中,Tobject類派生出了為數(shù)相當(dāng)眾多的子類,它們形成了一個(gè)龐大的體系,通常情況下,如果不自行開發(fā)組件,就不必了解整個(gè)類的體系結(jié)構(gòu),只用到類層次 樹的葉結(jié)點(diǎn)就足夠了。這一小節(jié)簡(jiǎn)略介紹一下Delphi 6.0中VCL(可視化組件庫(kù))組件的體系結(jié)構(gòu)。凡是做過程序開發(fā)的人都知道從來沒有單純的數(shù)據(jù)應(yīng)用程序,也就是說,數(shù)據(jù)庫(kù)應(yīng)用程序必須和用戶界面(可以是圖

72、形界面,也可以是命令接口)元素相結(jié)合,只講界面或只講數(shù)據(jù)庫(kù)本身都構(gòu)不成數(shù)據(jù)庫(kù)應(yīng)用程序,因而用Delphi 7.0開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序就隱含著界面開發(fā)[19]。組件在Delphi程序的開發(fā)中是最顯眼的角色。大家知道,在編寫程序時(shí)一般都開始于在組件面板上選擇組件并定義組件間的相互作用。但也有一些組件不在組件面板上,例如Tform和Tapplication(典型的非可視組件)。組件是Tcomponents派生出來的子類,可以流的形式存放在DFM

73、文件中,具有事件和Publish屬性。窗口組件類是窗口化的可視化組件類,在Delphi的類庫(kù)中占有最大的份額。</p><p>  在實(shí)際編程中,窗口組件類的對(duì)象都有句柄,可以接受輸入焦點(diǎn)和包含其它組件。圖形組件與窗口組件并列,是另一大類組件。圖形組件不是基于窗口的,因而不能有窗口句柄,不能接受輸入焦點(diǎn)和包含其它組件。圖形組件的基類是TgraphicControl,在實(shí)際編程中,它們必須寄生于它們的宿主——窗口組

74、件類的對(duì)象,由它們的擁有者負(fù)責(zé)其顯示,而且它們還能觸發(fā)一些和鼠標(biāo)活動(dòng)相關(guān)的事件。圖形控件最典型的例子是Tlabel和TspeedButton。其實(shí)使用圖形組件的最大好處在于節(jié)省資源,正是因?yàn)樗鼈兊墓δ茌^弱,所以使用的系統(tǒng)資源就要少。在一個(gè)應(yīng)用程序中,如果能在不影響其功能的前提下合理大量地使用圖形組件,將會(huì)大減少程序?qū)ο到y(tǒng)資源的消耗[18]。非可視組件是與可視組件相并列的另一類組件,非可視組件在程序運(yùn)行中是不可見的(除各種對(duì)話框組件之外,

75、事實(shí)上有人認(rèn)為對(duì)話框組件不能歸入非可視組件,應(yīng)該是另一種介于可視與非可視之間的組件)。</p><p>  最后要說明一下,常說的控件實(shí)際上是一種組件??丶蒞indows系列操作系統(tǒng)提出并使用,而組件是Borland和其它廠商在對(duì)Windows控件做了必要的擴(kuò)展之后提出來的概念,它們是在不同時(shí)期由不同的廠商提出的概念。</p><p><b>  4.5數(shù)據(jù)庫(kù)組件</b&

76、gt;</p><p>  用Delphi7.0開發(fā)數(shù)據(jù)庫(kù)應(yīng)用,重點(diǎn)是和各種數(shù)據(jù)庫(kù)組件打交道,能和數(shù)據(jù)庫(kù)掛鉤的組件對(duì)象有5種,它們是:Session(數(shù)據(jù)庫(kù)會(huì)話)、Database(數(shù)據(jù)庫(kù))、Dataset(數(shù)據(jù)集)、DataSource(數(shù)據(jù)源)、Data control(數(shù)據(jù)控制組件,也叫data-controls即數(shù)據(jù)感知組件)。其中前面4種統(tǒng)稱為數(shù)據(jù)訪問(Data Access)組件。ADO組件 Delp

77、hi7.0包含了可以用來訪問Microsoft公司的ActiveX Data Objects(ADO)格式數(shù)據(jù)庫(kù)的組件。ADO是Micrsoft公司關(guān)于各種類型數(shù)據(jù)的高等界面,后來逐漸演變成滿足所有數(shù)據(jù)訪問需要的完整解決辦法。ADO的對(duì)象模型是所有數(shù)據(jù)訪問接口對(duì)象模型中最簡(jiǎn)單的一種。</p><p>  Microsoft公司用來訪問ADO數(shù)據(jù)的應(yīng)用程序界面技術(shù)是OLE DB。OLE DB是一種底層編程接口,用來

78、訪問許多不同類型的數(shù)據(jù)源,其中包括消息、文件系統(tǒng)以及其他一些非傳統(tǒng)的數(shù)據(jù)源。OLE DB是一個(gè)由Component Object Model(COM)接口組成的集合,用來隱藏創(chuàng)建數(shù)據(jù)訪問服務(wù)過程中的細(xì)節(jié)。OLEDB提供了訪問任何數(shù)據(jù)資源的方法,包括相互關(guān)聯(lián)的數(shù)據(jù)庫(kù)和相互不關(guān)聯(lián)的數(shù)據(jù)庫(kù)、Email和文件系統(tǒng)、文本和圖形以及用戶定義的數(shù)據(jù)對(duì)象[20]。Delphi的ADO組件無需依靠BDE而是使用ADO技術(shù),提供了可以通過數(shù)據(jù)控制組件訪問數(shù)

79、據(jù)的新方法。唯一的要求是在使用ADO組件時(shí)必須運(yùn)行ADO/OLE-DB。ADO組件的使用使得DELPHI在訪問數(shù)據(jù)的類型和采用的技術(shù)方面都有了很大的突破。</p><p>  第5章 圖書管理系統(tǒng)的功能實(shí)現(xiàn)</p><p><b>  5.1數(shù)據(jù)庫(kù)的連接</b></p><p>  通過它連接數(shù)據(jù)庫(kù)。數(shù)據(jù)模塊如圖5-1所示。</p>

80、<p><b>  圖5-1 數(shù)據(jù)模塊</b></p><p>  圖5-2 數(shù)據(jù)庫(kù)連接模塊</p><p>  點(diǎn)擊ADOConnection1組件,在“Object Inspector”窗口中,單擊ConnectionString屬性右側(cè)的【…】按鈕,彈出對(duì)話框,單擊“Build”選項(xiàng)在彈出的對(duì)話框中的“提供程序”選項(xiàng)卡中設(shè)置希望連接的數(shù)據(jù),單擊“下

81、一步”,選擇“連接”選項(xiàng)卡,設(shè)置連接相關(guān)設(shè)置,單擊測(cè)試連接,如果連接成功,則提示成功,單擊【確定】按鈕完成數(shù)據(jù)庫(kù)的連接。如圖5-3所示。</p><p>  圖5-3 數(shù)據(jù)鏈接屬性</p><p>  5.2主要功能模塊的詳細(xì)設(shè)計(jì)</p><p>  5.2.1 登錄窗口的設(shè)計(jì)</p><p>  登錄窗體是在整個(gè)程序運(yùn)行之前呈現(xiàn)給用戶的界面

82、,通過它來進(jìn)行用戶的合法性驗(yàn)證,需要添加兩個(gè)TEdit和兩個(gè)TLabel、TBitbutton組件,具體設(shè)計(jì)界面如圖5-4所示。</p><p><b>  圖5-4用戶登錄</b></p><p><b>  程序相關(guān)代碼:</b></p><p>  procedure TFormlogin.ButtonloginCl

83、ick(Sender: TObject);</p><p>  var dmScreenSettings: DEVMODE; // 設(shè)備模式</p><p>  begin try</p><p>  if trim(username.Text )='' then</p><p><b>  begin</b

84、></p><p>  application.MessageBox('用戶名為空,請(qǐng)輸入用戶名','輸入錯(cuò)誤',mb_iconinformation + mb_defbutton1);</p><p>  username.SetFocus ;</p><p><b>  exit;end;</b><

85、;/p><p>  if trim(userpwd.Text )='' then</p><p><b>  begin</b></p><p>  application.MessageBox('用戶密碼為空,請(qǐng)輸入密碼!','輸入錯(cuò)誤',mb_iconinformation + mb_defbut

86、ton1);</p><p>  userpwd.SetFocus ; exit;end;</p><p>  fm_data.Cd_login.Close;</p><p>  fm_data.Cd_login.CommandText:='selec * from Userlogin where UserName='+'''

87、;'+username.Text +''''+' and UserPwd='+''''+userpwd.Text +'''';</p><p>  fm_data.Cd_login.Execute;fm_data.Cd_login.Open;</p><p>  if f

88、m_data.Cd_login.RecordCount=0 then</p><p><b>  begin</b></p><p>  returnvalue:=application.MessageBox('該用戶記錄不存在,或者你的信息輸入錯(cuò)誤。請(qǐng)重新輸入信息!' ,'系統(tǒng)警告',mb_Iconstop+mb_RetryCance

89、l+mb_defbutton1);</p><p>  case returnvalue of</p><p>  mrRetry: begin</p><p>  logintimes:=logintimes+1;</p><p>  if(logintimes=3)then begin</p><p>  

90、returnpwd:=application.MessageBox('很抱歉!您已經(jīng)三次嘗試進(jìn)入本系統(tǒng),均不成功,系統(tǒng)將強(qiáng)制關(guān)閉!' ,'系統(tǒng)警告',mb_Iconstop+mb_OK+mb_defbutton1);</p><p>  case returnpwd of</p><p>  mROK:begin</p><p> 

91、 formlogin.Close; close;</p><p>  end;end;end;else begin</p><p>  username.Text:='';userpwd.Text :='';username.SetFocus ;</p><p>  exit;end;end;mrcancel:begin</p

92、><p>  formlogin.free;close;end;end;</p><p><b>  end else</b></p><p><b>  begin</b></p><p>  pepdom:= fm_data.Cd_login.FieldByName('Userpepdom

93、').AsString;</p><p>  fm_data.Cd_login.Close;</p><p>  fm_data.Cd_login.CommandText:='update Screen set width='''+inttostr(screen.Width )+''',height=''

94、9;+inttostr(screen.height)+''' where autoid=''001'''; fm_data.Cd_login.Execute;</p><p>  loged:=true;</p><p>  if pepdom='超級(jí)管理員' then begin</p>

95、<p>  frmmain:=Tfrmmain.Create(self);</p><p>  frmmain.WindowState:=wsMaximized;</p><p>  formlogin.Close;</p><p>  frmmain.ShowModal; end</p><p>  5.2.2 主窗體設(shè)計(jì)&l

96、t;/p><p>  通過本模塊可以實(shí)現(xiàn)系統(tǒng)的所有功能,主要用到的組件包括TMainMenu,TStatus-Bar,TToolBar和TimageList,界面設(shè)計(jì)如圖5-5所示。</p><p>  具體操作步驟是添加一個(gè)TMainMenu組件,右擊組件進(jìn)入Menu Designer界面對(duì)菜單進(jìn)行添加,每個(gè)菜單下都有子菜單,包括系統(tǒng)管理(書庫(kù)編目,書籍信息,讀者管理,借閱列表退出系統(tǒng)),查

97、詢(書庫(kù)查詢,借閱查詢,還書查詢),關(guān)于。再添加一個(gè)TToolBar組件,右擊組件,點(diǎn)擊New Button和New Separator進(jìn)行添加新按鈕和間隔,每個(gè)按鈕都有不同的功能。再添加一個(gè)TPanel組件,在panel組件上添加TLabel和Timage組件,TLabel組件用來填寫系統(tǒng)的標(biāo)題,Timage組件用來添加窗體的背景圖片。</p><p>  圖5-5 主界面設(shè)計(jì)</p><p

98、>  點(diǎn)擊一個(gè)Menu按鈕就會(huì)出現(xiàn)相應(yīng)功能的窗體,部分代碼如下,此代碼進(jìn)入的是管理界面和查詢界面。相關(guān)程序代碼如下:</p><p>  procedure Tfrmmain.bookstackClick(Sender: TObject);</p><p><b>  begin</b></p><p>  frmbookquery:=t

99、frmbookquery.Create(SELF);</p><p>  frmbookquery.Show;end;</p><p>  procedure Tfrmmain.bookinfoClick(Sender: TObject);</p><p><b>  begin</b></p><p>  frmboo

100、kquery:=tfrmbookquery.Create(SELF);</p><p>  frmbookquery.Show;end;</p><p>  procedure Tfrmmain.readerinfoClick(Sender: TObject);</p><p><b>  begin</b></p><p&

101、gt;  frmuseradd:=tfrmuseradd.Create(SELF);</p><p>  frmuseradd.Show;end;</p><p>  procedure Tfrmmain.lentbookClick(Sender: TObject);</p><p><b>  begin</b></p><

102、;p>  frmselectreader:=tfrmselectreader.Create(SELF);</p><p>  frmselectreader.Caption:='讀者借閱信息登錄';</p><p>  frmselectreader.Show;end;</p><p>  procedure Tfrmmain.systemex

103、itClick(Sender: TObject);</p><p><b>  begin</b></p><p>  application.Terminate;close;end;</p><p>  procedure Tfrmmain.querybookClick(Sender: TObject);</p><p&g

104、t;<b>  begin</b></p><p>  frmbookquery:=tfrmbookquery.Create(SELF);</p><p>  frmbookquery.Show;end;</p><p>  procedure Tfrmmain.queryreaderClick(Sender: TObject);</p&

105、gt;<p><b>  begin</b></p><p>  frmreader.show;</p><p>  frmreader.FormCreate(sender);end;</p><p>  procedure Tfrmmain.querylentbookClick(Sender: TObject);</p&g

106、t;<p><b>  begin</b></p><p>  frmselectreader:=tfrmselectreader.Create(SELF);</p><p>  frmselectreader.Caption:='讀者借閱信息登錄';</p><p>  frmselectreader.Show;

107、end;</p><p>  procedure Tfrmmain.manageinitClick(Sender: TObject);</p><p>  beginmanset.Show ;manset.FormCreate(sender);end;</p><p>  procedure Tfrmmain.queryreturnbookClick(Sender:

108、 TObject);</p><p><b>  begin</b></p><p>  frmlentbook:=Tfrmlentbook.Create(self);</p><p>  frmlentbook.Show;</p><p>  end;在主窗體下方的TStatus-Bar中,顯示登錄的當(dāng)前用戶名和登錄日

109、期。</p><p>  procedure Tcfrm_mainform.FormCreate(Sender: TObject);</p><p><b>  begin</b></p><p>  tatus.Panels[0].Width:=350;</p><p>  status.Panels[1].Width

110、:=350;</p><p>  status.Panels[2].Width:=330;</p><p>  Status.Panels[0].Text:='歡迎您登錄圖書館客戶端管理系統(tǒng)!';</p><p>  Status.Panels[1].Text:='操作員:'+formlogin.username.Text;</

111、p><p>  Status.Panels[2].Text:='現(xiàn)在的日期是:'+datetostr(date)+' 時(shí)間是: '+timetostr(NOW);</p><p>  username:= formlogin.username.Text;end;</p><p>  5.2.3 書庫(kù)信息查詢管理模塊設(shè)計(jì)</p&g

112、t;<p>  書庫(kù)信息管理模塊主要實(shí)現(xiàn)了對(duì)館藏圖書信息進(jìn)行按照綜合查詢條件功能進(jìn)行查詢,窗體設(shè)計(jì)如圖5-6所示。</p><p>  具體操作步驟是在窗體上添加DataGrid組件,再添加4個(gè)GroupBox組件。添加6個(gè)TComboBox組件,用于讀取數(shù)據(jù)庫(kù)中書籍大小類的名稱,在此組件上添加TLabel和Tedit組件,在TLabel的caption屬性中填寫字段名。再添加4個(gè)Tbutton按扭

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論