版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
課程設計〔論文〕論文題目企業(yè)考勤信息管理系統(tǒng)摘
要隨著計算機的普及和計算機科學技術的飛速開展,人們開場越來越多地利用計算機解決實際問題。員工考勤管理是企業(yè)信息管理的重要局部面對大量的人事工資信息,采用人力處理將浪費大量的時間、人力和物力,且數據的準確性低。因此,開發(fā)一個界面友好,易于操作的員工考勤管理軟件進展自動化處理變得十分重要,這正是本系統(tǒng)開發(fā)的目的和意義。本工程開發(fā)過程中,主要進展的工作是需求分析、概要設計、詳細設計、工程應用的前期準備包括培訓、硬件配置等。軟件采用根本對話框界面,能滿足中小型企業(yè)員工考勤管理的根本需要。本論文針對該軟件的各個方面,開發(fā)過程中涉及到的技術和工具都分別進展了闡述。根據以上分析本系統(tǒng)主要模塊如下:1登錄窗口模塊,2主窗口模塊,3添加出勤記錄模塊,4加班記錄模塊,5請假記錄模塊,6出差記錄模塊,7月度出勤情況表模塊??傊?,本次設計工作是一次理論聯(lián)系實際的過程。對我們來說不僅是一次難得的學習時機,而且通過實踐使我們深刻地了解了這些抽象概念的實質,為我們將來的工作奠定了扎實地根底。AbstractAlongwithcomputerpopularizationandcomputersciencetechnologyrapiddevelopment,thepeoplestarttousethecomputersolutionactualproblemmoreandmoremany.Thestaffchecksattendancethemanagementistheenterpriseinformationmanagementimportantpartfacingthemassivehumanaffairswagesinformation,willusemanpowerprocessingtowastethemassivetime,themanpowerandthephysicalresource,alsothedataaccuracywillbelow.Therefore,developsacontactsurfacetobefriendly,easytooperatethestaffchecksattendancethemanagementsoftwaretocarryonautomatedprocessingtobecomeextremelyimportant,thisispreciselythissystemdevelopmentgoalandthesignificance.Inthisprojectperformancehistory,mainlycarriesontheworkisthedemandanalysis,theoutlinedesign,thedetaileddesign,theprojectapplicationearlierperiodpreparationincludingtraining,thehardwaredispositionandsoon.Thesoftwareusesthebasicdialogboxcontactsurface,cansatisfythesmallandmedium-sizedenterprisestaffstocheckattendancethemanagementbasicneed.Presentpaperinviewofthissoftwareeachaspect,Intheperformancehistoryinvolvesthetechnologyandthetoolseparatelyhaveallcarriedontheelaboration.Accordingtoaboveanalyzesthissystemmainmoduletobeasfollows:1registersthewindowmodule,2mainwindowmodules,3increasegoingoutondutyrecordmodule,4workingovertimerecordmodule,5asksforleavetherecordingmodule,6businesstriprecordmodule,inJulygoingoutondutysituationtablemodule.Inbrief,thisdesignworkisaapplytheorytorealityprocess.Notonlytomeisararestudyopportunity,moreovermademethroughthepracticetounderstandprofoundlytheseabstractconceptessence,futuretheworkhaslaidsolidlythefoundationforme.Keyword:Checkingattendance,system,information目錄TOC1論緒 1應用背景 11.2開發(fā)工具的選擇 1簡介 1使用VisualC++編程的理由 2面向對象的應用效勞層設計 2論文的工作介紹 32系統(tǒng)總體設計 42.1
系統(tǒng)需求分析 42.2
系統(tǒng)概要設計 52.2.1
系統(tǒng)構造設計 52.2.2
數據庫設計 72.3
系統(tǒng)詳細設計 143系統(tǒng)應用程序設計 163.1
系統(tǒng)程序框架的組成 163.2登錄認證對話框的實現 173.3
主對話框窗體功能的實現 183.4
上班時間設置窗體功能的實現 193.5
考勤修改窗體功能的實現 203.6添假出勤記錄屬性頁的實現 213.7加班記錄屬性頁功能的實現 223.8請假和出差屬性頁功能的實現 233.9考勤統(tǒng)計模塊功能的實現 254系統(tǒng)開發(fā)總結 264.1完畢語 264.2參考文獻 264.3致謝 265附錄 281緒論應用背景隨著經濟的開展,企業(yè)的規(guī)模不斷擴大,人員流動日趨頻繁,人員出入考勤管理的工作量也隨之增加,以往的人工處理方式對于員工很多的企業(yè)來說就顯得力不從心,利用現代計算機技術可使考勤人員管理從繁重的勞動中解脫出來,特別是對于人員出勤檔案的查詢可做到更及時,更準確。方便員工的出勤統(tǒng)計情況等各方面的工作??记谥贫仁敲總€企業(yè)單位所必需的,計算機的出現使員工出勤情況的記錄和統(tǒng)計工作變的十分簡單。通過開發(fā)一個企業(yè)企業(yè)員工管理系統(tǒng),可使企業(yè)員工的出勤管理工作系統(tǒng)化,標準化和自動化,從而到達全面提高企業(yè)員工考勤管理效率的目的。1.2開發(fā)工具的選擇本系統(tǒng)是在開發(fā)環(huán)境下,采用Dialogbased的應用程序框架。由一個主對話框和假設干個功能對話框組成。系統(tǒng)采用microsoftoffice中的Access2000來設計數據庫,再連接數據源。簡介
是Microsoft公司開發(fā)的基于C/C++的集成開發(fā)工具,它是VisualStudio中功能最為強大、代碼效率最高的開發(fā)工具。
與以前的版本相比有了多方面的改良。它的編譯器、調試器、連接器、編輯器、資源編輯器都有所加強,在編輯器中還提供了自動語句生成功能,編輯器會像VisualBasic一樣自動提示函數的參數、對象的成員。另外,還提供了很多向導。MFC提供了一些新的類,提供了更強大的數據訪問功能。
用戶可利用以兩種方式編寫Win32應用程序,一種方式是基于WindowsAPI的C編程方式,另一種是基于MFC的C++編程方式。C編程方式是傳統(tǒng)的、久經考驗的編程方式,代碼的效率較高,但開發(fā)難度與開發(fā)的工作量大。C++編程方式代碼運行效率相對較低,但開發(fā)難度小、開發(fā)工作量小、源代碼效率高。C編程方式的用戶己經很少,本書將以C++編程方式向用戶介紹利用的程序設計。使用VisualC++編程的理由VisualC++的集成開發(fā)環(huán)境提供了一個快速的框架,很大地提高了編程效率,但是,要真正掌握VisualC++6.0Windows下編程,通常是調用WindowsAPI得以實現.將大量地WindowsAPI以C++格式進展封裝,通MPFC方式提供應開發(fā)人員,大大簡化了開發(fā)人員地編程工作,提供了工作效率.因而,要學好VisualC++,MFC地掌握是關鍵.開發(fā)的程序代碼簡練,運行速度快.中,提供了兩個功能強大的編程工具:AppWizard和ClassWizard.利用的AppWizard可以在很短的時間內創(chuàng)立出Windows應用程序的框架;二ClassWizard,則可以在應用程序框架之上迅速增加新的類,成員變量與函數,使Windows編程得以快速實現,兩者結合,讓Windows下的編程變得非常簡單.面向對象的應用效勞層設計N層的應用軟件系統(tǒng),由于其眾多的優(yōu)點,已經成為典型的軟件系統(tǒng)架構,也已經為廣闊開發(fā)人員所熟知。在一個典型的三層應用軟件系統(tǒng)中,應用系統(tǒng)通常被劃分成以下三個層次:數據庫層、應用效勞層和用戶界面層。如以下圖所示:本系統(tǒng)也是采用三層應用效勞設計,分別是數據庫層、應用效勞層和用戶界面層,分三層逐步展開詳細的設計。論文的工作介紹緒論局部介紹了本系統(tǒng)的應用背景以及對數據庫開發(fā)工具的選擇。第二章是本文的主體,按照軟件工程的要求,從需求分析開場,經過概要設計最后到詳細設計,完成對整個系統(tǒng)的設計。
第三章根據第二章的設計結果利用Access2000和進展了具體的窗體和應用程序設計。
總結局部介紹了設計體會和編程體會,并指出了系統(tǒng)設計中的缺乏和改良的方向3系統(tǒng)總體設計
軟件系統(tǒng)的總體設計大約要經歷可行性分析和工程開發(fā)方案,需求分析,概要設計,詳細設計,編碼,測試以及維護等七個階段。可行性分析和工程開發(fā)方案在前面已經表達,下面所要做的是進展軟件需求分析,概要設計和詳細設計。編碼過程將在下一節(jié)論述,而測試和維護過程不在本文敘及.
系統(tǒng)需求分析在經過前一階段的分析之后,我確定了我的開發(fā)課題為企業(yè)員工考勤管理系統(tǒng)?,F在所要做的是要準確定義系統(tǒng)必須做什么以及系統(tǒng)必須具備的功能。
軟件需求分析中我采用構造化分析方法〔structuredanalysis,簡稱sa〕,sa是面向數據流進展需求分析的方法,像所有的軟件分析方法〔如面向對象分析方法、idef方法等等〕一樣,sa也是一種建?;顒?,它使用簡單易讀的符號,根據軟件內部數據傳遞、變換的關系,自頂向下逐層分解,描繪滿足功能要求的軟件模型。
在系統(tǒng)中我采用數據流圖〔dfd〕這種半形式化的描述方式表達需求。它是一種功能模型,以圖形的方式描繪數據在系統(tǒng)中流動和處理的過程,只反映系統(tǒng)必須完成的邏輯功能。它有四種根本圖形符號:
◆→:箭頭,表示數據流;
◆〇:圓或橢圓,表示加工;
◆═:雙杠,表示數據存儲;
◆□:方框,表示數據的源點或終點。,頂層流圖僅包含一個員工,它代表被開發(fā)系統(tǒng),它的輸入流是該系統(tǒng)的輸入數據了,輸出流是該系統(tǒng)的輸出數據;底層流圖是指其加工不需要再做分解的數據流圖,中間層流圖表示對其上層父圖的細化,它的每一步操作可能繼續(xù)細化成子圖。出勤的原始記錄主要來源于考勤機,并且以固定格式保存在數據庫中。考勤管理系統(tǒng)的任務是如何處理這些數據.系統(tǒng)的數據流程如下:
通過以上的數據流圖之后,我們已大體地了解了系統(tǒng)的功能和目標,接下來所要做的就是系統(tǒng)功能模塊的劃分和數據庫的設計,也就是系統(tǒng)的概要設計。
系統(tǒng)概要設計在軟件需求分析階段,搞清楚了軟件“做什么〞的問題,形成了目標系統(tǒng)的邏輯模型?,F在我們所要做的就是要把軟件“做什么〞的邏輯模型變換為“怎么做〞的物理模型,即著手實現軟件的需求。首先,我們需要描述的是系統(tǒng)的總的體系構造。2.2.1
系統(tǒng)構造設計系統(tǒng)的概要設計中最重要的就是系統(tǒng)的模塊化。模塊化是指解決一個復雜問題時自項向下逐層把軟件系統(tǒng)劃分成假設干個模塊的過程。每個模塊完成一個特定的功能,所有的模塊按某種方法組織起來,成為一個整體,完成整個系統(tǒng)所要求的功能。
將系統(tǒng)劃分為多個模塊是為了降低軟件系統(tǒng)的復雜性,提高可讀性、可維護性,但模塊的劃分不能是任意的,應盡量保持其獨立性。也就是說,每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單,即盡量做到高內聚低耦合,提高模塊的獨立性,為設計高質量的軟件構造奠定根底。
在系統(tǒng)的概要設計中我采用構造化設計〔structuredesign,簡稱sd〕,sd以需求分析階段產生的數據流圖dfd為根底,按一定的步驟映射成軟件構造。我首先將整個系統(tǒng)化分為幾個小問題,小模塊,在系統(tǒng)中,我設計了上下班時間設置、出勤記錄管理、和考勤統(tǒng)計管理3個小模塊。然后,進一步細分模塊,添加細節(jié)。比方,出勤記錄管理我又將其分為添加修改出勤管理、加班管理、請假管理;出差管理(即是代理出勤管理)等等。
以下就是系統(tǒng)的構造圖:〔在這里為了表達方便我將構造圖分開來表達?!吵銮诮y(tǒng)計情況出勤情況記錄考勤管理系統(tǒng)
出勤統(tǒng)計情況出勤情況記錄考勤管理系統(tǒng)在得到系統(tǒng)的第一層功能模塊圖后,經過進一步地細化,得一系統(tǒng)的子功能模塊圖:出勤情況記錄出勤情況記錄出差情況記錄添加出勤情況請假情況記錄加班情況記錄2.2.2
數據庫設計
1
、er圖設計
在系統(tǒng)設計的開場,我首先考慮的是如何用數據模型來數據庫的構造與語義,以對現實世界進展抽象。目前廣泛使用的數據模型可分為兩種類型,一種是獨立于計算機系統(tǒng)的“概念數據模型〞,如“實體聯(lián)系模型〞;另一種是直接面向數據庫邏輯構造的“構造數據模型〞。在本系統(tǒng)中我采用“實體聯(lián)系模型〞〔er模型〕來描述數據庫的構造與語義,以對現實世界進展第一次抽象。er模型直接從現實世界抽象出實體類型及實體間聯(lián)系,然后用er圖來表示數據模型。它有兩個明顯的優(yōu)點:接近于人的思維,容易理解;與計算機無關,用戶容易承受。但er模型只能說明實體間語義的聯(lián)系,不能進一步說明詳細的數據構造,它只是數據庫設計的第一步。
er圖是直觀表示概念模型的工具,它有四個根本成分:
◆矩形框,表示實體類型〔考慮問題的對象〕。
◆菱形框,表示聯(lián)系類型〔實體間的聯(lián)系〕。
◆橢圓形框,表示實體類型和聯(lián)系類型的屬性。對于關鍵碼的屬性,在屬性名下劃一橫線。
◆直線,聯(lián)系類型與其涉及的實體類型之間以直線連接。
本系統(tǒng)為企業(yè)員工考勤管理,主要管理員工的出勤、請假、出差和加班等事項。系統(tǒng)根據需要可以記錄出勤人員的信息,同時還需要了解員工的請假、出差和加班等的記錄情況。依據考勤管理的實際情況,考慮了多方面的因素以后,確定系統(tǒng)的er圖。
考勤管理系統(tǒng)的E-R圖如下圖在該數據庫中,我們設計了六個實體,分別是員工、出勤管理、加班管理、請假管理;出差管理,月度考勤統(tǒng)計管理。在本系統(tǒng)中員工是核心,也是根本,沒有了員工其它的也就沒有什么意義了。員工記錄的添加是考慮到出勤記錄問題,也就是說,在出勤管理的實際運用中,需要記錄每個員工的具體情況這樣才方便月度的統(tǒng)計,特別是由于員工的工資要按工作時的多少發(fā)放,所以在設計數據庫時,,員工記錄這一實體非常重要。通過這一個er圖我們可以比擬清楚地了解員工工作時間的多少,及其具體的情況,從員工的出勤到請假,加班等情況的勤奮情況及其員工的素質,同時也可以為以后的查詢或核對提供一定有用的信息。
下面就是各實體及聯(lián)系類型的屬性即數據庫的邏輯設計,所以考勤管理系統(tǒng)的E-R圖轉換為關系表為:員工〔員工號,員工密碼,權限,姓名〕出勤記錄〔員工號,記錄編號,出入狀態(tài),出入時間〕加班記錄〔員工號,記錄編號,加班時間,日期〕請假記錄〔員工號,記錄編號,起始時間,完畢時間,緣由〕出差記錄〔員工號,記錄編號,起始時間,完畢時間,具體描述〕因為每一個根本表關系都是完全依賴且沒有傳遞依賴,所以關系到達3NF范式2、數據庫表格設計
在完成系統(tǒng)的er圖之后,需要將er模型轉化為關系模型,也就是說,要設計出數據庫所需要的表格。在這里,我選用的是關系數據庫。因為關系數據庫中的二維表格可以很清楚地描述數據之間的聯(lián)系。
我在系統(tǒng)中定義的表格都嚴格地按照范式的思想和要求去完成,數據庫中的所有表格都到達了三范式的要求。根據系統(tǒng)er圖,針對本系統(tǒng)的特點,在對所搜集的數據進展標準化之后,定義了如下六張表格,分別是ATTENDANCE出勤記錄表,LEAVE請假記錄表,OVERTIME加班記錄表,ERRAND出差記錄表,員工及密碼信息表。通過對這六張表格的操作可以較好地完成系統(tǒng)設計的各項功能,六張表格之間有著不同程度的聯(lián)系。ATTENDANCE出勤記錄表字段名稱
數據類型
說明
person
文本
員工編號
in_out
文本
出入情況
io_time
日期/時間
出入時間
圖1ATTENDANCE出勤記錄表出勤記錄表主要用于記錄員工出入情況和時間的詳細信息,包括記錄號、員工、出入情況和時間、各類信息,它即是該數據庫的主表,是系統(tǒng)主界面的主要內容。
在該表中員工編號是主鍵,出入情況和時間為其屬性成員。做為備注有一點說明,我的數據庫中備注的數據類型是文本,而不是備注類型,主要考慮到該字段的長度并不大,而且在VisualC++中文本數據類型的處理也比擬方便一點。
圖2LEAVE請假記錄表字段名稱數據類型
說明
person
文本
員工編號
start_time
日期/時間
假期開場時間
end_time
日期/時間
假期完畢時間
reason文本
請假緣由
LEAVE請假記錄表主要是記錄員工的請假情況,請假的開場時間和完畢時間,以方便以后員工的統(tǒng)計情況。圖3OVERTIME加班記錄表person
文本
員工編號
work_hours
數字加班時間
work_date
日期/時間
加班日期
OVERTIME加班記錄表主要是記錄員工的加班時間長度和日期如圖3所示。圖4ERRAND出差記錄表person
文本
員工編號
start_time
日期/時間
假期開場時間
end_time
日期/時間
假期完畢時間
discription文本
具體描述ERRAND出差記錄表主要是記錄員工的出差起始時間/完畢時間和具體描述。圖5PERSON員工信息表
字段名稱
數據類型
說明Person文本
員工編號passwd文本
密碼
authority文本
用戶權限
name文本員工姓名sex
文本性別
birthday
日期/時間
生日
job
文本
職務edu_level
文本
受教育程度specialty文本
專業(yè)技能address文本
家庭住址tel文本聯(lián)系
PERSON員工信息表員工信息表主要用于記錄有關員工的各類信息,包括姓名、職稱、出生日期、聯(lián)系、等。它主要用來為系統(tǒng)提供員工的有關信息,因為在系統(tǒng)中,出勤管理、加班管理、請假管理;出差管理,月度考勤統(tǒng)計管理操作均與員工有著一定的聯(lián)系,需要查找有關此項記錄有關的員工信息
等都要用到這個表。圖6COUNTER信息表字段名稱
數據類型
說明Counter_value數字計數值Descrtption文本描述COUNTER信息表主要是記錄員工的統(tǒng)計工作。圖7DEPARTMENT信息表字段名稱
數據類型
說明Name文本部門名稱Manager文本部門經理Intro備注簡介DEPARTMENT信息表主要是記錄員工部門里面的各種信息。圖8ATTENDANCE—STAT信息表字段名稱
數據類型
說明Year_month文本統(tǒng)計月份Person文本員工號Work_hour數字累計工作時間Over_hour數字累計加班時間Leave_hour數字累計請假時間Errand_hday數字累計出差時間Late_times數字遲到次數Early_times數字早退次數Absent_times數字曠工次數ATTENDANCE—STAT信息表主要用于記錄有關統(tǒng)計的詳細信息,主要是按月度來統(tǒng)計包括員工的工作時間、加班時間,累計請假時間,累計出差時間,遲到和早退的次數等信息。通過以上設計已經完成了系統(tǒng)的概要設計,當我們有了系統(tǒng)的功能模塊圖和數據庫之后,就需要著手去實現每一個模塊,為每一個功能設計程序流程圖,這也就是系統(tǒng)的詳細設計。
3.3
系統(tǒng)詳細設計在前面的概要設計中,已將系統(tǒng)劃分為多個模塊,并將它們按照一定的原則組裝起來,同時確定了每個功能及模塊之間的外部接口?,F在所要做的就是確定每個模塊具體執(zhí)行過程,也可以說是“過程設計〞。
由前一階段產生的系統(tǒng)功能模塊圖,我為系統(tǒng)的主要局部設計了如下程序模塊圖:通過以上步驟,根本上完成了對整個系統(tǒng)的總體設計,接下來所要做的就是軟件的編碼工作。3系統(tǒng)應用程序設計3.1
系統(tǒng)程序框架的組成本實例采用dialogbased的應用程序框架.由一個主對話框和假設干個功能對話框組成,其中功能對話框登陸對話框和上下班時間設置對話框都是非模態(tài)對話框用AppWizard生成程序框架,參加數據庫支持.在MFCAppWizar-Step1中選擇DialogBased選項,其余均采用缺省配置.本程序數據庫的操作是通過MFC的ODBC類實現的,為了使用ODBC類,需要在stdafx.h中參加#include“〞一行.因本程序只需連接一個數據庫,所以定義了一個CDatadase型的全局變量db,一次性翻開和關閉數據庫,方便程序的編寫.數據庫的翻開在登錄認證對話框中.在主程序完畢前關閉數據庫,因此在App類的ExitInstance()函數中參加以下代碼;if(db.Isopen())db.Close();使用全局數據庫變量db,需要在其他地方使用他的文件中參加以下語句:ExternDatabasedb;為了訪問數據庫中的表格,本程序從CRecordset中派生8個類,分別用于封裝所需訪問的表格,如以下圖表所示.這些類通過RFX(RecordFieldExchange)機制將成員變量也表格中的字段值聯(lián)系起來,通過訪問成員變量可以訪問當前記錄中字段的值.CRecordset派生類在Acess數據庫中對應的表格:CRecordset表格CAttendanceRSATTENDANCE出勤記錄表CCounterRSCOUNTER計數器表CdepattRSDEPARTMENT部門信息表CerrandRSERRAND出差記錄表CerrandRSCLeaveRSCOvertimeRSOVERTIME加班記錄表CPersonRSPERSON員工個人信息表CStatRSATTENDANCE_STAT月度考勤統(tǒng)計表3.2登錄認證對話框的實現首先在控制面板中建立ODBC數據源,數據源名稱為MISDB,運行程序,進入登陸界面〔界面一〕。用戶名為HONG,密碼為123。登陸窗口對話框,包括三個輸入框和兩個按鈕。主要控件類型,ID和對應的成員變量及說明見見表。登陸窗口對話框的封裝類為CLoginDlg。界面一:登錄認對話框其中兩個Button采用了缺省ID,即IDOK和IDCANCEL,其中對IDOK的點擊加了登錄代碼,CLoginDlg類需要用到加密類,為了保證統(tǒng)一,加密類使用了CCrypt類,需要在cpp文件開頭參加#include“CCrypt〞一行。另外,為了使用全局變量數據庫變量db,需要在cpp文件開頭參加下面的語句:externCDatabasedb;改變"登錄人事管理系統(tǒng)"字體的類型為華文彩云和需要在OnInitDialog()添加下面的代碼。BOOLCLoginDlg::OnInitDialog() CDialog::OnInitDialog(); m_font.CreatePointFont(180,"華文彩云",NULL);GetDlgItem(IDC_STATIC_LOGINTEXT)->SetFont(&m_font,true); //如數據庫為翻開狀態(tài),則關閉 if(db.IsOpen())db.Close();在用戶的“登陸〞按鈕功能實現的代碼在voidCLoginDlg::OnOK()函數中見附錄最侯為了先運行登錄認證對話框,還需在App類的InitInstance()函數中加代碼://顯示登錄對話框 CLoginDlgLoginDlg; if(LoginDlg.DoModal()!=IDOK)returnFALSE;3.3
主對話框窗體功能的實現用戶登錄后即顯示主對話框窗口,主對話框包括5個按鈕,分別實現5項功能,封裝主對話框的類是CAttendanceDlg,主要界面及說明如下:界面二:主對話框在CAttendanceDlg中定義以下成員變量:CBrushm_brush; CStatDlg*m_pStatDlg;CAttDlg*m_pAttDlg; CFontm_font; //改變標題字體類型 m_font.CreatePointFont(180,"華文彩云",NULL); GetDlgItem(IDC_STATIC_HEAD)->SetFont(&m_font,true); //初始化對話框指針為空m_pAttDlg=NULL; m_pStatDlg=NULL;對話框中的5個按鈕的功能主要就是顯示相應的功能對話框.。各按鈕的功能主要是顯示相應的功能對話框。各按鈕的事件處理代碼見附錄。3.4
上班時間設置窗體功能的實現點擊“設置〞進入界面三設置上下班時間。在界面三中,你可以修改上下班時間,點擊“修改〞,設置的時間會記錄到配置文件“〞中。如果配置文件不存在,上下班時間就被設定為程序中的默認值。界面三:上班時間設置窗體公司的上下班時間相當固定,而且需要在統(tǒng)計時頻繁使用,所以不需要保存在數據庫中.本例采用標準的INI設置文件來保存這些數據;“修改〞按鈕的BN_CLICKEN事件處理程序用于保存當前的設置.“恢復默認設置〞OnInitDialog()函數引用,以實現初始化操作.OnWorkplanReset()函數則存放恢復默認設置按鈕的碼3.5
考勤修改窗體功能的實現考勤修改對話框主要用來人工輸入出勤情況.如果考勤機出現問題,這個功能及時彌補數據.同時加班,請假,出差的記錄都需要通過這個對話框來輸入.對話框的布局如以下圖所示.為了區(qū)分不同的輸入,在對話框中嵌入了CPropertySheet和4個CPropertyPage,4個CPropertyPage分別放置出勤,加班,請假和出差記錄的修改界面.4個界面共用一個查詢條件設置,以下圖中下方的空白界面即是用來放置CPropertySheet和CPropertyPage的,考勤修改對話框的封裝類是CAttDlg。對話框界面如下:界面四在對話框中嵌入了CPropertySheet和4個CPropertyPage,就需要定義類的變量CPage1m_Page1〔出勤頁〕,CPage2m_Page2〔加班頁〕,CPage3m_Page3〔請假頁〕,CPage4m_Page4〔出差頁〕,和CPropertySheetm_Sheet。然后修改它的初始化函數BOOLCAttDlg::OnInitDialog()的代碼,見附錄。在輸入員工號時,需要及時檢索員工姓名,以確定設置的條件有效.通過ClassWizard參加處理IDC_EDT_SEEKPERSONID的EN_CHANGE消息處理的函數OnChangeEdtSeekpersonid()。3.6添假出勤記錄屬性頁的實現再參加一個對話框資源將其封裝類設為CPropertyPage他的繼承類為CPage1,對話框的界面如下界面五在界面五中,可以檢索或修改出勤記錄。檢索考勤記錄:在“記錄檢索條件〞中,選中“時間范圍〞復選框,輸入時間范圍,或選中“員工〞復選框,輸入員工號,在右邊的文本框中會自動顯示員工號對應的員工名字,然后點擊“按條件檢索〞,在“出勤記錄列表〞中會顯示出選定時間范圍或員工的出勤記錄。:添加記錄:在“添加記錄〞中輸入出入時間,出入情況,部門縮寫〔輸入后右邊會顯示部門名稱〕,員工號〔輸入后右邊會顯示員工名字〕。點擊“全部員工〞把全部員工每人一條出勤記錄添加到數據庫并在出勤列表中顯示,點擊“部門員工〞為該部門的每位員工添加一條出勤記錄到數據庫并在出勤列表中顯示,點擊“單個員工〞為該員工添加一條出勤記錄到數據庫并在出勤列表中顯示。下面的進度條會顯示添加記錄的進度。刪除記錄:在“出勤記錄列表〞中選定記錄編號,然后點擊“刪除所選記錄〞,把記錄從列表和數據庫中刪除。他的屬性頁面的初始化函數為OnInitDialog()OnChangeEdtDepartid()。在輸入員工號時,也需要及時檢索員工姓名,以確定設置的條件有效,在函數OnChangeEdtPersonid()中實現。添加部門和全體員工出勤記錄的過程最終客分解為添加單個員工記錄的過程.通過添加出勤記錄函數IO_Add(CStringstrPersonID)實現。添加記錄的3個按鈕的處理程序分別調用以上的函數。:OnBtnAddall()為添加所有員工出勤記錄,OnBtnAdddepart()為追加部門員工考勤記錄,OnBtnAddperson()為追加單個員工考勤記錄。3.7加班記錄屬性頁功能的實現這個屬性頁的創(chuàng)立以上面的添假出勤記錄屬性頁的創(chuàng)立類似,封裝類都為CPropertyPage類他的繼承類為CPage2,對話框的界面如下。同時也要對他的初始化函數OnInitDialog(),UpdateList()函數,OnChangeEdtOvertimePersonid()略做修改。添加按鈕的實
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GA 874-2010警用越野突擊車》專題研究報告
- 2026年及未來5年市場數據中國燒烤料行業(yè)市場調查研究及發(fā)展趨勢預測報告
- 2026年及未來5年市場數據中國戶外廣告機行業(yè)發(fā)展監(jiān)測及投資策略研究報告
- 養(yǎng)老院醫(yī)療保健服務制度
- 2026年及未來5年市場數據中國有機面粉行業(yè)發(fā)展前景預測及投資方向研究報告
- 交通信號優(yōu)先通行制度
- 2026浦發(fā)銀行派遣員工招聘參考題庫附答案
- 2026湖北省定向武漢大學選調生招錄備考題庫附答案
- 2026湖南益陽市桃江縣中醫(yī)醫(yī)院公開招聘編外勞務派遣人員5人備考題庫附答案
- 2026甘肅銀行股份有限公司招聘校園備考題庫附答案
- 2025-2026年人教版八年級上冊歷史期末考試卷及答案
- 2026年廣西出版?zhèn)髅郊瘓F有限公司招聘(98人)考試備考題庫附答案
- 港口碼頭建設施工方案
- 2025年蘭州新區(qū)幼兒園筆試題及答案
- 文物建筑勘查設計取費標準(2020年版)
- MSOP(測量標準作業(yè)規(guī)范)測量SOP
- 新蘇教版六年級科學上冊第一單元《物質的變化》全部教案
- 四川山體滑坡地質勘察報告
- 青島啤酒微觀運營
- 工程結算書(設備及安裝類)
- GB/T 19142-2016出口商品包裝通則
評論
0/150
提交評論