畢業(yè)設(shè)計(論文)Delphi考勤信息管理系統(tǒng)_第1頁
畢業(yè)設(shè)計(論文)Delphi考勤信息管理系統(tǒng)_第2頁
畢業(yè)設(shè)計(論文)Delphi考勤信息管理系統(tǒng)_第3頁
畢業(yè)設(shè)計(論文)Delphi考勤信息管理系統(tǒng)_第4頁
畢業(yè)設(shè)計(論文)Delphi考勤信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、考勤信息管理系統(tǒng)摘要:近些年來,隨著社會的發(fā)展和科技的進步,人們的工作與生活也越來越離不開計算機,對于各大企業(yè)來說就更是如此了。在各個企業(yè)中,企業(yè)員工的考勤工作不僅工作量大,而且時效性強。過去,企業(yè)多采用簽到和報表的形式進行管理,效率和透明度較差,并且也容易出錯;隨著數(shù)據(jù)庫技術(shù)的發(fā)展和企業(yè)信息化建設(shè)的進行,使用計算機管理企業(yè)考勤工作也成為大勢所趨,它為企業(yè)的考勤工作節(jié)約了大量的人力和物力,也大大減輕了考勤工作人員的工作量。本文以“考勤信息管理系統(tǒng)”的設(shè)計和開發(fā)為例,系統(tǒng)地闡述了考勤系統(tǒng)的設(shè)計開發(fā)的全過程。包括系統(tǒng)整體設(shè)計,邏輯框架與數(shù)據(jù)流程,各個功能模塊劃分,系統(tǒng)功能模塊的設(shè)計與具體實現(xiàn)等部分

2、。關(guān)鍵詞:考勤,數(shù)據(jù)庫,delphi編程 abstract for years,along with social development and process of science and technology,mens work and life cant leave the computer.many corporations are the same as it.in the corporations, employeesjob of check on work attendance not only workload is very large,but also time is v

3、ery strong. in the past many corporations carry through managing by signing in and reporting forms, efficiency and diaphaneity are not good,and easy make a mistake,too.along with development of database technology and progress of corporation informations building,using computer to manage check on wo

4、rk attendance of corporations which it is necessary.it saves a mass of manpower and material resources and greatly lightens workload of employees. the text that it used design and exploiture as case which expounded the whole process of design and exploiture of the check on work attendance system.it

5、included the whole design of system , logic frame , data flow , partition of every function module ,design of system function modules and concrete realization and so on . key words: check on work attendance,database,delphi programme目 錄摘要 iabstract ii 第1章 緒論 11.1課題背景及目的 11.2delphi7.0 簡介 2第2章 系統(tǒng)需求分析 4

6、2.1需求分析的目的 42.2系統(tǒng)需求分析 4第3章 系統(tǒng)整體設(shè)計 53.1系統(tǒng)分析與設(shè)計 53.1.1 數(shù)據(jù)庫設(shè)計 53.1.2 系統(tǒng)功能模塊設(shè)計 73.2 主界面設(shè)計 73.2.1 窗體 73.2.2 panel和 pagecontrol組件 7第4章 功能模塊劃分 104.1系統(tǒng)登錄模塊設(shè)計 104.1.1有關(guān)文件操作 104.1.2ini 文件解析 114.1.3系統(tǒng)登錄窗口 124.2“員工信息”頁功能簡介 124.3“出勤信息”頁功能簡介 134.4“員工工資”頁功能簡介 144.5“相關(guān)查詢”頁功能簡介 154.6“密碼修改”頁功能簡介 164.7“幫助說明”頁功能簡介 174.

7、8“退出系統(tǒng)”頁功能簡介 17 第5章 系統(tǒng)運行事例 18 結(jié)論 23 致謝 24 參考文獻 25 附錄 1 26 附錄 2 第一章緒 論1.1 課題背景及目的今天,計算機的價格已經(jīng)十分低廉,性能卻有了長足的進步。它已經(jīng)被應用于許多領(lǐng)域,計算機之所以如此流行的原因主要有以下幾個方面:首先,計算機可以代替人工進行許多繁雜的勞動;其次,計算機可以節(jié)省許多資源;第三,計算機可以大大的提高人們的工作效率;第四,計算機可以使敏感文檔更加安全,等等。計算機已經(jīng)成為我們學習和工作的得力助手,我們的生活也越來越離不開它。隨著現(xiàn)代科技的進步,用計算機來進行考勤的管理也成為現(xiàn)代化企業(yè)運作必不可少的一部分。在過去我

8、們的考勤工作都是人工完成的,不僅浪費了很多的人力跟物力,而且無法保證其準確性和透明度;給企業(yè)的管理帶來了許多的不便?,F(xiàn)在利用計算機來管理我們的考勤工作,大大降低了工作人員的工作量,提高了工作效率,使原本復雜和枯燥無味的工作變得簡單而輕松了。 計算機技術(shù)特別是數(shù)據(jù)庫技術(shù)的發(fā)展為企業(yè)建立管理信息系統(tǒng),甚至對改變管理思想起著不可估量的作用。實踐證明信息技術(shù)已在企業(yè)的管理層面扮演越來越重要的角色??记谛畔⒐芾硐到y(tǒng)中主要包括了員工的基本信息(姓名、性別、所屬部門等),查詢員工的基本信息,可根據(jù)員工的實際工資情況或?qū)嶋H的出勤情況查看員工的基本信息等;另外還有密碼修改和幫助說明的功能。通過考勤系統(tǒng)我們能很容

9、易地對公司員工的信息有一個基本的了解,可以很方便地知道員工的出勤情況,通過對員工出勤信息的了解,就能計算出員工的實際工資。一切的統(tǒng)計和計算都計算機代為管理了,考勤信息管理系統(tǒng)對企業(yè)的合理化管理起到了很大的作用,它為企業(yè)信息化的建設(shè)打響了頭炮,企業(yè)的信息化建設(shè)已成為現(xiàn)代各個企業(yè)發(fā)展的需要。1.2 delphi 7.0介紹delphi是由美國inprise公司開發(fā),運行于windwos平臺上的交互式、可視化集成開發(fā)環(huán)境。和其他的可視化編程環(huán)境(如,visual c,visual basic)一樣,delphi 集程序的代碼編輯、編譯、連接、調(diào)試為一體,給編程人員提供了一個完整方便的開發(fā)界面和許多有

10、效的輔助開發(fā)工具。delphi還為編程人員自動生成框架代碼。從而省去了重復編寫框架代碼的麻煩,提高了效率。delphi是在microsoft windows操作系統(tǒng)下其于object pascal語言的可視化開發(fā)平臺,能快速開發(fā)遵循windows標準的應用程序。delphi有眾多的優(yōu)越特性,它提供了新穎的可視化設(shè)計工具,來用面向?qū)ο蟮姆椒▽indows編程的復雜性封裝起來。實現(xiàn)了將可視化設(shè)計與object pascal語言的有機集成,配有數(shù)據(jù)庫引擎,可通過sql鏈接,odbc訪問多種數(shù)據(jù)庫,并且提供了強大的開發(fā)基于客戶/服務器模式的數(shù)據(jù)庫應用的能力。今天,delphi發(fā)展了7.0版。2002

11、年,delphi7.0的發(fā)布在業(yè)界立即掀起旋風,其功能與執(zhí)行效率令許多程序設(shè)計人員瞠目。delphi7.0在ide、web、com應用,數(shù)據(jù)庫系統(tǒng),組件庫、運行期庫、編譯器及文檔等多方面提供了一些新增功能或做了很大改進。它的一些特征包括:1. dlphi7.0提供了對xml的支持,從而簡化了數(shù)據(jù)分布,優(yōu)化了數(shù)據(jù)交換。用戶可以方便地創(chuàng)建高效率的internet程序,把數(shù)據(jù)迅速發(fā)布到internet上。2. delphi7.0支持html4,使用戶能在web應用中創(chuàng)建各種類型的動態(tài)客戶端程序。3. delphi7.0增添了對ado(activex data object )的支持,用戶可以迅速實現(xiàn)

12、對終端用戶用來做商業(yè)決策的數(shù)據(jù)的一致性訪問。通過ado,delphi7.0能讓用戶快速訪問關(guān)系型或非關(guān)系型數(shù)據(jù)庫以及e-mail和文件系統(tǒng)。4. 利用internet express,系統(tǒng)集成商和獨立軟件商可以快速開發(fā)高性能的應用系統(tǒng)。把delphi7.0和interbase express結(jié)合起來使用,可以在只需少量維護工作且只占用很少系統(tǒng)資源的數(shù)據(jù)庫上進行高效率、高性能的開發(fā)。5. delphi7.0集成了一個與微軟的sourcesafe功能相似的源代碼管理teamsource。6. 利用delphi7.0中的midas 3(multi-tier distributed applicati

13、on services suite ),用戶可以創(chuàng)建高效靈活的delphi程序,以滿足日益增長的事務量和用戶數(shù)的需要。7. delphi7.0的ide的新特點主要包括:桌布的用戶化設(shè)置增強了用戶對開發(fā)環(huán)境的控制;編輯鍵映射功能讓編輯器按照用戶的習慣來工作。8. delphi7.0企業(yè)版的vcl中一共包含有200多個控件,利用這些控件,用戶可以奇跡般地加快應用程序從開始開發(fā)到推向市場的速度。第二章 系統(tǒng)需求分析2.1 需求分析的目的軟件的需求分析必須要有對原業(yè)務的一個深入了解、提取、抽象、升華的過程,管理軟件需求分析尤其如此。 軟件的需求分析是從用戶的業(yè)務中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務問

14、題,通過對用戶業(yè)務問題的分析,規(guī)劃出我們的軟件產(chǎn)品。這個步驟是對用戶業(yè)務需求的一個升華,是一個把用戶業(yè)務管理流程優(yōu)化,轉(zhuǎn)化為軟件產(chǎn)品,從而提升管理而實現(xiàn)的質(zhì)的飛躍,這一步是否成功,直接關(guān)系到開發(fā)出來的軟件產(chǎn)品能否得到用戶認可,順利交付給客戶,客戶能否真正運用我們的產(chǎn)品幫助他解決業(yè)務或管理問題。 按照軟件工程對軟件開發(fā)過程的描述,需求階段我們可以細分為需求調(diào)研和需求分析兩個小階段,需求調(diào)研需要充分細致的了解客戶目標,用戶業(yè)務內(nèi)容、流程等,這是一個對需求的采集過程,是進行需求分析的基礎(chǔ)準備。當我們已經(jīng)了解、理解了用戶的業(yè)務,于是可以開始分析需求了。2.2 系統(tǒng)需求分析本系統(tǒng)由于時間的關(guān)系,并沒有實

15、際地與用戶進行交流去了解他們的要求,而是通過自己對現(xiàn)代化企業(yè)的一些了解而做出的一些分析??记谛畔⒐芾硐到y(tǒng)中主要要解決的是:1、員工的基本信息(姓名、性別、所屬部門等)的管理; 2、員工基本信息的查詢,出勤信息及工資情況的查詢及計算; 3、給系統(tǒng)設(shè)定用戶登錄權(quán)限; 4、設(shè)定密碼更改功能等等。 以上只是簡單地對本系統(tǒng)做了些功能方面的需求分析,具體的系統(tǒng)需要完成的功能信息將在下一章的整體設(shè)計中得以具體的介紹。第三章系統(tǒng)整體設(shè)計3.1 系統(tǒng)分析與設(shè)計 基于上面的分析,按照軟件工程的思想,對考勤信息管理系統(tǒng)進行功能分析:實現(xiàn)系統(tǒng)登錄功能(密碼修改功能),并限制不同用戶(包括普通員工、人事部門人員、財務部

16、人員及管理員)登錄所查看的信息;輸入員工基本信息,包括姓名、性別、所屬部門等;瀏覽和修改員工基本信息;輸入出勤信息;輸入基本工資和獎金信息并計算實際工資;瀏覽和修改員工的出勤情況,可同時查看該員工的基本信息;瀏覽和修改員工的工資情況,可同時查看該員工的基本信息;按實際工資情況查詢員工;按姓名信息查看員工。附加功能:密碼修改功能;幫助和說明。3.1.1 數(shù)據(jù)庫設(shè)計基于以上的功能分析,可為考勤系統(tǒng)創(chuàng)建3個數(shù)據(jù)表,表的類型為paradox。paradox是delphi的標準數(shù)據(jù)庫類型,應用和維護都比較方便。將其數(shù)據(jù)表的設(shè)計如下:3.1.1 員工基本信息表(information.db) 字段名字段類

17、型字段大小關(guān)鍵字編號(bianhao)a6*姓名(xingming)a10姓名編碼(bianma)a5性別(sex)a2部門(bumen)a12職稱(zhicheng)a12住址(zhuzhi)a40基本工資(gongzi)n 表2-1 員工基本信息表3.1.2 出勤情況表(onduty.db)字段名字段類型字段大小關(guān)鍵字員工編號(bianhao)a6*月份(yuefen)a6*應出勤(ychuqin)n遲到(chidao)n早退(zaotui)n請假(qingjia)n曠工(kuanggong)n實際出勤(schuqin)n 表3-2 出勤信息表3.1.3 工資表(salary.db)字段名

18、字段類型字段大小關(guān)鍵字員工編號(bianhao)a6*月份(yuefen)a6*基本工資(gongzi)n獎金(jiangjin)n實際工資(sgongzi)n 表3-3 工資表需要說明一下的是,在員工基本信息表中設(shè)置了一個姓名的編碼字段,那是因為在查詢員工姓名時輸入中文比較麻煩,常用的辦法是提取中文姓名的每個字的首字母用于查詢,因此就增加了“bianma”字段的定義。接下來按照數(shù)據(jù)庫的結(jié)構(gòu),使用database desktop創(chuàng)建數(shù)據(jù)表,同時使用bde administrator創(chuàng)建一個名為onduty的數(shù)據(jù)庫別名,并將其路徑指定為數(shù)據(jù)表所在的目錄就行了。3.1.2 系統(tǒng)功能模塊設(shè)計 考勤信

19、息管理系統(tǒng)的主要功能模塊及其關(guān)系,如圖2.2所示: 圖3.1 考勤信息系統(tǒng)主要功能模塊3.2 主界面設(shè)計3.2.1 窗體主界面的設(shè)計是數(shù)據(jù)庫開發(fā)的關(guān)鍵步驟,因為它在某種程度上體現(xiàn)了程序開發(fā)的質(zhì)量和水平??记谛畔⒐芾硐到y(tǒng)采用多頁形式的對話框,每個選項卡實現(xiàn)一種功能,用戶可通過切換選項卡來操作整個系統(tǒng)的不同功能。這種界面的優(yōu)點是結(jié)構(gòu)緊湊,邏輯性強。在后面的運行事例里將有具體演示。3.2.2 panel和pagecontrol組件 panel組件和pagecontrol組件是在程序開發(fā)過程中經(jīng)常使用的組件,熟練掌握它們對程序的開發(fā)設(shè)計大有益處。1. panel組件 panel組件是用來在窗體中產(chǎn)生一

20、個面板,在面板中可放入其他的組件。面板可以看作是將窗體客戶區(qū)劃分為不同部分并將其他組件編組的工具。盡管面板可以有自己的文本,但很少用。而面板更多的是使用它的三維效果來增進應用程序的視覺效果。 在這方面,panel組件與bevel組件相似,盡管后者的作用不大而且功能也不強。 從圖形角度來看,面板類似于兩個bevel組件,因為它含有兩個可以使用的bevel元素。結(jié)合bevelwidth屬性值,可以實現(xiàn)不同的效果。另外,panel組件還可以處理提示。由于該組件的事件和方法較少而且不常用,下面主要介紹其屬性,當然對 屬性的修改可以在設(shè)計期或運行期來完成。 align:很多組件有該屬性,用來定義組件在窗

21、體中的位置。其可選值為alnone,altop,albotton,alleft,alright,alclient,alcustom。對于典型的工具欄,可使用altop值,若模仿狀態(tài)欄,可使用albotton值。 alignment:該屬性定義panel組件標題文本的排列方式。 bevelinner:該屬性定義面板內(nèi)框的顯示風格,即有無內(nèi)框。若有,是凸出還是凹進。 bevelouter:該屬性定義面板外框的顯示風格,即有無外框。若有,是凸出還是凹進。 borderstyle:該屬性定義面板組件的邊界類型,若為bssingle,則為單線邊界,若為bsnone,則無邊界。 borderwidth:該

22、屬性定義面板周圍邊界的寬度,其默認值為0,即無邊界。 caption:該屬性定義panel組件的標題。 color:該屬性定義panel組件的背景色。 font:該屬性包括一些子屬性??蓡螕魧傩杂疫叺陌粹o,打開“字體”對話框,進行設(shè)置。 name:該屬性定義panel組件的名稱。 hint:該屬性定義當鼠標在panel組件上移動時所顯示的文本。2. pagecontrol組件pagecontrol組件位于win32組件頁,是一組頁面集,用來構(gòu)造一個多頁對話框,它顯示多個交互頁。用戶通過選擇出現(xiàn)在頁面上部的tab,以選擇不同的選項卡。在設(shè)計時,如果要增加一個新頁面,則可以使用鼠標右鍵單擊并在彈出

23、的快捷菜單中選擇“new page”命令。如果只需建立一個單頁,則可用win32組件頁的tabcontrol組件。 pagecontrol組件的幾個重要屬性和方法: activepage 屬性。該屬性指定當前顯示的頁,該屬性的值為各個tabsheet組件的name屬性值。因為pagecontrol組件實際上是為tabsheet組件提供了一個類似的容器的功能,而真正與各個不同組件對象相對應的是tabsheet組件。通過讀取activepage屬性可以獲知用戶當前選中的是哪一個頁面。在運行期delphi提一些方法用于實時設(shè)置該屬性,例如,使用selectnextpage方法指定下一個相鄰頁為當前頁

24、,findnextpage方法可以查找下一個當前頁,返回值為該頁的name屬性。 pages屬性。該屬性含有pagecontrol組件中的所有頁面,并可通過下標問特定的頁面,其中第一頁的索引值為0,第二頁的索引值為1,依此類推??墒褂胒indnextpage方法定pagecontrol組件中的特定頁。值得注意的是,pages屬性 為只讀屬性。 pagecount屬性。該屬性確定在pages屬性中所包含的頁數(shù)。如果multiline屬性為false,則并非所有頁均可視。 multiline屬性。該屬性決定pagecontrol組件的頁面如何顯示。若其值為 true,當組件上的頁面超出時,顯示為多

25、行;若其值為false,則只能顯示一行,如果一行超出,則增加一個滾動條。 doadddockclient方法。如果在運行期在組件中添加新頁,則可以調(diào)用該方法完成各頁的必要的調(diào)整。 canshowtab方法。該方法用來決定tabsheet頁面在pagecontrol組件中能否被設(shè)置為活動頁面,如果指定的頁面被激活,則返回真。 findnextpage方法。其功能是返回指定頁的下一頁。參數(shù)goforward為false, 則該方法將返回curpage頁的前一頁。當curpage參數(shù)指定的不是pagecontrol組件中的一頁時,如果參數(shù)goforward為true,則該方法返回組件的第一頁;否則調(diào)

26、用該方法返回最后一頁。 selectnextpage方法。調(diào)用該方法可查找當前頁前或后的頁。參數(shù)goforward 決定是前一頁還是后一頁。 updateactivepage方法。調(diào)用該方法可以對當前頁面內(nèi)的屬性和所有組件進行更新,以顯示最新的數(shù)據(jù)。第四章主要功能模塊劃分4.1 系統(tǒng)登錄模塊設(shè)計 對多用戶數(shù)據(jù)庫程序來說,不同的用戶應有不同的權(quán)限。比如管理員可以無任何限制,有的用戶只有查詢的權(quán)限沒有修改的權(quán)限,有的用戶只可以輸入數(shù)據(jù)不能查詢等等。所以在數(shù)據(jù)庫程序啟動時需要輸入用戶名和密碼后才能進入,程序根據(jù)用戶名找到用戶的權(quán)限,確定哪些功能可以使用。有多種方法可以實現(xiàn)這種身份驗證機制,例如使用系

27、統(tǒng)配置文件、數(shù)據(jù)庫文件、windows注冊表操作等等。在本設(shè)計中,采用ini文件實現(xiàn)對用戶名和密碼的存儲,其缺點是安全性不太高。4.1.1 有關(guān)文件操作文件是指存放在外部存儲介質(zhì)上的數(shù)據(jù)和程序等,在delphi中使用file保留字定義文件的數(shù)據(jù)類型。 文件操作的步驟如下:(1)若文件已存在于磁盤上,則首先使用assignfile方法將文件變量與實際 文件相連。該方法在system單元中定義。其語法為:procedure assignfile(var f;filename:string);其中f是任意類型的文件變量,filename則是存在于磁盤上的外部文件名。需要注意的是,不要對一個已經(jīng)打開的

28、文件變量使用assignfile方法。 (2)接下來使用reset方法打開文件,其語法為:procedure reset(var f:file;recsize:word);文件打開后使用相應的過程或函數(shù)讀取文件的內(nèi)容,對不同的文件類型有不同的讀取方法。如果打開文件是為了在文件的末尾進行追加寫操作,需要調(diào)用append方法。(3) 對于磁盤上沒有的文件,需要創(chuàng)建。其一般步驟是:首先還是使用assignfile方法將某個文件變量與要創(chuàng)建的文件相連,然后使用rewrite方法即可創(chuàng)建新文件。其語法為: procedure rewrite(var f:file;recsize:word); 對于文件處

29、理還需要注意:(1)用戶在打開文件前應該對文件是否存在進行檢測,可使用兩種方法完成這個功能。一是使用delphi提供的fileexists函數(shù),該函數(shù)在sysutils單元中定義,其語法為:function fileexists(const filename:string):boolean; 若filename指定的文件存在,該函數(shù)將返回ture;若文件不存在,將返回false。(2)創(chuàng)建新文件前一定要先確認磁盤上是否已存在同名文件,這是因為在寫操作時使用的rewrite方法若遇到同名文件,會將現(xiàn)有文件刪除,然后建立一個空的同名新文件,新創(chuàng)建的文件會將原有的文件覆蓋掉。一般情況下,使用file

30、exists 函數(shù)檢測即可避免這樣的問題。(3)文件操作完畢后,關(guān)閉該文件。當文件關(guān)閉后,變化的內(nèi)容才會保存到磁盤上,否則改變后的文件內(nèi)容就極有可能丟失。可使用closefile方法關(guān)閉文件,該方法完成終止文件變量和外部磁盤文件之間的聯(lián)系。其語法為:procedure closefile(var f);其中f為文件變量。4.1.2 ini文件解析 ini配置文件是一種自定義格式文件,該文件按照記錄存儲方式存儲用戶設(shè)計的基本信息。我們要將系統(tǒng)登錄的用戶名和密碼存儲在該文件中,每一個記錄設(shè)計為30字節(jié)長,其中前10字節(jié)存儲用戶名 ,中間字節(jié)存儲用戶密碼,最后10字節(jié)保留,可用作權(quán)限設(shè)置等。下圖為系

31、統(tǒng)設(shè)置的ini文件結(jié)構(gòu)表:用戶名稱(10字節(jié))用戶密碼(10字節(jié))保留(10字節(jié))system740314renshirenshicaiwucaiwuguestguest 表4-1 ini文件結(jié)構(gòu)表本用戶定義了4個用戶名稱:system,renshi,caiwu,guest,分別對應著不同的權(quán)限,其中system可以擁有全部權(quán)限;renshi 用戶為人事部門人員,他們只能瀏覽或修改pagecontrol組件中除“員工工資”和“出勤調(diào)整”外的頁面內(nèi)容,而且有些功能受到限制;caiwu用戶為財務部門人員,他們只能瀏覽或修改除“員工信息”和“出勤信息”外的頁面內(nèi)容,而且有些功能也受到限制;另外,還有

32、一個guest用戶,是專門用于普通用戶登錄的,其權(quán)限將受到較大的限制。當然,ini配置文件可以根據(jù)不同的應用系統(tǒng),以不同的方式定義,表3-1只是一種簡單的方法。ini文件中也可以包含很多用戶信息。一個系統(tǒng)可以有一個配置文件,也可以有多個配置文件,有些系統(tǒng)為了加密的需要,將配置文件的結(jié)構(gòu)定義得復雜一些,而且附帶一些加密算法,目的是為了給解密者增加解密的難度,但同時也增加了設(shè)計的難度。4.1.3 系統(tǒng)登錄窗口上一節(jié)已對ini配置文件進行了一些介紹,并給出了本系統(tǒng)登錄時所要定義的幾個用戶和不同用戶對應的不同的功能權(quán)限。這一節(jié)就介紹系統(tǒng)登錄窗口的設(shè)計和所能實現(xiàn)的功能。 系統(tǒng)登錄主要完成的是:當用不同的

33、用戶進行登錄的時候,當然本系統(tǒng)固定了system、renshi、caiwu、guest 四個用戶;由于各個用戶所擁有的權(quán)限是不一樣的,所以所顯示的界面也不是完全一樣的。另外,在很多情況下,用戶們希望輸入密碼后直接按enter鍵就能完成系統(tǒng)登錄過程,進入系統(tǒng)主界面。本系統(tǒng)也考慮到了這點,也加入了此項功能。再則,就是密碼的驗證控制,在系統(tǒng)登錄窗口要進行密碼的驗證,如果輸入3次不正確,將禁止用戶繼續(xù)登錄,并退出應用程序。4.2 “員工信息”頁功能簡介 “員工信息”頁的作用是輸入和瀏覽員工的基本信息,而對于人事部門的用戶和管理員登錄還要考慮可以更改員工的基本信息。本頁面可分為兩部分。(1)左半部分是用

34、來進行員工的基本信息輸入,主要有員工的編號、姓名、編碼、性別、職稱、部門、住址和基本工資。需要指出的是,員工的編號一般是數(shù)字字符,必須要強制用戶輸入數(shù)字字符而不能輸入其他的字符。(2)“員工信息”右半部分主要是顯示員工的基本信息的內(nèi)容。同時,當左邊輸入添加的員工基本信息時也可加入到右邊的顯示中,可以對員工的基本信息進行修改。當然不是任何一個用戶登錄后都可以對員工的基本信息進行修改,因此將設(shè)計中的dbnavigator組件的visible屬性設(shè)置為false,而對system和renshi兩個用戶,則在程序運行時,將visible屬性設(shè)置為true。 另外,guest用戶只是作為普通員工的登錄,

35、對于員工信息數(shù)據(jù)庫只有瀏覽的權(quán)利。所以,以guest用戶身份登錄時,其數(shù)據(jù)是只讀的,“員工信息”頁只是顯示員工的基本信息,只能瀏覽而不能執(zhí)行其他操作。4.3 “出勤信息”頁功能簡介 “出勤信息”頁的作用是輸入、瀏覽以及修改員工的出勤信息,并對不同身份登錄的用戶提供功能限制。本頁使用dbchart組件用來演示員工的出勤情況,還可實現(xiàn)與“員工基本信息表”的表間關(guān)聯(lián)。(1)該頁的左邊需要顯示一個圖表。dbchart組件不能直接顯示各種圖表,它要依靠它的子成員series來實現(xiàn)圖表的繪制。這里的圖表可以分為兩類:一類是標準圖表,包括line、bar、area、pie、arrow等等;另一類是函數(shù)類型的

36、圖表,這樣的圖表可以對其他圖表中的數(shù)據(jù)進行運算,然后加入到新建的圖表當中。在這里,我使用的是標準圖表中的pie。 設(shè)計其為一個員工缺勤情況示意圖。設(shè)置紅-請假、藍-遲到、黃-早退、綠-礦工,通過不同的顏色對員工的缺勤情況進行顯示。(2)該頁的右邊部分是連接到數(shù)據(jù)表onduty.db上的,它就顯示了員工出勤信息表的內(nèi)容。 (3) 前面已經(jīng)定義了實際出勤(schuqin)字段為計算字段,所以將遲到和早退情況視為缺勤0.5天,將請假視為缺勤0.3天,礦工視為1天,并將計算的結(jié)果賦值給實際出勤字段。 (4)“刪除記錄”按鈕是專門為system和renshi用戶設(shè)置的,因為只有這兩個用戶才有權(quán)限進行該操

37、作。它的功能主要是刪除員工出勤表中已經(jīng)存在的一條信息,同時還可對表中顯示的數(shù)據(jù)進行修改。(5)很多時候,用戶需要在了解某位員工出勤情況的時候,能夠隨時查看該 員工的基本信息。基于這一點的考慮,本系統(tǒng)設(shè)置了一個“員工信息”按鈕,通過這個按鈕,用戶可直接切換到“員工信息”頁查看員工的基本信息。 (6) 對于system和renshi用戶該頁還設(shè)置了一個“輸入出勤信息”按鈕,而對于guest用戶該按鈕是不可用的。單擊該按鈕就會出現(xiàn)一個“信息錄入”的窗口可輸入某位員工的出勤信息。輸入完畢后,在表中將顯示添加的記錄。(7) 由于guest用戶沒有權(quán)限進行出勤信息的輸入,因此在登錄校驗中就需添加代碼bit

38、btn.enabled:=false;目的是禁止guest用戶使用“輸入出勤信息”按鈕。4.4 “員工工資”頁功能簡介 “員工工資”頁主要包含了員工的編號、月份、調(diào)整系數(shù)、基本工資、獎金和實際工資幾個部分。可通過輸入員工編號、基本工資和獎金并選擇調(diào)整系數(shù)計算出員工某個月份的實際工資。(1)員工工資的計算分為兩個部分:一部分是員工的基本工資,另一部分是員工的獎金,與員工出勤之間有較大的關(guān)系。最后的實際工資計算公式為:實際工資 = 基本工資 + 獎金 調(diào)整系數(shù)(出勤)。 (2)在單擊“實際工資”按鈕時,將顯示本月該員工的實際工資,同時將實際工資值舔加到“實際工資”編輯框中。另外,“輸入數(shù)據(jù)”按鈕的

39、設(shè)計狀態(tài)為不激活,在單擊“實際工資”按鈕后,則激活該按鈕,以便在右邊的dbgrid組件中輸入員工的工資數(shù)據(jù)。(3)“輸入數(shù)據(jù)”按鈕的主要目的就是將用戶輸入的數(shù)據(jù)添加到數(shù)據(jù)表中,同時在右邊的dbgrid組件中顯示出來。(4)“刪除記錄”按鈕主要是使有權(quán)限的用戶(system和caiwu)刪除員工的工資信息記錄。當用戶單擊該按鈕時,就會出現(xiàn)“真的要刪除嗎?”的對話框,確定其對話框就執(zhí)行了刪除命令,取消就不執(zhí)行刪除命令。(5)最后,與“出勤信息”頁相似,只要單擊“員工信息”按鈕,對于指定編號的用戶可以查看其對應的員工信息。實現(xiàn)“員工工資”頁與“員工信息”頁的切換。(6)另外需要說明的是,企業(yè)員工之間

40、工資一般都是保密的,guest用戶沒有權(quán)限對員工工資進行了解,所以在用guest用戶登錄時,“員工工資”頁是不可見的。這樣就確保了各個員工之間工資的保密性。4.5 “相關(guān)查詢”頁功能簡介 本頁可實現(xiàn)員工工資和出勤查詢,還可依據(jù)員工姓名編碼查詢該員工的基本信息。在delphi中數(shù)據(jù)庫的查詢功能主要通過query組件,并用sql語言實現(xiàn),在這里主要用到了查詢命令select語句。1select語句介紹:select語句的一般形式如下:select 列名 from 表名 where 查詢條件 2 有關(guān)密碼修改 group by 列名 order by 列名 having. 其中列名一般由一組字段名、

41、*號、表達式、變量等構(gòu)成。表名指定數(shù)據(jù)的來源,查詢條件則有多種表達方式。2查詢方式介紹: (1) 用戶可以對員工的工資進行查詢。在“關(guān)于工資”一欄選擇實際工資的范圍,再點擊旁邊的按鈕就可實行關(guān)于工資的查詢,查詢的結(jié)果將通過下面的dbgrid組件顯示出來。當然這里的查詢也是通過添加了sql語言的查詢語句來實現(xiàn)的。語句具體形式為:select * from salary where sgongzi between:p1 and:p2 其中p1和p2由用戶在兩個編輯框中輸入的內(nèi)容賦值。(2)用戶還可以對員工的出勤進行相關(guān)查詢。與工資查詢部分相同,出勤查詢也是通過一個范圍進行查找的,它是對出勤天數(shù)選擇

42、范圍來查詢的,同樣的,查詢結(jié)果也是通過它下面對應的dbgrid組件來顯示的。也要添加相應的select查詢語句,只是對應的表從salary改為onduty。(3)除了以上兩個查詢功能外,還可通過員工的姓名編碼來查找某位員工的基本信息。用戶只需在“姓名編碼”處輸入一定的查詢條件,就可在它對應的dbgrid組件中獲得相關(guān)的該員工的基本信息。“相關(guān)查詢”頁主要是通過使用sql語言中的 select 語句來實現(xiàn)對員工工資、出勤信息和員工基本信息的查詢。本頁的設(shè)計其實就是sql語言的select 語句的應用;事實上,select 語句的查詢功能是非常強大的,在本系統(tǒng)中的應用是比較簡單的幾種查詢功能。4.

43、6 “密碼修改”頁功能簡介 本頁面主要是提供一個用戶密碼修改的功能,目的是為了提高系統(tǒng)的安全性和可靠性。1 密碼設(shè)置信息的設(shè)計本頁的“密碼設(shè)置信息” 是可以動態(tài)地滾動顯示的,設(shè)計使用了delphi的canvas類,用于滾動顯示密碼使用須知,增加程序的易用性。標準的組件窗口如編輯框、列表框等等都需要一個畫布,使它們的內(nèi)容能在窗口中以豐富的形式體現(xiàn)出來。(1)canvas提供了一些屬性、方法和事件,為繪圖應用定義畫刷、畫筆與字體類型,繪制和填充變化的形狀與線,顯示文本,提交圖像,以及當前圖像改變時激活某些事件。(2)實現(xiàn)滾動文字效果的基本思路是:選擇一個有 tcanvas 類的組件,如image,

44、然后用某種顏色填充畫布,接著使用其他顏色顯示固定尺寸的字符串,同時使用timer組件控制不斷地改變字符串的位置。由于原來位置的字符串不能自動消失,所以需要用填充顏色覆蓋多余部分的字符串,這樣就可以實現(xiàn)平滑的文字滾動效果。該頁面的主要工作是完成密碼修改工作。前面已經(jīng)從username和userpass兩個變量中獲得了用戶名和密碼,由于用戶名已經(jīng)定義,所以在此只需要對密碼進行處理就可以了。(1)當進行密碼修改時,需先輸入舊密碼。由于舊秘碼的輸入有可能出現(xiàn)輸錯的可能,所以當舊密碼輸入不正確時,系統(tǒng)將給出“舊密碼輸入不正確,請重新輸入!”的提示信息。(2)同樣,在“驗證新密碼”編輯框中輸入的字符串要與“新密碼”編輯框中輸入的字符串完全一致才行,否則也是不允許的。當密碼修改成功時,系統(tǒng)將給出“您的密碼已經(jīng)修改!”的提示信息。4.7 “幫助說明”頁功能簡介 本頁面的幫助窗口采用流行的雙窗格形式,易于瀏覽和演示。(1)“幫助說明”頁面的左邊是一個treeview組件的應用,它以樹狀結(jié)構(gòu)方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論