版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計</b></p><p> <<設(shè)備保養(yǎng)管理系統(tǒng)>></p><p><b> 院系______</b></p><p><b> 專業(yè)______</b></p><p><b> 班級_____
2、_</b></p><p><b> 姓名______</b></p><p> 日期 年 月 日</p><p><b> 中文摘要</b></p><p> 設(shè)備保養(yǎng)管理系統(tǒng)為企事業(yè)單位設(shè)備管理者提供設(shè)備管理工作所需要的充足的信息和快捷的查詢手段,其開發(fā)內(nèi)容主要包
3、括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。利用DELPHI 6.0軟件及其提供的各種面向?qū)ο蟮拈_發(fā)工具,建立完整性強、安全性好的數(shù)據(jù)庫,開發(fā)出功能完備,易使用的應(yīng)用程序。經(jīng)過調(diào)試、編譯與實現(xiàn),該程序界面友好、程序設(shè)計風格樸素,使用起來美觀大方、方便易用。尤其是系統(tǒng)的“保養(yǎng)資料管理”的功能極大的減輕工作人員的工作量,并以快速、準確等優(yōu)點取代人工操作,提高了設(shè)備保養(yǎng)管理工作效率。</p><p> 關(guān)
4、鍵詞 : DELPHI 6.0 信息管理系統(tǒng) 數(shù)據(jù)庫 模塊 設(shè)備保養(yǎng)管理</p><p> Equipment maintenance management system for enterprises and institutions to provide equipment managers equipment management needs sufficient information and
5、 efficient means enquiries, the development mainly to the establishment and maintenance of databases including background applications and front-end development of the two. Delphi 6.0 and the use of object-oriented softw
6、are development tools, the establishment of strong integrity, good safety database developed functions, easy to use applicat</p><p><b> 引 言1</b></p><p> 1 Delphi語言概述2</p>
7、<p> 1.1 Delphi簡介5</p><p> 1.2 數(shù)據(jù)庫系統(tǒng)簡介7</p><p> 1.3 本應(yīng)用軟件的基本介紹9</p><p> 2 本應(yīng)用程序的構(gòu)成和開發(fā)步驟13</p><p> 2.1 可行性研究15</p><p> 2.1.1 經(jīng)濟可行性 1
8、6</p><p> 2.1.2 時間可行性 17</p><p> 2.1.3 技術(shù)可行性 18</p><p> 2.1.4 社會可行性 19</p><p> 2.2 數(shù)據(jù)庫的建立和連接20</p><p> 2.3 系統(tǒng)的總體設(shè)計 25</p><p&g
9、t; 2.4 系統(tǒng)的詳細設(shè)計 30</p><p> 3 本程序的技術(shù)實現(xiàn)及具體功能 37</p><p> 3.1 登錄的界面與程序設(shè)計實現(xiàn) 42</p><p> 3.2 用戶管理界面與代碼設(shè)計實現(xiàn) 46</p><p> 3.3 設(shè)備保養(yǎng)主界面與代碼設(shè)計實現(xiàn) 51</p><p&
10、gt; 3.4 資料管理界面與代碼設(shè)計 54</p><p> 3.5 數(shù)據(jù)庫配置界面設(shè)計與代碼設(shè)計57</p><p> 3.6 程序主界面與代碼設(shè)計 59</p><p><b> 結(jié) 論 60</b></p><p><b> 致 謝 60</b></p&g
11、t;<p> 參 考 文 獻60</p><p><b> 引 言</b></p><p> 隨著經(jīng)濟的發(fā)展,社會的進步,計算機越來越深入到我們?nèi)粘5墓ぷ鲗W習及生活中,成為我們?nèi)粘I钪胁豢扇鄙俚妮o助工具。 隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。它已經(jīng)深入
12、到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設(shè)計、圖形圖像處理、教育培訓以及游戲娛樂等。各行各業(yè)的人們無須經(jīng)過特別的訓練就能夠使用電腦完成許許多多復(fù)雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了多如牛毛的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發(fā)適合自己特殊需求的軟件。以前開發(fā)Windows應(yīng)用軟件是專業(yè)人員的工作,需要掌握許多專業(yè)知識和經(jīng)過特殊的培訓才能勝任?,F(xiàn)在不同了,即使你沒有接受過嚴格的程序設(shè)計訓練,
13、使用Delphi編程語言也一樣能夠開發(fā)出功能強大、適合自己特殊需求的應(yīng)用程序了。Delphi編程語言繼承了其他語言易學易用的特點,特別適合于初學者學習Windows系統(tǒng)編程。 設(shè)備保養(yǎng)管理系統(tǒng)用計算機管理企事業(yè)單位設(shè)備的一種計算機應(yīng)用技術(shù)的創(chuàng)新,在計算機還未普及之前設(shè)備管理都是由工作人員人工操作,查</p><p> 因為本人能力有限,加上時間緊迫,所以設(shè)計出來的本系統(tǒng)可能功能比較簡單,另外本系統(tǒng)是單機
14、版,不能實現(xiàn)網(wǎng)絡(luò)互聯(lián)操作,這些都有待于我在以后的工作學習中進一步改進。</p><p><b> Delphi簡介</b></p><p> 1.1 Delphi簡介 </p><p> Delphi是Inprise公司出品的一個優(yōu)秀的可視化程序開發(fā)工具軟件,它短小精悍,但功能卻可以與龐大的visual c++媲美。它易學易用,如同
15、VB,因而被稱為“第四代編程語言”。</p><p> 從1995年推出Delphi1.0至今已經(jīng)經(jīng)歷了7個版本,Delphi7.0運行在win9x或winme,win2000,winxp,windowsNT等操作系統(tǒng)下,是一個32位的應(yīng)用程序開發(fā)工具。這里把“VB”比作是傻瓜相機,Delphi是帶有自動功能的專業(yè)相機。前些年,軟件界流行一句話叫“真正的程序員用VC,聰明的程序員用Delphi”。也有的把Del
16、phi稱作VB殺手。</p><p> 1.2 數(shù)據(jù)庫系統(tǒng)簡介</p><p> 數(shù)據(jù)庫系統(tǒng)是一個實際可運行的存儲、維護和應(yīng)用系統(tǒng)提供數(shù)據(jù)的軟件系統(tǒng),是存儲介質(zhì)、處理對象和管理系統(tǒng)的集合體。它通常由軟件、數(shù)據(jù)庫和數(shù)據(jù)管理員組成。其軟件主要包括操作系統(tǒng)、各種宿主語言,實用程序以及數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫是依照某種數(shù)據(jù)模型組織起來并存放二級存儲器中的數(shù)據(jù)集合。這些數(shù)據(jù)為多個應(yīng)用服務(wù),獨立于
17、具體的應(yīng)用程序。數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理,數(shù)據(jù)的插入、修改和檢索均要通過數(shù)據(jù)庫管理系統(tǒng)進行。數(shù)據(jù)庫管理系統(tǒng)是一種系統(tǒng)軟件,它的主要功能是維護數(shù)據(jù)庫并有效地訪問數(shù)據(jù)庫中任意部分數(shù)據(jù)。對數(shù)據(jù)庫的維護包括保持數(shù)據(jù)的完整性、一致性和安全性。數(shù)據(jù)管理員負責創(chuàng)建、監(jiān)控和維護整個數(shù)據(jù)庫,使數(shù)據(jù)能被任何有權(quán)使用的人有效使用。數(shù)據(jù)庫管理員一般是由業(yè)務(wù)水平較高、資歷較深的人員擔任。</p><p> 數(shù)據(jù)庫系統(tǒng)的個體含義是指
18、一個具體的數(shù)據(jù)庫管理系統(tǒng)軟件和用它建立起來的數(shù)據(jù)庫;它的學科含義是指研究、開發(fā)、建立、維護和應(yīng)用數(shù)據(jù)庫系統(tǒng)所涉及的理論、方法、技術(shù)所構(gòu)成的學科。在這一含義下,數(shù)據(jù)庫系統(tǒng)是軟件研究領(lǐng)域的一個重要分支,常稱為數(shù)據(jù)庫領(lǐng)域。 數(shù)據(jù)庫研究跨越于計算機應(yīng)用、系統(tǒng)軟件和理論三個領(lǐng)域,其中應(yīng)用促進新系統(tǒng)的研制開發(fā),新系統(tǒng)帶來新的理論研究,而理論研究又對前兩個領(lǐng)域起著指導(dǎo)作用。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)是計算機應(yīng)用的一個里程碑,它使得計算機應(yīng)用從以科學計算
19、為主轉(zhuǎn)向以數(shù)據(jù)處理為主,并從而使計算機得以在各行各業(yè)乃至家庭普遍使用。在它之前的文件系統(tǒng)雖然也能處理持久數(shù)據(jù),但是文件系統(tǒng)不提供對任意部分數(shù)據(jù)的快速訪問,而這對數(shù)據(jù)量不斷增大的應(yīng)用來說是至關(guān)重要的。為了實現(xiàn)對任意部分數(shù)據(jù)的快速訪問,就要研究許多優(yōu)化技術(shù)。這些優(yōu)化技術(shù)往往很復(fù)雜,是普通用戶難以實現(xiàn)的,所以就由系統(tǒng)軟件(數(shù)據(jù)庫管理系統(tǒng))來完成,而提供給用戶的是簡單易用的數(shù)據(jù)庫語言。由于對數(shù)據(jù)庫的操作都由數(shù)據(jù)庫管理系統(tǒng)完成,所以數(shù)據(jù)庫就可以獨
20、立于具體的應(yīng)用程序而存在,從而數(shù)據(jù)庫又可以為多個用戶所共享。因此,數(shù)據(jù)的獨立性和共享性是數(shù)據(jù)庫系</p><p> 1.3 本應(yīng)用軟件的基本介紹</p><p> 本應(yīng)用軟件先是打開一個啟動窗口,就可以進入應(yīng)用程序的主窗口了。主界面是一個圖型界面窗口,整個平臺顯示采用人性化方式,可以非常方便的保養(yǎng)主數(shù)據(jù)表、保養(yǎng)資料管理,數(shù)據(jù)庫配置、數(shù)據(jù)分析,數(shù)據(jù)查詢等基本信息,管理日常經(jīng)營的基本情況
21、,通過各種條件查詢出設(shè)備保養(yǎng)的基本信息,以及打印出查詢出的基本信息,總之一切設(shè)備保養(yǎng)的基本信息都會顯示在系統(tǒng)平臺上,大大提高了管理人員的工作效率。</p><p> 本應(yīng)用程序的構(gòu)成和開發(fā)步驟</p><p> 下面從軟件工程的角度介紹本程序的基本開發(fā)步驟。Delphi 應(yīng)用程序一般包含以下三個基本部分: 應(yīng)用程序運行的接口:負責系統(tǒng)整體環(huán)境的設(shè)置,運行狀態(tài)的監(jiān)視,應(yīng)用程序的啟
22、動等。 應(yīng)用程序的主體:主要完成用戶的業(yè)務(wù)邏輯功能,如保養(yǎng)數(shù)據(jù),保養(yǎng)資料管理,用戶管理等信息.</p><p> 應(yīng)用程序的輔助部分:協(xié)助程序主體完成的一些工作。 下面從軟件工程的角度描述本程序的開發(fā)生命周期,開發(fā)過程和組織過程。</p><p><b> 2.1 可行性研究</b></p><p> 任何一個系統(tǒng)或一項工程,在
23、建立之前,必須首選進行可行性分析,可行性分析包括兩層含義,一是可能性,二是必要性??赡苄灾搁_發(fā)信息系統(tǒng)的條件是否具備,必要性是指客觀上是否真正需要,通過可行性研究,可避免盲目投資,減少政治性要的損失。下面從四方面來討論:</p><p> 2.1.1 經(jīng)濟可行性</p><p> 主要是只指算一個新的系統(tǒng)開發(fā)所需要的投資費用和運算費用,并與估計的新系統(tǒng)收益進行比較,看是否有利。本系統(tǒng)
24、所需的軟硬件成本比較低,投資小,具有一定的通過性,因此 ,在經(jīng)濟上是可行的。</p><p> 2.1.2 時間可行性</p><p> 主要包括系統(tǒng)在目前環(huán)境下能否正常運行,運行后所引起的各方面,以及這些變化對社會或人的因素所產(chǎn)生的影響。本系統(tǒng)對人事的管理比較全面,可長期使用。</p><p> 2.1.3 技術(shù)可行性</p><p&
25、gt; 利用現(xiàn)有的設(shè)備,軟件及技術(shù)人員,新系統(tǒng)的目標能否達到,這也是可行性研究中需要考慮的一個問題。關(guān)系型數(shù)據(jù)庫的高速發(fā)展使管理信息系統(tǒng)具備了良好的開發(fā)環(huán)境。本系統(tǒng)使用的Delphi 普及性好,操作簡單,用戶可以很快掌握使用方法,因此,在技術(shù)上是完全可行的。</p><p> 2.1.4 社會可行性</p><p> 人類社會文明的發(fā)展已進入信息化的高速發(fā)展時期,傳統(tǒng)的手工方式支持
26、下的管理模式,已經(jīng)不能滿足各方面的需要。開發(fā)本系統(tǒng)的目標不僅是提高工作效率,減輕勞動強度,而且減少出錯率,具有很好的社會意義。</p><p> 2.2 數(shù)據(jù)庫的建立和連接</p><p> 這個程序采用的數(shù)據(jù)庫是Microsoft Access2000,Delphi作為數(shù)據(jù)庫的前臺開發(fā)工具,必須與后臺數(shù)據(jù)庫進行連接,這樣才能控制和進行操作數(shù)據(jù)庫,數(shù)據(jù)庫的連接方式有兩種,ODBC和A
27、DO。</p><p> ODBC是數(shù)據(jù)庫的通用接口,其缺點是效率低;專用接口調(diào)用直接速度快,但是通用性差,如果用ODBC連接數(shù)據(jù)庫一般要兩個步驟:1.要創(chuàng)建數(shù)據(jù)源;2.創(chuàng)建描述文件。數(shù)據(jù)庫的建立則時在access2000中建立的,在這里你可以設(shè)置數(shù)據(jù)庫的密碼,對數(shù)據(jù)庫進行保護。在創(chuàng)建數(shù)據(jù)源時可以通過BDE administrator進行創(chuàng)建,也可以通過系統(tǒng)控制面板中的ODBC數(shù)據(jù)源進行建立。而描述文件則可以在
28、Delphi的主程序中用Database Profile中進行建立,之后進行數(shù)據(jù)庫的連接。接下來的工作是建表。同樣建表的過程也不是唯一的,但是最終實現(xiàn)的結(jié)果是唯一的。你可以通過Access進行建表,也可以通過在 Visual Basic 主程序中建表,也可以通過powerdesigner進行可視化的建立,不過用這種方法,在導(dǎo)入的時候要把數(shù)據(jù)庫要先斷開,否則數(shù)據(jù)庫的數(shù)據(jù)容易丟失。建表的過程注意規(guī)范化命名規(guī)則,如表的字段名等等。同時也要注意
29、表的字段長度和可否為空。因為以后要設(shè)計到主鍵,外鍵的問題。如果字段名不同,同一字段長度不同則主鍵和外鍵將會連接不上??梢娊ū頃r應(yīng)做好全局的打算。我在程序開發(fā)的初期,同樣犯了</p><p> 2.3 系統(tǒng)的總體設(shè)計</p><p> 這個管理系統(tǒng)從4月1日開始著手設(shè)計開發(fā),經(jīng)過一段時間的分析,并根據(jù)對設(shè)備保養(yǎng)管理的具體要求及需要本軟件實現(xiàn)的功能,將本軟件分為三個大的模塊,分別是:第一
30、部分:數(shù)據(jù)表;第二部分:用戶設(shè)置;第三部分:系統(tǒng)設(shè)置;。</p><p><b> 程序流程圖如下:</b></p><p><b> 系統(tǒng)的詳細設(shè)計</b></p><p> 進入Access后要做的第一件事就是建立一個數(shù)據(jù)庫。Access提供了6種用構(gòu)造數(shù)據(jù)庫系統(tǒng)的對象,根據(jù)本課題的需要,在這里選擇一個空的數(shù)據(jù)庫
31、,命名建立了一個數(shù)據(jù)庫名稱為“E保養(yǎng)數(shù)據(jù)”,設(shè)備保養(yǎng)管理系統(tǒng)。并在此數(shù)據(jù)庫下創(chuàng)建了四個表,用于存放原始數(shù)據(jù)。它只是存放數(shù)據(jù),對其中數(shù)據(jù)的修改要通過對應(yīng)的窗體來完成。創(chuàng)建各表的具體結(jié)構(gòu)如下:</p><p><b> 1.保養(yǎng)記錄信息表</b></p><p> 2.保養(yǎng)資料信息表:</p><p> 3.e_table信息表</p&
32、gt;<p><b> 4.密碼信息表:</b></p><p> 3 本程序的技術(shù)實現(xiàn)及具體功能</p><p> 登錄的界面與程序設(shè)計實現(xiàn)</p><p><b> 代碼設(shè)計:</b></p><p> unit Unit6;</p><p>
33、<b> interface</b></p><p> uses Windows, Messages, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,</p><p> Buttons, Dialogs,DB, ADODB, Mask, DBCtrls;</p><p>&l
34、t;b> type</b></p><p> TPasswordDlg = class(TForm)</p><p> Label1: TLabel;</p><p> Password: TEdit;</p><p> user: TEdit;</p><p> Label2: TLab
35、el;</p><p> okbtn: TBitBtn;</p><p> cancelbtn: TBitBtn;</p><p> ADOQueryuser: TADOQuery;</p><p> DBpassword: TDBEdit;</p><p> dsuser: TDataSource;<
36、/p><p> dbpower: TDBEdit;</p><p> procedure okbtnClick(Sender: TObject);</p><p> procedure cancelbtnClick(Sender: TObject);</p><p> procedure userKeyPress(Sender: TObj
37、ect; var Key: Char);</p><p><b> private</b></p><p> { Private declarations }</p><p><b> public</b></p><p> { Public declarations }</p>
38、<p><b> end;</b></p><p><b> var</b></p><p> PasswordDlg: TPasswordDlg;</p><p> implementation</p><p> uses Unit5,unit1,unit2;</p&
39、gt;<p> {$R *.dfm}</p><p> procedure TPasswordDlg.okbtnClick(Sender: TObject);</p><p><b> begin</b></p><p> if (user.Text<>'') and (user.Text=
40、39;zhuohuachao') then</p><p> adoqueryuser.Close;</p><p> adoqueryuser.SQL.Clear;</p><p> adoqueryuser.SQL.Add('select * from pass where user = '+'"'+use
41、r.Text+'"');</p><p> adoqueryuser.Open;</p><p> if (dbpassword.text=password.Text) then</p><p><b> begin</b></p><p> frmmain.StatusBar1.Pa
42、nels[2].Text:='當前用戶:'+user.text;</p><p> frmmain.mnuusernologin.Enabled:=true;</p><p><b> end</b></p><p><b> else</b></p><p> if (pa
43、ssword.Text='yanghui') and (user.Text='zhuohuachao')then</p><p><b> begin</b></p><p> dbpower.Text:='2';</p><p><b> end</b></p
44、><p><b> else</b></p><p><b> begin</b></p><p> messagedlg('密碼錯誤,請確認后重新輸入!',mtinformation,[mbok],0);</p><p><b> end;</b><
45、/p><p> case strtoint(dbpower.Text) of </p><p> 0: frmmain.StatusBar1.Panels[3].Text:='普通用戶';</p><p> 1: frmmain.StatusBar1.Panels[3].Text:='高級用戶';</p><
46、p> 2: frmmain.StatusBar1.Panels[3].Text:='管理用戶';</p><p><b> end;</b></p><p> passworddlg.Release;</p><p><b> end;</b></p><p> pr
47、ocedure TPasswordDlg.cancelbtnClick(Sender: TObject);</p><p><b> begin</b></p><p> passworddlg.Close;</p><p><b> end;</b></p><p> procedure
48、TPasswordDlg.userKeyPress(Sender: TObject; var Key: Char);</p><p><b> begin</b></p><p> if length(user.Text)>0 then</p><p><b> begin</b></p>&l
49、t;p> okbtn.Enabled:=true;</p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> okbtn.Enabled:=false;</p>
50、;<p><b> end</b></p><p><b> end;</b></p><p><b> end.</b></p><p> 用戶管理界面與代碼設(shè)計實現(xiàn)</p><p><b> 代碼設(shè)計:</b></p>
51、;<p> unit Unit9;</p><p><b> interface</b></p><p><b> uses</b></p><p> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,&
52、lt;/p><p> Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, Buttons;</p><p><b> type</b></p><p> Tfrmusermang = class(TForm)</p><p> DBGrid1: TDBGrid;</p&g
53、t;<p> adodsuser: TDataSource;</p><p> adoqueuser: TADOQuery;</p><p> adoqueuseruser: TWideStringField;</p><p> adoqueuserpassword: TWideStringField;</p><p>
54、 adoqueuserpower: TWideStringField;</p><p> Label1: TLabel;</p><p> btnok: TBitBtn;</p><p> procedure FormCreate(Sender: TObject);</p><p> procedure btnokClick(Sen
55、der: TObject);</p><p><b> private</b></p><p> { Private declarations }</p><p><b> public</b></p><p> { Public declarations }</p><
56、p><b> end;</b></p><p><b> var</b></p><p> frmusermang: Tfrmusermang;</p><p> implementation</p><p> uses unit5,unit6;</p><p&g
57、t; {$R *.dfm}</p><p> procedure Tfrmusermang.FormCreate(Sender: TObject);</p><p> var username:string;</p><p><b> begin</b></p><p> username:=copy(frmm
58、ain.StatusBar1.Panels[2].Text,11,7);</p><p> adoqueuser.Close;</p><p> adoqueuser.SQL.Clear;</p><p> if frmmain.StatusBar1.Panels[3].Text<>'管理用戶' then</p>&l
59、t;p><b> begin</b></p><p> adoqueuser.SQL.Add('select* from pass where user='+'"'+username+'"');</p><p> dbgrid1.Columns[0].Width:=105;</p&g
60、t;<p> dbgrid1.Columns[1].Width:=105;</p><p> dbgrid1.Columns[2].Visible:=false;</p><p><b> end</b></p><p><b> else</b></p><p><b&
61、gt; begin</b></p><p> adoqueuser.SQL.Add('select * from pass ');</p><p><b> end;</b></p><p> adoqueuser.Open;</p><p><b> end;</b
62、></p><p> procedure Tfrmusermang.btnokClick(Sender: TObject);</p><p><b> begin</b></p><p> frmusermang.Release;</p><p><b> end;</b></p
63、><p><b> end.</b></p><p> 設(shè)備保養(yǎng)主界面與代碼設(shè)計實現(xiàn)</p><p><b> 代碼設(shè)計:</b></p><p> unit Unit1;</p><p><b> interface</b></p>
64、<p><b> uses</b></p><p> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,</p><p> Dialogs, ExtCtrls, StdCtrls, Grids, DBGrids, DBCtrls, ADODB, DB,
65、Buttons,</p><p> ComCtrls, Menus, ImgList, ToolWin, XPMenu,inifiles;</p><p><b> type</b></p><p> Tfrmmaintable = class(TForm)</p><p> adoque: TADOQuery;
66、</p><p> adoqueDSDesigner: TWideStringField;</p><p> adoqueDSDesigner2: TWideStringField;</p><p> adoqueDSDesigner3: TWideStringField;</p><p> adoqueDSDesigner4: TW
67、ideStringField;</p><p> adoqueDSDesigner5: TWideStringField;</p><p> adoqueDSDesigner6: TWideStringField;</p><p> adoqueDSDesigner7: TWideStringField;</p><p> adods
68、: TDataSource;</p><p> Label3: TLabel;</p><p> ToolBar1: TToolBar;</p><p> ImageList1: TImageList;</p><p> tblfirst: TToolButton;</p><p> tblpri: TToo
69、lButton;</p><p> tblnext: TToolButton;</p><p> tbllast: TToolButton;</p><p> ToolButton2: TToolButton;</p><p> tbladd: TToolButton;</p><p> tbldel: TT
70、oolButton;</p><p> tbledt: TToolButton;</p><p> tblok: TToolButton;</p><p> tblcancel: TToolButton;</p><p> tblref: TToolButton;</p><p> ToolButton1:
71、TToolButton;</p><p> tblprint: TToolButton;</p><p> tblclose: TToolButton;</p><p> Panel1: TPanel;</p><p> Label1: TLabel;</p><p> Label2: TLabel;<
72、/p><p> cbotype: TComboBox;</p><p> cboarea: TComboBox;</p><p> Label4: TLabel;</p><p> dbgrid: TDBGrid;</p><p> cbounit: TComboBox;</p><p>
73、 Label5: TLabel;</p><p> cboorderby: TComboBox;</p><p> Shape1: TShape;</p><p> adoqueDSDesigner10: TWideStringField;</p><p> adoqueDSDesigner11: TWideStringField;
74、</p><p> procedure FormCreate(Sender: TObject);</p><p> procedure cboareaChange(Sender: TObject);</p><p> procedure cbotypeChange(Sender: TObject);</p><p> procedur
75、e mnudataClick(Sender: TObject);</p><p> procedure mnufileprintpreClick(Sender: TObject);</p><p> procedure tblfirstClick(Sender: TObject);</p><p> procedure tblpriClick(Sender:
76、TObject);</p><p> procedure tblnextClick(Sender: TObject);</p><p> procedure tbllastClick(Sender: TObject);</p><p> procedure tbladdClick(Sender: TObject);</p><p>
77、procedure tbldelClick(Sender: TObject);</p><p> procedure tbledtClick(Sender: TObject);</p><p> procedure tblokClick(Sender: TObject);</p><p> procedure tblcancelClick(Sender: TO
78、bject);</p><p> procedure tblrefClick(Sender: TObject);</p><p> procedure tbltableClick(Sender: TObject);</p><p> procedure tblprintClick(Sender: TObject);</p><p>
79、procedure tblcloseClick(Sender: TObject);</p><p> procedure FormClose(Sender: TObject; var Action: TCloseAction);</p><p> procedure cbounitChange(Sender: TObject);</p><p> proced
80、ure FormActivate(Sender: TObject);</p><p> procedure dbgridDrawColumnCell(Sender: TObject; const Rect: TRect;</p><p> DataCol: Integer; Column: TColumn; State: TGridDrawState);</p><
81、p> procedure cbounitClick(Sender: TObject);</p><p> procedure cboorderbyChange(Sender: TObject);</p><p><b> private</b></p><p> { Private declarations }</p>
82、<p><b> public</b></p><p> { Public declarations }</p><p><b> end;</b></p><p><b> var</b></p><p> frmmaintable: Tfrmmain
83、table;</p><p> myinifile:tinifile; //聲明INI文件</p><p> tablename :string; //當前查詢表格的名稱</p><p> savesql:string;//當前執(zhí)行的SQL語句的內(nèi)容</p><p> implementation</p><p
84、> uses Unit2, Unit3,unit5;</p><p><b> const</b></p><p> ScreenWidth: LongInt = 800;</p><p> ScreenHeight: LongInt = 600;</p><p> {$R *.dfm}</p>
85、;<p> procedure Tfrmmaintable.FormCreate(Sender: TObject);</p><p><b> begin</b></p><p> myinifile:=tinifile.Create(extractfilepath(paramstr(0))+'data.ini');</p&g
86、t;<p> myinifile.ReadSection('username',(dbgrid.Columns.Items[5].PickList));// 讀取INI文件中的用戶</p><p> myinifile.ReadSection('username',(dbgrid.Columns.Items[6].PickList));</p>&l
87、t;p> myinifile.ReadSection('area',(dbgrid.Columns.Items[1].PickList));</p><p> frmmaintable.Height:=300; //初始窗體大小</p><p> frmmaintable.Width:=500;</p><p> sc
88、aled := true; //根據(jù)分辯率調(diào)整熒幕大小</p><p> if (screen.width <> ScreenWidth) then</p><p><b> begin</b></p><p> height := longint(height) * longint(sc
89、reen.height) div ScreenHeight;</p><p> width := longint(width) * longint(screen.width) div ScreenWidth;</p><p> scaleBy(screen.width, ScreenWidth);</p><p><b> end;</b>
90、;</p><p> adoque.Connection:=frmmain.adocon; //建立數(shù)據(jù)鏈接</p><p> adoque.SQL.Clear;</p><p> tablename:='e_table';</p><p> adoque.SQL.Add('select * from &
91、#39;+tablename);</p><p> adoque.Open;</p><p> adods.DataSet:=adoque;</p><p> dbgrid.DataSource:=adods;</p><p> savesql:=adoque.SQL.Text; //保存當前查詢語句的內(nèi)容</p>
92、;<p> frmmain.statusbar1.Panels[1].Text:='共有'+inttostr(adoque.RecordCount)+'條信息' ;</p><p><b> end;</b></p><p> procedure Tfrmmaintable.cboareaChange(Sender:
93、 TObject);</p><p><b> begin</b></p><p> with adoque do</p><p><b> begin</b></p><p> if cboarea.Text='ALL' then</p><p>&
94、lt;b> begin</b></p><p><b> close;</b></p><p> sql.clear;</p><p> sql.Add('select * from '+tablename);</p><p><b> open;</b>
95、</p><p> savesql:=adoque.SQL.Text; //保存當前查詢語句的內(nèi)容</p><p> frmmain.statusbar1.Panels[1].Text:='共有'+inttostr(adoque.RecordCount)+'條信息'</p><p><b> end</
96、b></p><p><b> else</b></p><p><b> begin</b></p><p><b> close;</b></p><p> sql.clear;</p><p> sql.Add('selec
97、t * from e_table where 區(qū)域 = '+'"'+cboarea.Text+'"' );</p><p><b> open;</b></p><p> savesql:=adoque.SQL.Text; //保存當前查詢語句的內(nèi)容:=adoque.SQL.Text;
98、 //保存當前查詢語句的內(nèi)容</p><p> frmmain.statusbar1.Panels[1].Text:='共查詢到'+inttostr(adoque.RecordCount)+'條信息'</p><p><b> end;</b></p><p><b> end;</b>
99、;</p><p><b> end;</b></p><p> procedure Tfrmmaintable.cbotypeChange(Sender: TObject);</p><p><b> begin</b></p><p> with adoque do</p>
100、<p><b> begin</b></p><p><b> close;</b></p><p> sql.clear;</p><p> case strtoint(cbotype.Text) of</p><p> 0:sql.Add('select * fro
101、m e_table');</p><p> 1:sql.Add('select * from e_table where 類別='+'"1"' );</p><p> 2:sql.Add('select * from e_table where 類別='+'"2"' );&l
102、t;/p><p> 3:sql.Add('select * from e_table where 類別='+'"3"' );</p><p> 4:sql.Add('select * from e_table where 類別='+'"4"' );</p><p&g
103、t; 5:sql.Add('select * from e_table where 類別='+'"5"' );</p><p> 7:sql.Add('select * from e_table where 類別='+'"7"' );</p><p> 8:sql.Add(
104、9;select * from e_table where 類別='+'"8"' );</p><p><b> end;</b></p><p><b> open;</b></p><p> savesql:=adoque.SQL.Text; //保存當前查詢
105、語句的內(nèi)容</p><p> frmmain.statusbar1.Panels[1].Text:='共查詢到'+inttostr(adoque.RecordCount)+'條信息'</p><p><b> end;</b></p><p><b> end;</b></p&g
106、t;<p> procedure Tfrmmaintable.mnudataClick(Sender: TObject);</p><p><b> begin</b></p><p> form2.Show;</p><p><b> end;</b></p><p> p
107、rocedure Tfrmmaintable.mnufileprintpreClick(Sender: TObject);</p><p><b> begin</b></p><p> tblprint.Click;</p><p><b> end;</b></p><p> proce
108、dure Tfrmmaintable.tblfirstClick(Sender: TObject);</p><p><b> begin</b></p><p> adoque.First;</p><p><b> end;</b></p><p> procedure Tfrmmain
109、table.tblpriClick(Sender: TObject);</p><p><b> begin</b></p><p> if not adoque.Bof then</p><p><b> begin</b></p><p> adoque.Prior;</p>
110、<p><b> end;</b></p><p><b> end;</b></p><p> procedure Tfrmmaintable.tblnextClick(Sender: TObject);</p><p><b> begin</b></p>&l
111、t;p> if not adoque.Eof then</p><p><b> begin</b></p><p> adoque.Next;</p><p><b> end</b></p><p><b> end;</b></p><
112、p> procedure Tfrmmaintable.tbllastClick(Sender: TObject);</p><p><b> begin</b></p><p> adoque.Last;</p><p><b> end;</b></p><p> procedur
113、e Tfrmmaintable.tbladdClick(Sender: TObject);</p><p><b> begin</b></p><p> tblok.Enabled:=true;</p><p> tblcancel.Enabled:=true;</p><p> adoque.Append;&
114、lt;/p><p><b> end;</b></p><p> procedure Tfrmmaintable.tbldelClick(Sender: TObject);</p><p> var bldelete :integer;</p><p><b> begin</b></p&
115、gt;<p> bldelete:=messagedlg('是否確定要刪除這條信息',mtconfirmation,mbokcancel,0);</p><p> if bldelete=1 then</p><p> adoque.Delete</p><p><b> else</b></p>
116、;<p><b> end;</b></p><p> procedure Tfrmmaintable.tbledtClick(Sender: TObject);</p><p><b> begin</b></p><p> tblok.Enabled:=true;</p><p
117、> tblcancel.Enabled:=true;</p><p> adoque.Edit;</p><p><b> end;</b></p><p> procedure Tfrmmaintable.tblokClick(Sender: TObject);</p><p><b> be
118、gin</b></p><p> adoque.UpdateRecord;</p><p><b> end;</b></p><p> procedure Tfrmmaintable.tblcancelClick(Sender: TObject);</p><p><b> begin&l
119、t;/b></p><p> adoque.Cancel;</p><p><b> end;</b></p><p> procedure Tfrmmaintable.tblrefClick(Sender: TObject);</p><p><b> begin</b></p
120、><p> adoque.Refresh;</p><p> tblok.Enabled:=false;</p><p> tblcancel.Enabled:=false;</p><p><b> end;</b></p><p> procedure Tfrmmaintable.tbl
121、tableClick(Sender: TObject);</p><p><b> begin</b></p><p> application.CreateForm(Tform2, form2);</p><p> form2.show;</p><p><b> end;</b><
122、/p><p> procedure Tfrmmaintable.tblprintClick(Sender: TObject);</p><p><b> begin</b></p><p> application.CreateForm(Tfrmprint, frmprint);</p><p> frmprint.
123、Close;</p><p> frmprint.QuickRep1.DataSet:=adoque;</p><p> frmprint.QRDBText1.DataSet:=adoque;</p><p> frmprint.QRDBText2.DataSet:=adoque;</p><p> frmprint.QRDBText
124、3.DataSet:=adoque;</p><p> frmprint.QRDBText4.DataSet:=adoque;</p><p> frmprint.QRDBText5.DataSet:=adoque;</p><p> frmprint.QRDBText6.DataSet:=adoque;</p><p> frmpr
125、int.QRDBText7.DataSet:=adoque;</p><p> frmprint.QRDBText8.DataSet:=adoque;</p><p> frmprint.QRDBText9.DataSet:=adoque;</p><p> frmprint.QRDBText1.DataField:='單位';</p&g
126、t;<p> frmprint.QRDBText2.DataField:='區(qū)域';</p><p> frmprint.QRDBText3.DataField:='類別';</p><p> frmprint.QRDBText4.DataField:='項目';</p><p> frmprin
127、t.QRDBText5.DataField:='工具';</p><p> frmprint.QRDBText6.DataField:='保養(yǎng)人';</p><p> frmprint.QRDBText7.DataField:='確認人';</p><p> frmprint.QRDBText8.DataFiel
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計-----設(shè)備保養(yǎng)管理系統(tǒng)設(shè)計
- 設(shè)備管理系統(tǒng)畢業(yè)設(shè)計
- 設(shè)備信息管理系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----網(wǎng)上設(shè)備管理系統(tǒng)
- 信息管理畢業(yè)設(shè)計--設(shè)備信息管理系統(tǒng)設(shè)計
- 實驗設(shè)備管理系統(tǒng)畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計----多媒體設(shè)備管理系統(tǒng)
- 【全套設(shè)計】delphi+access設(shè)備保養(yǎng)管理系統(tǒng)
- 畢業(yè)設(shè)計論文 畢業(yè)設(shè)計管理系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計 畢業(yè)設(shè)計(論文)管理系統(tǒng)設(shè)計
- 銀行設(shè)備管理系統(tǒng)的設(shè)計和實現(xiàn)畢業(yè)設(shè)計
- 實驗室設(shè)備管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--畢業(yè)設(shè)計選題管理系統(tǒng)
- 常用辦公設(shè)備的使用與保養(yǎng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--畢業(yè)設(shè)計選題管理系統(tǒng)
- 高校教學設(shè)備信息管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計管理系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計(論文)-企業(yè)設(shè)備管理系統(tǒng)畢業(yè)論文-
- 畢業(yè)設(shè)計管理系統(tǒng)論文畢業(yè)設(shè)計
- 設(shè)備保養(yǎng)管理系統(tǒng).rar
評論
0/150
提交評論