2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  畢業(yè)設(shè)計(論文)DELPHI工資管理論文</p><p><b>  目錄</b></p><p><b>  1 前言1</b></p><p><b>  2 系統(tǒng)概況2</b></p><p>  2.1系統(tǒng)開發(fā)背景2</p>&

2、lt;p>  2.2系統(tǒng)開發(fā)目的2</p><p>  2.3系統(tǒng)平臺選用2</p><p>  2.3.1數(shù)據(jù)庫技術(shù)的現(xiàn)狀與發(fā)展2</p><p>  2.3.2數(shù)據(jù)庫系統(tǒng)的選擇原則3</p><p>  2.3.3系統(tǒng)開發(fā)工具的選擇3</p><p><b>  3 需求分析7</

3、b></p><p><b>  3.1需求陳述7</b></p><p>  3.2可行性分析7</p><p>  3.2.1技術(shù)可行性7</p><p>  3.2.2時間、設(shè)備可行性7</p><p>  3.2.3經(jīng)濟可行性8</p><p>&l

4、t;b>  4 概要設(shè)計9</b></p><p>  4.1系統(tǒng)功能結(jié)構(gòu)設(shè)計9</p><p>  4.2數(shù)據(jù)庫設(shè)計10</p><p>  4.2.1數(shù)據(jù)庫邏輯結(jié)構(gòu)10</p><p>  4.2.2 數(shù)據(jù)庫E-R圖12</p><p>  4.2.3 Oracle數(shù)據(jù)庫的使用13&l

5、t;/p><p><b>  5 詳細(xì)設(shè)計14</b></p><p>  5.1主界面設(shè)計14</p><p>  5.2基本信息管理模塊15</p><p>  5.3工資數(shù)據(jù)模塊24</p><p>  5.4當(dāng)月報表模塊35</p><p>  5.5歷史數(shù)據(jù)

6、模塊37</p><p>  5.6系統(tǒng)信息模塊41</p><p>  6 系統(tǒng)性能測試與分析42</p><p>  6.1測試范圍與主要內(nèi)容42</p><p>  6.2測試方法42</p><p>  6.3測試報告42</p><p><b>  7 結(jié)論43

7、</b></p><p><b>  參考文獻(xiàn)44</b></p><p><b>  致謝45</b></p><p><b>  1 前言</b></p><p>  上世紀(jì)八、九十年代以來,計算機產(chǎn)業(yè)飛速發(fā)展,其應(yīng)用滲透在社會生產(chǎn)的各個領(lǐng)域。計算機在國內(nèi)的

8、崛起加速了各企事業(yè)單位、機關(guān)的自動化進程,提高了國民生產(chǎn)的效率,從而為國民經(jīng)濟的飛速發(fā)展創(chuàng)造了必要的條件。</p><p>  步入21世紀(jì)以來,計算機更是以驚人的普及速度,進入各行各業(yè)和大部分家庭。各種應(yīng)用的需求也不斷增加,人們更加追求生活的品質(zhì)和工作的效率,企業(yè)更是視提高生產(chǎn)效率為生存和發(fā)展之道,于是通過科技手段提高生產(chǎn)和管理效率自然成為競爭和發(fā)展的焦點。這不僅包括如何實現(xiàn)企業(yè)生產(chǎn)設(shè)備的改進和生產(chǎn)技術(shù)的提高還

9、包括如何有效地組織和管理企業(yè)各項事務(wù),實現(xiàn)企業(yè)的辦公自動化。而管理信息系統(tǒng)(Management Information System, MIS)在辦公自動化的進程中發(fā)揮著重要的作用。市場需求也日益增加。</p><p>  大型企業(yè)的分工比較嚴(yán)格、細(xì)致,組織較為緊密,對軟硬件的要求也就比較高,因此試圖以一款軟件來解決企業(yè)的所有問題顯然是不可能的,這就需要我們細(xì)化事務(wù),有針對性地開發(fā)縱向應(yīng)用廣泛的MIS系統(tǒng)。不僅

10、能夠解決大型企業(yè)和機構(gòu)的某方面問題,還應(yīng)該能為更多的中、小型企業(yè)利用,提高他們的工作效率,加速企業(yè)的發(fā)展,從而促進國民經(jīng)濟的建設(shè)。</p><p>  財務(wù)是每一個單位都會涉及的問題,管理軟件雨后春筍般崛起的今天,企業(yè)不僅需要通過軟件有效地對其實施管理,還想操作能夠盡可能簡單,軟件易于上手。</p><p>  通過查閱相關(guān)資料,對市場需求進行分析,對既成工資管理軟件的研究和測試,我們認(rèn)為

11、本課題是一個適應(yīng)現(xiàn)今工資管理需求的計算機信息管理系統(tǒng),具有一定的現(xiàn)實意義和開發(fā)使用價值。</p><p><b>  2 系統(tǒng)概況</b></p><p><b>  2.1系統(tǒng)開發(fā)背景</b></p><p>  自20世紀(jì)80年代以來,知識經(jīng)濟的興起和信息技術(shù)的日新月異消除了人與人之間知識、信息傳遞的障礙,也帶來了人類

12、經(jīng)營意識、管理觀念的巨大改變。21世紀(jì)是一個經(jīng)濟時代,經(jīng)濟競爭說到底是人才的競爭,誰擁有了人才,誰就將最終擁有財富。通過工資人事管理可以獲得并維持組織的競爭優(yōu)勢,人作為公司最重要的資產(chǎn),如何用好人才,為每個人找到合適的崗位去發(fā)揮其特長是用人的關(guān)鍵環(huán)節(jié)。而運用先進科技手段進行有效管理是最好的發(fā)展方向。MIS作為提高管理效率和辦公自動化進程的重要工具,已深入到國民生產(chǎn)的方方面面。我們更加需要開發(fā)適應(yīng)不同行業(yè)不同需求的MIS系統(tǒng)。</p

13、><p><b>  2.2系統(tǒng)開發(fā)目的</b></p><p>  本系統(tǒng)開發(fā)的主要目的就是要使企事業(yè)單位工資管理實現(xiàn)計算機管理,使管理員能夠有序地管理每一位職工的各項工資條款的發(fā)放以及員工個人臺帳的生成,使企業(yè)運用現(xiàn)代化技術(shù)創(chuàng)造更多更高的經(jīng)濟效益。</p><p><b>  2.3系統(tǒng)平臺選用</b></p>

14、<p>  2.3.1數(shù)據(jù)庫技術(shù)的現(xiàn)狀與發(fā)展</p><p>  數(shù)據(jù)庫是60年代末出現(xiàn)的一門計算機軟件技術(shù),到現(xiàn)在雖然只有三十多年的歷史,但在理論和時間上都得到了和很大的發(fā)展?,F(xiàn)在,數(shù)據(jù)庫是數(shù)據(jù)處理的主要工具,是管理信息系統(tǒng)(MIS)的核心部分。數(shù)據(jù)庫系統(tǒng)是當(dāng)今計算機信息系統(tǒng)的核心,是計算機技術(shù)和應(yīng)用發(fā)展的關(guān)鍵。傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)旨在處理永久、穩(wěn)定的數(shù)據(jù),強調(diào)維護數(shù)據(jù)的完整性、一致性。</p&

15、gt;<p>  數(shù)據(jù)庫理論與技術(shù)的發(fā)展極其迅速,其應(yīng)用日益廣泛,在當(dāng)今的信息社會中,它幾乎無所不在。以關(guān)系型為代表的三大經(jīng)典(層次、網(wǎng)狀、關(guān)系)型數(shù)據(jù)庫在傳統(tǒng)的(商務(wù)和管理的事務(wù)型)應(yīng)用領(lǐng)域獲得了極大成功。計算機世界報社與IBM公司聯(lián)合舉辦了"21世紀(jì)數(shù)據(jù)庫技術(shù)發(fā)展專家研討會"。IBM DB2的創(chuàng)始人Donald Haderle先生與國內(nèi)著名數(shù)據(jù)庫專家,就下世紀(jì)數(shù)據(jù)庫發(fā)展的趨勢、數(shù)據(jù)庫領(lǐng)域革命性的突破

16、、IBM DB2的應(yīng)用、數(shù)據(jù)倉庫的實施、我國數(shù)據(jù)庫技術(shù)和應(yīng)用的現(xiàn)狀及趨勢、我國數(shù)據(jù)庫用戶的需求等問題,進行了廣泛而深入的討論。</p><p>  2.3.2數(shù)據(jù)庫系統(tǒng)的選擇原則</p><p>  ①數(shù)據(jù)庫系統(tǒng)采用易于集成的,開放的技術(shù)。</p><p> ?、诋a(chǎn)品質(zhì)量優(yōu)異,可靠性高,適于長期運行,能支持關(guān)鍵應(yīng)用。</p><p> ?、蹟?shù)

17、據(jù)安全,保安型高。</p><p> ?、苣芴峁┓植际綌?shù)據(jù)庫功能。</p><p> ?、葜С侄喾N開發(fā)環(huán)境,軟件開發(fā)容易。</p><p>  ⑥擴充性和升級能力強。</p><p>  2.3.3系統(tǒng)開發(fā)工具的選擇</p><p>  本次工資管理系統(tǒng)選用Delphi與Oracle11g進行開發(fā),現(xiàn)在市場上有很多MI

18、S的開發(fā)工具,如:Visual basic、Delphi、ASP等等,數(shù)據(jù)庫開發(fā)工具又有很多種,如:Access,SQL Sever,Oracle等等。與其他開發(fā)工具相比,Delphi與Oracle有著自己的特點與優(yōu)勢。</p><p><b> ?、臘elphi簡介</b></p><p>  Delphi,是Windows平臺下著名的快速應(yīng)用程序開發(fā)工具(Rapi

19、d Application Development,簡稱RAD)。它的前身,即是DOS時代盛行一時的“Borland Turbo Pascal”,最早的版本由美國Borland(寶蘭)公司于1995年開發(fā)。主創(chuàng)者為Anders Hejlsberg。經(jīng)過數(shù)年的發(fā)展,此產(chǎn)品也轉(zhuǎn)移至Embarcadero公司旗下。</p><p>  從產(chǎn)品名稱上就可以知道,Turbo Pascal使用的是Pascal語言。從Turb

20、o Pascal 5.5版開始,Borland公司在傳統(tǒng)Pascal的基礎(chǔ)上加入了面向?qū)ο蟮墓δ堋?lt;/p><p>  Delphi是一個集成開發(fā)環(huán)境(IDE),使用的核心是由傳統(tǒng)Pascal語言發(fā)展而來的Object Pascal,以圖形用戶界面(Graphical User Interface,簡稱GUI)為開發(fā)環(huán)境,透過IDE、VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫的功能,構(gòu)成一個以面向?qū)ο蟪绦蛟O(shè)計為中心的應(yīng)用

21、程序開發(fā)工具。Delphi所編譯的可運行檔,雖然容量較大,但效能上卻比較快。除了使用數(shù)據(jù)庫的程序之外,不需安裝即可運行,在使用上相當(dāng)方便。</p><p>  Delphi在本質(zhì)上應(yīng)該歸類為軟件開發(fā)工具,而非程序語言,但由于Delphi幾乎是目前市場上唯一使用Pascal,并持續(xù)推出新版本的商業(yè)產(chǎn)品。因此,有時人們會把Delphi視為Object Pascal的代名詞。Borland公司因而把Object Pas

22、cal改稱為Delphi。2006年,Borland把開發(fā)工具產(chǎn)品線獨立出來,成立了一家新的公司CodeGear,并把產(chǎn)品線交由此公司負(fù)責(zé)。原本的Delphi,亦曾一度因此被命名為Turbo Delphi。但是在新的版本中,除了Delphi for Win32(原有的Delphi版本)之外,還有一個新產(chǎn)品“Delphi for PHP”。在CodeGear的發(fā)展規(guī)劃中,或許“Delphi”不再是Object Pascal的專屬IDE名稱

23、,而是將之提升到通用IDE品牌的層次。2008年5月7日,Embarcadero Technologies(易博龍)公司宣布以2300萬美元的價格收購CodeGear公司,從而把Delphi收入囊中。2009年5月6日,Micro Focus宣布以7500萬美元收購Borland。</p><p>  Delphi目前的最新版本是2010。</p><p>  Delphi具有如下特點:&

24、lt;/p><p> ?、僦苯泳幾g生成可執(zhí)行代碼,編譯速度快。由于Delphi編譯器采用了條件編譯和選擇鏈接技術(shù),使用它生成的執(zhí)行文件更加精煉,運行速度更快。在處理速度和存取服務(wù)器方面,Delphi的性能遠(yuǎn)遠(yuǎn)高于其他同類產(chǎn)品。 </p><p> ?、谥С謱⒋嫒∫?guī)則分別交給客戶機或服務(wù)器處理的兩種方案,而且允許開發(fā)人員建立一個簡單的部件或部件集合,封裝起所有的規(guī)則,并獨立于服務(wù)器和客戶機,所有

25、的數(shù)據(jù)轉(zhuǎn)移通過這些部件來完成。這樣,大大減少了對服務(wù)器的請求和網(wǎng)絡(luò)上的數(shù)據(jù)傳輸量,提高了應(yīng)用處理的速度。 </p><p> ?、厶峁┝嗽S多快速方便的開發(fā)方法,使開發(fā)人員能用盡可能少的重復(fù)性工作完成各種不同的應(yīng)用。利用項目模板和專家生成器可以很快建立項目的構(gòu)架,然后根據(jù)用戶的實際需要逐步完善。 </p><p> ?、芫哂锌芍赜眯院涂蓴U展性。開發(fā)人員不必再對諸如標(biāo)簽、按鈕及對話框等Wind

26、ows的常見部件進行編程。Delphi包含許多可以重復(fù)使用的部件,允許用戶控制Windows的開發(fā)效果。</p><p>  ⑤具有強大的數(shù)據(jù)存取功能。它的數(shù)據(jù)處理工具BDE(BorlandDatabaseEngine)是一個標(biāo)準(zhǔn)的中介軟件層,可以用來處理當(dāng)前流行的數(shù)據(jù)格式,如xBase、Paradox等,也可以通過BDE的SQLLink直接與Sybase、SQLServer、Informix、Oracle等大型

27、數(shù)據(jù)庫連接。 Delphi既可用于開發(fā)系統(tǒng)軟件,也適合于應(yīng)用軟件的開發(fā)。 </p><p> ?、迵碛袕姶蟮木W(wǎng)絡(luò)開發(fā)能力,能夠快速的開發(fā)B/S應(yīng)用,它內(nèi)置的IntraWeb和ExpressWeb使得對于網(wǎng)絡(luò)的開發(fā)效率超過了其他任何的開發(fā)工具。 </p><p>  ⑦Delphi使用獨特的VCL類庫,使得編寫出的程序顯得條理清晰,VCL是現(xiàn)在最優(yōu)秀的類庫,它使得Delphi在軟件開發(fā)行業(yè)處

28、于一個絕對領(lǐng)先的地位。用戶可以按自己的需要,任意的構(gòu)建、擴充、甚至是刪減VCL,以滿足不同的需要。 </p><p> ?、鄰腄elphi8開始Delphi也支持.Net框架下程序開發(fā)。 </p><p>  當(dāng)前DELPHI 已經(jīng)成為一個品牌,而不僅僅是一個開發(fā)平臺或開發(fā)語言的名稱。 當(dāng)前DELPHI產(chǎn)品已經(jīng)由CodeGear公司繼續(xù)發(fā)展,該公司是BORLAND公司的全資子公司。當(dāng)前,C

29、odeGear為廣大開發(fā)者提供了DELPHI FOR PHP,以高度可視化的方式全面支持面向?qū)ο蟮腜HP 網(wǎng)站開發(fā),大大提高了PHP開發(fā)網(wǎng)站的代碼復(fù)用程度,成為WEB應(yīng)用開發(fā)的新利器。</p><p><b> ?、芆racle簡介</b></p><p>  Oracle的關(guān)系數(shù)據(jù)庫是世界第一個支持SQL語言的數(shù)據(jù)庫。1977年,Lawrence J.Ellison

30、領(lǐng)著一些同事成立了Oracle公司,他們的成功強力反擊了那些說關(guān)系數(shù)據(jù)庫無法成功商業(yè)化的說法?,F(xiàn)在,Oracle公司的財產(chǎn)凈值已經(jīng)由當(dāng)初的2000美元增值到了現(xiàn)在的年收入超過97億美元。</p><p>  Oracle 11g 擴展了 Oracle 獨家具有的提供網(wǎng)格計算優(yōu)勢的功能,可以利用它來提高用戶服務(wù)水平、減少停機時間以及更加有效地利用 IT資源,同時還可以增強全天候業(yè)務(wù)應(yīng)用程序的性能、可伸縮性和安全性。

31、</p><p>  11 g降低了數(shù)據(jù)庫升級以及其他硬件和操作系統(tǒng)更改的成本,顯著簡化了更改前后的系統(tǒng)測試以便您可以識別和解決問題。例如: 利用 Database Replay,可以在數(shù)據(jù)庫級別輕松捕獲實際的生產(chǎn)負(fù)載并在您的測試系統(tǒng)上重新播放,這樣您可以全面測試系統(tǒng)更改(包括關(guān)鍵的并發(fā)特性)的影響。 </p><p>  Oracle 數(shù)據(jù)庫 11 g繼續(xù)致力于(從 Oracle9i數(shù)據(jù)

32、庫開始一直到 Oracle 數(shù)據(jù)庫10 g)顯著簡化和完全自動化 DBA 任務(wù)。 Oracle數(shù)據(jù)庫11 g中的新功能包括: 利用自學(xué)功能自動進行 SQL 優(yōu)化系統(tǒng)全局區(qū)(SGA)和程序全局區(qū)( PGA)的內(nèi)存緩存區(qū)的自動、統(tǒng)一調(diào)整新的 advisor用于分區(qū)、數(shù)據(jù)恢復(fù)、流性能和空間管理針對自動數(shù)據(jù)庫診斷監(jiān)視器 (ADDM)的增強,能夠提供 Oracle 真正應(yīng)用集群 (Oracle RAC)環(huán)境中的更好的性能全局視圖以及改進的性能比較

33、分析功能。</p><p>  Oracle 數(shù)據(jù)庫 11 g中新增的故障診斷功能使客戶在發(fā)生錯誤后捕獲 OracleSupport所需的數(shù)據(jù)變得極為簡單。這可以加速問題的解決,減少客戶重現(xiàn)問題的需要。</p><p> ?、荄elphi 和 Oracle 數(shù)據(jù)庫的連接方法</p><p>  Oracle是以高級結(jié)構(gòu)化查詢語言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,是目

34、前最流行的客戶/服務(wù)器(CLIENT/SERVER)體系結(jié)構(gòu)的數(shù)據(jù)庫之一,目前被廣泛應(yīng)用于各類型企業(yè)的信息化管理中。數(shù)據(jù)庫支持是Delphi7.0開發(fā)環(huán)境的一個重要特性,很多程序員在數(shù)據(jù)庫應(yīng)用程序開發(fā)中都采用Delphi7.0作為開發(fā)工具,來實現(xiàn)對數(shù)據(jù)庫的訪問和控制。Delphi數(shù)據(jù)庫應(yīng)用程序是通過數(shù)據(jù)庫引擎來訪問它們引用的數(shù)據(jù)源的。本文概括性的介紹在Windows XP環(huán)境中Delphi7.0連接Oracle數(shù)據(jù)庫的3種方式,它們分別

35、是BDE、ADO、DbExpress。</p><p>  ADO(ActiveX Data Objects)是Microsoft的高級接口,基于Microsoft的數(shù)據(jù)訪問OLEDB技術(shù)而實現(xiàn)。本系統(tǒng)采用ADO方式連接Oracle數(shù)據(jù)庫。</p><p><b>  3 需求分析</b></p><p><b>  3.1需求陳述&

36、lt;/b></p><p>  本系統(tǒng)擬在完成工資管理的同時,集成其他必要的功能,以保證系統(tǒng)的完整性和安全性。具體包括,員工基本信息管理、部門管理、當(dāng)前工資及歷史工資管理等。</p><p>  現(xiàn)對有關(guān)要求描述如下:</p><p> ?、僬w結(jié)構(gòu)合理,風(fēng)格一致,模塊化結(jié)構(gòu),界面清晰,接口靈活,操作簡便。</p><p> ?、陂_發(fā)

37、方法,文檔規(guī)范化,便于管理,可擴充。</p><p> ?、弁晟频臄?shù)據(jù)輸入,維護,輸出。</p><p>  ④自檢性能高,用戶誤輸、錯輸均有提示。</p><p> ?、萑蒎e性能高,某個用戶的操作錯誤不會引起整個系統(tǒng)的癱瘓,每一功能的操作都有信息提示以免重復(fù)操作,錯誤操作有警告,以便用戶及時改正。</p><p><b>  3.

38、2可行性分析</b></p><p>  3.2.1技術(shù)可行性</p><p>  技術(shù)上的可行性分析主要分析現(xiàn)有技術(shù)條件能否順利完成開發(fā)工作,軟硬件配置能否滿足開發(fā)者需要等,這一特點非常適合計算機的特點,發(fā)揮計算機的數(shù)據(jù)處理速度快,準(zhǔn)確率高的優(yōu)勢,現(xiàn)代計算機硬件和軟件技術(shù)的飛速發(fā)展,為系統(tǒng)的建設(shè)提供了技術(shù)條件。</p><p>  通過對Delphi和

39、Oracle的系統(tǒng)學(xué)習(xí),已經(jīng)基本掌握了開發(fā)本系統(tǒng)所需的技術(shù)和查閱文獻(xiàn)的能力。對工資管理系統(tǒng)這一類的財務(wù)系統(tǒng)開發(fā)也有一定的認(rèn)識,因此具備技術(shù)可行性。</p><p>  3.2.2時間、設(shè)備可行性</p><p>  12周的時間足夠開發(fā)一個滿足中小型企業(yè)簡單需求的工資管理系統(tǒng),現(xiàn)有計算機的軟硬件配置能夠滿足系統(tǒng)開發(fā)的要求,具備時間和設(shè)備的可行性。</p><p> 

40、 3.2.3經(jīng)濟可行性</p><p>  基于企業(yè)的現(xiàn)有計算機及配套設(shè)備,建設(shè)MIS系統(tǒng)。不但能大大減少重復(fù)性的書面報告,降低辦公費用,提高辦公室效率,而且能提高檢測數(shù)據(jù)效用,為企業(yè)提供很方便。由于企業(yè)工資管理系統(tǒng)是一個比較小型的系統(tǒng),開發(fā)工具也均可免費使用,網(wǎng)絡(luò)資源豐富,只需較少的花費在技術(shù)文獻(xiàn)上,開發(fā)成本較低,因此,開發(fā)本系統(tǒng)具有經(jīng)濟上的可行性。</p><p><b> 

41、 4 概要設(shè)計</b></p><p>  4.1系統(tǒng)功能結(jié)構(gòu)設(shè)計</p><p>  圖4.1 功能模塊圖</p><p><b>  表4.1功能說明表</b></p><p>  設(shè)計角色:財務(wù)管理人員</p><p><b>  4.2數(shù)據(jù)庫設(shè)計</b>&

42、lt;/p><p>  4.2.1數(shù)據(jù)庫邏輯結(jié)構(gòu)</p><p>  表4.2 部門信息表(bm)</p><p>  表4.3 職工工資信息表(ry)</p><p>  表4.4 歷史數(shù)據(jù)表(sj)</p><p>  4.2.2 數(shù)據(jù)庫E-R圖</p><p>  圖4.2 工資管理系統(tǒng)實體關(guān)

43、系圖</p><p>  4.2.3 Oracle數(shù)據(jù)庫的使用</p><p>  在Oracle中創(chuàng)建用戶,如圖4.2所示</p><p><b>  圖4.2創(chuàng)建用戶</b></p><p>  在Oracle中建表,如圖4.3所示</p><p><b>  圖4.3建表</

44、b></p><p><b>  5 詳細(xì)設(shè)計</b></p><p><b>  5.1主界面設(shè)計</b></p><p>  由于本系統(tǒng)是針對財務(wù)管理人員角色設(shè)計開發(fā)的,故未進行權(quán)限的設(shè)定。</p><p>  在主界面顯示每個模塊的入口,點擊即可進入。</p><p&

45、gt;  在狀態(tài)欄顯示系統(tǒng)日期和登錄系統(tǒng)時間。</p><p>  系統(tǒng)主界面如圖5.1所示:</p><p>  圖5.1 系統(tǒng)主界面</p><p><b>  該模塊主要代碼:</b></p><p>  procedure Tgzgl_f.FormCreate(Sender: TObject); //數(shù)據(jù)庫連接

46、處理</p><p><b>  begin</b></p><p>  gzgl_f.Color:=rgb(180,130,100);</p><p><b>  try</b></p><p>  db1.Connected:=true;</p><p><b>

47、;  except</b></p><p>  showmessage('連接數(shù)據(jù)庫失敗 ! ');</p><p>  application.terminate;</p><p><b>  end;</b></p><p><b>  end;</b></p&

48、gt;<p>  procedure Tmainf.FormCreate(Sender: TObject); //狀態(tài)欄系統(tǒng)日期與時間</p><p><b>  begin</b></p><p>  Statusbar1.Panels[0].Text:='系統(tǒng)日期:'+datetostr(date);</p><

49、p>  Statusbar1.Panels[1].Text:='系統(tǒng)時間:'+timetostr(time);</p><p><b>  end;</b></p><p>  procedure Tmainf.bmiClick(Sender: TObject); //選中菜單顯示相應(yīng)的窗體,此處為部門管理</p><p&g

50、t;<b>  begin</b></p><p>  If bmi.Checked Then //用If語句做異常處理</p><p><b>  bmf.Show</b></p><p><b>  ELSE</b></p><p>

51、<b>  begin</b></p><p>  Application.CreateForm(Tbmf,bmf);</p><p><b>  bmf.Show;</b></p><p>  bmi.Checked:=True;</p><p><b>  end;</b>

52、</p><p><b>  end;</b></p><p>  5.2基本信息管理模塊</p><p>  此模塊包括部門和員工的基本信息維護,具體功能包括,部門信息的添加和刪除,員工信息的添加和刪除。輸入要添加的數(shù)據(jù)后,點擊“添加”完成數(shù)據(jù)添加,點擊“刷新”按鈕顯示數(shù)據(jù)。刪除數(shù)據(jù)時程序?qū)⑦B接后臺數(shù)據(jù)庫,判斷是否存在該記錄的工資信息,若不存

53、在則刪除成功,若存在,則刪除失敗。如圖5.2,5.3所示</p><p>  圖5.2部門信息維護</p><p>  部門信息維護核心代碼:</p><p>  procedure Tbmf.BitBtn1Click(Sender: TObject);</p><p><b>  begin</b></p>

54、<p>  edit1.Text:=trim(edit1.text);</p><p>  if (length(edit1.Text)=0) or (length(bh.Text)=0)</p><p><b>  then</b></p><p><b>  begin</b></p>&l

55、t;p>  showmessage('編號與單位名稱不能為空!');</p><p><b>  exit;</b></p><p><b>  end;</b></p><p>  with Q1 do</p><p><b>  begin</b>&l

56、t;/p><p><b>  Close;</b></p><p>  Sql.Clear;</p><p>  Sql.Add('Insert Into bm (bh,mc)');</p><p>  Sql.Add(' Values(:y0,:y1) ');</p><

57、p>  Parameters.ParamByName('y0').Value:=bh.Text;</p><p>  Parameters.ParamByName('y1').Value:=edit1.Text;</p><p><b>  Try</b></p><p><b>  ExecSq

58、l;</b></p><p><b>  except</b></p><p>  showmessage('服務(wù)器連接error,程序退出!');</p><p>  application.Terminate;</p><p><b>  end;</b></p

59、><p><b>  end;</b></p><p><b>  end;</b></p><p>  procedure Tbmf.BitBtn2Click(Sender: TObject);</p><p><b>  begin</b></p><p&g

60、t;  if messagedlg('如果系統(tǒng)中存在本部門數(shù)據(jù)不能刪除,確要刪除嗎?',mtconfirmation,[mbyes,mbno],0)</p><p>  =mrno then exit;</p><p><b>  q1.Close;</b></p><p>  q1.Sql.Clear;</p>

61、<p>  q1.Sql.Add('delete from bm ');</p><p>  q1.Sql.Add(' where (bh like :bh) ');</p><p>  q1.Parameters.ParamByName('bh').Value:=bh.text+'%';</p>&

62、lt;p><b>  Try</b></p><p>  q1.ExecSql;</p><p><b>  except</b></p><p>  showmessage('服務(wù)器連接error,程序退出!');</p><p>  application.Terminat

63、e;</p><p><b>  end;</b></p><p><b>  q1.Close;</b></p><p><b>  end;</b></p><p>  procedure Tbmf.BitBtn3Click(Sender: TObject);</p&

64、gt;<p>  var i:integer;</p><p><b>  begin</b></p><p><b>  Q1.Close;</b></p><p>  Q1.Sql.Clear;</p><p>  Q1.Sql.Add('Select bh,mc From

65、 bm ');</p><p>  Q1.Sql.Add(' order by bh');</p><p><b>  Try</b></p><p><b>  Q1.Open;</b></p><p><b>  except</b></p&g

66、t;<p>  showmessage('服務(wù)器連接error,程序退出!');</p><p>  application.Terminate;</p><p><b>  End;</b></p><p>  sg.RowCount:=Q1.RecordCount+1;</p><p>

67、  sg.ColCount:=2;</p><p>  For I:=0 To sg.RowCount Do sg.Rows[I].Clear;</p><p>  sg.Cells[0,0]:='編號';</p><p>  sg.Cells[1,0]:='名稱';</p><p>  For I:=1 To

68、 sg.RowCount Do</p><p><b>  Begin</b></p><p>  sg.Cells[0,i]:=(Q1.FieldByName('bh').AsString);</p><p>  sg.Cells[1,i]:=(Q1.FieldByName('mc').AsString);&l

69、t;/p><p><b>  Q1.Next;</b></p><p><b>  End;</b></p><p><b>  Q1.Close;</b></p><p><b>  end;</b></p><p>  proced

70、ure Tbmf.FormClose(Sender: TObject; var Action: TCloseAction);</p><p><b>  begin</b></p><p>  mainf.bmi.checked:=false;</p><p>  action:=cafree;</p><p><

71、b>  end;</b></p><p>  procedure Tbmf.FormCreate(Sender: TObject);</p><p>  var i:integer;</p><p><b>  begin</b></p><p>  bmf.Color:=rgb(220,170,140

72、);</p><p>  for i:=1 to 9 do</p><p>  bh.Items.Add('0'+inttostr(i));</p><p>  for i:=10 to 50 do</p><p>  bh.Items.Add(inttostr(i));</p><p>  sg.Fi

73、xedColor:=rgb(180,130,100);</p><p><b>  end;</b></p><p><b>  員工信息維護:</b></p><p>  圖5.3員工信息維護</p><p>  員工信息維護核心代碼:</p><p>  procedur

74、e Tryf.BitBtn1Click(Sender: TObject);</p><p><b>  begin</b></p><p>  edit1.Text:=trim(edit1.text);</p><p>  if (length(edit1.Text)=0) or (length(bh.Text)=0)</p>&

75、lt;p>  or (length(bm.Text)=0)</p><p><b>  then</b></p><p><b>  begin</b></p><p>  showmessage('編號與單位名稱不能為空!');</p><p><b>  exit

76、;</b></p><p><b>  end;</b></p><p>  with Q1 do</p><p><b>  begin</b></p><p><b>  Close;</b></p><p>  Sql.Clear;&l

77、t;/p><p>  Sql.Add('Insert Into ry (bm,bh,xm)');</p><p>  Sql.Add(' Values(:y0,:y1,:y2) ');</p><p>  Parameters.ParamByName('y0').Value:=bm.Text;</p><

78、;p>  Parameters.ParamByName('y1').Value:=bh.Text;</p><p>  Parameters.ParamByName('y2').Value:=edit1.Text;</p><p><b>  Try</b></p><p><b>  ExecS

79、ql;</b></p><p><b>  except</b></p><p>  showmessage('服務(wù)器連接error,程序退出!');</p><p>  application.Terminate;</p><p><b>  end;</b></

80、p><p><b>  end;</b></p><p><b>  end;</b></p><p>  procedure Tryf.BitBtn2Click(Sender: TObject);</p><p><b>  begin</b></p><p&

81、gt;  if messagedlg('如果系統(tǒng)中存在本人工資數(shù)據(jù)不能刪除,確要刪除嗎?',mtconfirmation,[mbyes,mbno],0)</p><p>  =mrno then exit;</p><p>  bh.text:=trim(bh.text);</p><p>  if (length(bh.text)<2) t

82、hen exit;</p><p><b>  q1.Close;</b></p><p>  q1.Sql.Clear;</p><p>  q1.Sql.Add('delete from ry ');</p><p>  q1.Sql.Add(' where ((bh like :bh) an

83、d (bm like :bm))');</p><p>  q1.Parameters.ParamByName('bh').Value:=bh.text+'%';</p><p>  q1.Parameters.ParamByName('bm').Value:=bm.text+'%';</p><p

84、><b>  Try</b></p><p>  q1.ExecSql;</p><p><b>  except</b></p><p>  showmessage('服務(wù)器連接error,程序退出!');</p><p>  application.Terminate;&l

85、t;/p><p><b>  end;</b></p><p><b>  q1.Close;</b></p><p><b>  end;</b></p><p>  procedure Tryf.BitBtn3Click(Sender: TObject);</p>

86、<p>  var i:integer;</p><p><b>  begin</b></p><p>  ListBox1.Items.Clear;</p><p><b>  Q1.Close;</b></p><p>  Q1.Sql.Clear;</p><

87、p>  Q1.Sql.Add('Select bh,xm From ry ');</p><p>  q1.Sql.Add(' where (bm like :bm) ');</p><p>  Q1.Sql.Add(' order by bh');</p><p>  q1.Parameters.ParamBy

88、Name('bm').Value:=bm.text+'%';</p><p><b>  Try</b></p><p><b>  Q1.Open;</b></p><p><b>  except</b></p><p>  showmess

89、age('服務(wù)器連接error,程序退出!');</p><p>  application.Terminate;</p><p><b>  End;</b></p><p>  ListBox1.Items.Add(' 編號 姓名');</p><p>  For I:=1 To

90、Q1.RecordCount Do</p><p><b>  Begin</b></p><p>  ListBox1.Items.Add(' '+Q1.FieldByName('bh').AsString+' '+Q1.FieldByName('xm').AsString);</p>

91、;<p><b>  Q1.Next;</b></p><p><b>  End;</b></p><p><b>  Q1.Close;</b></p><p><b>  end;</b></p><p>  procedure Try

92、f.bmChange(Sender: TObject);</p><p>  var i:integer;</p><p><b>  begin</b></p><p>  ListBox1.Items.Clear;</p><p><b>  Q1.Close;</b></p>&

93、lt;p>  Q1.Sql.Clear;</p><p>  Q1.Sql.Add('Select bh,xm From ry ');</p><p>  q1.Sql.Add(' where (bm like :bm) ');</p><p>  Q1.Sql.Add(' order by bh');</

94、p><p>  q1.Parameters.ParamByName('bm').Value:=bm.text+'%';</p><p><b>  Try</b></p><p><b>  Q1.Open;</b></p><p><b>  except&l

95、t;/b></p><p>  showmessage('服務(wù)器連接error,程序退出!');</p><p>  application.Terminate;</p><p><b>  End;</b></p><p>  ListBox1.Items.Add(' 編號 姓名

96、9;);</p><p>  For I:=1 To Q1.RecordCount Do</p><p><b>  Begin</b></p><p>  ListBox1.Items.Add(''+Q1.FieldByName('bh').AsString+''+Q1.FieldByName(

97、'xm').AsString);</p><p><b>  Q1.Next;</b></p><p><b>  End;</b></p><p><b>  Q1.Close;</b></p><p>  bh.Text:='';</p

98、><p>  edit1.Text:='';</p><p><b>  end;</b></p><p>  procedure Tryf.FormClose(Sender: TObject; var Action: TCloseAction);</p><p><b>  begin</b

99、></p><p>  mainf.ryi.checked:=false;</p><p>  action:=cafree;</p><p><b>  end;</b></p><p>  procedure Tryf.FormCreate(Sender: TObject);</p><p&

100、gt;  var i:integer;</p><p><b>  begin</b></p><p>  ryf.Color:=rgb(220,170,140);</p><p><b>  Q1.Close;</b></p><p>  Q1.Sql.Clear;</p><

101、p>  Q1.Sql.Add('Select mc From bm ');</p><p>  Q1.Sql.Add(' order by bh');</p><p><b>  Try</b></p><p><b>  Q1.Open;</b></p><p&g

102、t;<b>  except</b></p><p>  showmessage('服務(wù)器連接error,程序退出!');</p><p>  application.Terminate;</p><p><b>  End;</b></p><p>  For I:=1 To Q1

103、.RecordCount Do</p><p><b>  Begin</b></p><p>  bm.Items.Add(Q1.FieldByName('mc').AsString);</p><p><b>  Q1.Next;</b></p><p><b>  E

104、nd;</b></p><p><b>  Q1.Close;</b></p><p>  for i:=1 to 9 do</p><p>  bh.Items.Add('0'+inttostr(i));</p><p>  for i:=10 to 99 do</p><

105、;p>  bh.Items.Add(inttostr(i));</p><p><b>  end;</b></p><p><b>  5.3工資數(shù)據(jù)模塊</b></p><p>  本模塊包括月基本工資數(shù)據(jù)、月活動工資填報、月數(shù)據(jù)存檔三個子模塊,分別用于查看修改月基本工資數(shù)據(jù),填報月活動工資數(shù)據(jù)以及對填報好的所有

106、數(shù)據(jù)存檔。</p><p>  月基本數(shù)據(jù)界面設(shè)計如圖5.4所示:</p><p>  圖5.4 月基本數(shù)據(jù)</p><p><b>  核心代碼:</b></p><p>  procedure Tjbf.BitBtn1Click(Sender: TObject);</p><p>  var

107、i,j,k:integer;</p><p><b>  s:string;</b></p><p><b>  begin</b></p><p>  if messagedlg('確認(rèn)更新數(shù)據(jù)嗎?',mtconfirmation,[mbyes,mbno],0)</p><p> 

108、 =mrno then exit;</p><p>  if bm.Text='' then exit;</p><p><b>  k:=0;</b></p><p>  for i:=1 to sg.RowCount-1 do</p><p>  for j:=1 to 10 do</p>

109、;<p><b>  begin</b></p><p><b>  try</b></p><p>  sg.Cells[j,i]:=floattostr(strtofloat(sg.Cells[j,i]));</p><p><b>  except</b></p>&

110、lt;p>  showmessage('第'+inttostr(i)+'行 第'+inttostr(j)+'列有非法數(shù)字');</p><p><b>  k:=k+1;</b></p><p><b>  end;</b></p><p><b>  end

111、;</b></p><p>  if k>0 then exit;</p><p><b>  s:='';</b></p><p>  for i:=1 to sg.RowCount-1 do</p><p><b>  begin</b></p>

112、<p>  s:=sg.Cells[0,i];</p><p><b>  Q1.Close;</b></p><p>  Q1.Sql.Clear;</p><p>  Q1.Sql.Add(' update ry set z1=:z1,z2=:z2,z3=:z3,z4=:z4,z5=:z5,z6=:z6, ');&

113、lt;/p><p>  Q1.Sql.Add('z7=:z7,z8=:z8,z9=:z9,z10=:z10,z11=:z11,k3=:k3,kbx=:kbx ');</p><p>  q1.Sql.Add(' where (bm like :bm ) and (bh like :bh)');</p><p>  q1.Parameter

114、s.ParamByName('z1').Value:=strtofloat(sg.Cells[1,i]);</p><p>  q1.Parameters.ParamByName('z2').Value:=strtofloat(sg.Cells[1,i])*0.4;</p><p>  q1.Parameters.ParamByName('z3

115、9;).Value:=strtofloat(sg.Cells[1,i])*0.6;</p><p>  q1.Parameters.ParamByName('z4').Value:=strtofloat(sg.Cells[2,i]);</p><p>  q1.Parameters.ParamByName('z5').Value:=strtofloat(sg

116、.Cells[3,i]);</p><p>  q1.Parameters.ParamByName('z6').Value:=strtofloat(sg.Cells[4,i]);</p><p>  q1.Parameters.ParamByName('z7').Value:=strtofloat(sg.Cells[5,i]);</p><

117、;p>  q1.Parameters.ParamByName('z8').Value:=strtofloat(sg.Cells[6,i]);</p><p>  q1.Parameters.ParamByName('z9').Value:=strtofloat(sg.Cells[7,i]);</p><p>  q1.Parameters.ParamB

118、yName('z10').Value:=strtofloat(sg.Cells[8,i]);</p><p>  q1.Parameters.ParamByName('z11').Value:=-(strtofloat(sg.Cells[1,i])*0.1618);</p><p>  //q1.ParamByName('z11').Asfl

119、oat:=0;</p><p>  q1.Parameters.ParamByName('k3').Value:=strtofloat(sg.Cells[9,i]);</p><p>  q1.Parameters.ParamByName('bm').Value:=copy(bm.Text,3,20)+'%';</p><

120、p>  q1.Parameters.ParamByName('bh').Value:=copy(s,1,2)+'%';</p><p>  q1.Parameters.ParamByName('kbx').Value:=strtofloat(sg.Cells[10,i]);</p><p><b>  Try</b>

121、;</p><p>  Q1.ExecSql;</p><p><b>  except</b></p><p>  showmessage('數(shù)據(jù)庫更新error 重新點擊“更新”按鈕!');</p><p><b>  exit;</b></p><p>

122、<b>  end;</b></p><p><b>  end;</b></p><p>  showmessage(' 操作 OK !')</p><p><b>  end;</b></p><p>  procedure Tjbf.bmExit(Send

123、er: TObject);</p><p>  var i:integer;</p><p><b>  begin</b></p><p><b>  Q1.Close;</b></p><p>  Q1.Sql.Clear;</p><p>  Q1.Sql.Add(&#

124、39;Select bh,xm,z1,z4,z5,z6,z7,z8,z9,z10,k3,kbx From ry ');</p><p>  q1.Sql.Add(' where (bm like :bm )');</p><p>  q1.Parameters.ParamByName('bm').Value:=copy(bm.text,3,20)+&

125、#39;%';</p><p>  Q1.Sql.Add(' order by bh');</p><p><b>  Try</b></p><p><b>  Q1.Open;</b></p><p><b>  except</b></p&g

126、t;<p>  showmessage('數(shù)據(jù)庫連接error,程序退出!');</p><p>  application.Terminate;</p><p><b>  End;</b></p><p>  sg.RowCount:=Q1.RecordCount+1;</p><p>

127、  sg.ColCount:=11;</p><p>  For I:=0 To sg.RowCount-1 Do sg.Rows[I].Clear;</p><p>  sg.Cells[0,0]:='編號姓名';</p><p>  sg.Cells[1,0]:='崗位資';</p><p>  sg.Ce

128、lls[2,0]:='計生補';</p><p>  sg.Cells[3,0]:='月效資';</p><p>  sg.Cells[4,0]:='技師補';</p><p>  sg.Cells[5,0]:='醫(yī)務(wù)補';</p><p>  sg.Cells[6,0]:=&#

129、39;護10%';</p><p>  sg.Cells[7,0]:='教護齡';</p><p>  sg.Cells[8,0]:='女工衛(wèi)';</p><p>  sg.Cells[9,0]:='公積金';</p><p>  sg.Cells[10,0]:='保險'

130、;</p><p>  //md.Items.Clear;</p><p>  //md.Items.Add(' ');</p><p>  For I:=1 To Q1.RecordCount Do</p><p><b>  Begin</b></p><p>  //

131、 md.Items.Add((Q1.FieldByName('bh').AsString)+(Q1.FieldByName('xm').AsString));</p><p>  sg.Cells[0,i]:=Q1.FieldByName('bh').AsString+Q1.FieldByName('xm').AsString;</p>

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論