版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 畢業(yè)(設(shè)計(jì))論文工資管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)系 別: 計(jì)算機(jī)應(yīng)用與工程系 專 業(yè): 軟件工程 班 級(jí): 06軟件一班 完成日期: 2010.04.30 摘要 隨著我國(guó)國(guó)民經(jīng)濟(jì)建設(shè)的蓬勃發(fā)展和具有中國(guó)特色的社會(huì)主義市場(chǎng)經(jīng)濟(jì)體制的迅速完善,各個(gè)行業(yè)都在積極使用現(xiàn)代化的管理工具,不斷改善企業(yè)的服務(wù)質(zhì)量,提高工作效率。無(wú)論是行政職能,還是生產(chǎn)運(yùn)作的管理要求的不斷提高,在很大程度上使企業(yè)不得不改變傳統(tǒng)的經(jīng)營(yíng)管理方式以適應(yīng)快速發(fā)展的社會(huì)主義市場(chǎng)經(jīng)濟(jì),改變企業(yè)管理方式、方法已經(jīng)成為企業(yè)發(fā)展的先決條件。建設(shè)一個(gè)科學(xué)高效的信息管理系統(tǒng)是解決這一問(wèn)題的必由之路。 對(duì)企業(yè)內(nèi)部的財(cái)務(wù)運(yùn)用現(xiàn)代化技術(shù)進(jìn)行管理,是提高工作效率
2、的有效手段。工資管理作為企業(yè)內(nèi)部財(cái)務(wù)管理的一個(gè)重要方面,也逐步被企業(yè)管理者所重視,由于企業(yè)的規(guī)模的不斷擴(kuò),大企業(yè)職工人數(shù)的不斷增多,使工資發(fā)放成為企業(yè)管理中的一個(gè)重課題;再加上每一位職工的具體實(shí)際情況相同,規(guī)章章制度的不斷完善,增大了個(gè)人工資發(fā)放難度;每個(gè)人每月的工資都要通過(guò)工資制度的審核,這大大增加了管理人員的工作量,通過(guò)計(jì)算機(jī)管理系統(tǒng)對(duì)員工工資進(jìn)行全面的統(tǒng)計(jì)與管理,全面解決了工資管理過(guò)程中所遇到的各種問(wèn)題,并且克服了傳統(tǒng)管理方式中的易出錯(cuò)等問(wèn)題。工資管理系統(tǒng)成為企業(yè)現(xiàn)代化管理中的首選管理工具。 關(guān)鍵詞 工資管理系統(tǒng);工資;管理工具 目 錄第1章 引 言11.1 本課題的研究意義11.2 本
3、論文的目的、內(nèi)容及作者的主要貢獻(xiàn)1 1.2.1 目的 1 1.2.2 內(nèi)容1 1.2.3作者的主要貢獻(xiàn)1第2章 管理信息系統(tǒng)概述22.1 管理信息系統(tǒng)現(xiàn)狀22.2 管理信息系統(tǒng)開(kāi)發(fā)方法介紹3第3章 研究現(xiàn)狀及設(shè)計(jì)目標(biāo)63.1 相近研究課題的特點(diǎn)及優(yōu)缺點(diǎn)分析63.2 研究存在的問(wèn)題及解決辦法 63.3 本課題要達(dá)到的設(shè)計(jì)目標(biāo)8第4章 總體設(shè)計(jì)104.1項(xiàng)目規(guī)劃104.2系統(tǒng)功能結(jié)構(gòu)104.3設(shè)計(jì)目標(biāo)10第5章 系統(tǒng)設(shè)計(jì)125.1開(kāi)發(fā)運(yùn)行環(huán)境125.2數(shù)據(jù)庫(kù)設(shè)計(jì)12第6章 主功能模塊設(shè)計(jì)136.1建立工程框架136.2封裝數(shù)據(jù)庫(kù)146.3主窗口設(shè)計(jì) 166.4登錄模塊設(shè)計(jì)186.5員工錄入模塊設(shè)計(jì)
4、206.6用戶管理模塊設(shè)計(jì)24第7章 結(jié)論與展望286.1 結(jié)論28參 考 文 獻(xiàn)29第1章 引 言1.1本課題的研究意義目前市面上流行的工資發(fā)放軟件不少。但是,對(duì)于企、事業(yè)單位的工資發(fā)放來(lái)說(shuō),不需要太大型的數(shù)據(jù)庫(kù)系統(tǒng)。只需要一個(gè)操作方便,功能實(shí)用,能同時(shí)滿足財(cái)務(wù)部門、單位其他相關(guān)部門及代發(fā)單位三方對(duì)數(shù)據(jù)的管理及需求的系統(tǒng)。我們的目標(biāo)就是在于開(kāi)發(fā)一個(gè)功能實(shí)用,用戶(財(cái)務(wù)部、其他相關(guān)部門、銀行)操作方便,簡(jiǎn)單明了的工資發(fā)放軟件。1.2 本論文的目的、內(nèi)容及作者的主要貢獻(xiàn)1.2.1 目的 目前市面上流行的工資發(fā)放軟件不少。但是,對(duì)于企、事業(yè)單位的工資發(fā)放來(lái)說(shuō),不需要太大型的數(shù)據(jù)庫(kù)系統(tǒng)。只需要一個(gè)操
5、作方便,功能實(shí)用,能同時(shí)滿足財(cái)務(wù)部門、單位其他相關(guān)部門及代發(fā)單位三方對(duì)數(shù)據(jù)的管理及需求的系統(tǒng)。我們的目標(biāo)就是在于開(kāi)發(fā)一個(gè)功能實(shí)用,用戶(財(cái)務(wù)部、其他相關(guān)部門、銀行)操作方便,簡(jiǎn)單明了的工資發(fā)放軟件。 1.2.2 內(nèi)容實(shí)現(xiàn)本單位財(cái)務(wù)部門對(duì)工資發(fā)放的集中管理??晒┴?cái)務(wù)人員對(duì)本單位的人員工資進(jìn)行增加、刪除、修改、查詢、導(dǎo)入、導(dǎo)出文件、輸出報(bào)表,并對(duì)系統(tǒng)的可登錄人員進(jìn)行管理;同時(shí)通過(guò)菜單關(guān)閉功能使本單位其他相關(guān)部門的人員對(duì)工資的數(shù)據(jù)編輯無(wú)法操作,只能通過(guò)查詢或?qū)С鑫募?lái)了解本單位的工資發(fā)放情況;對(duì)工資發(fā)放中的應(yīng)發(fā)工資合計(jì)、代扣個(gè)人所得稅及個(gè)人實(shí)發(fā)工資等項(xiàng)目由系統(tǒng)自動(dòng)進(jìn)行計(jì)算;同時(shí)本系統(tǒng)還可對(duì)工資發(fā)放情
6、況進(jìn)行多角度查詢,并轉(zhuǎn)換成可與銀行unix平臺(tái)接口的數(shù)據(jù)形式以便于委托銀行辦理代發(fā)工資業(yè)務(wù)。 在登錄管理方面,財(cái)務(wù)人員以工資發(fā)放系統(tǒng)的管理人員身份登錄,并對(duì)本系統(tǒng)的可登錄人員進(jìn)行管理,有權(quán)增加及刪除本系統(tǒng)的登錄人員,進(jìn)行自身密碼的修改;而本單位其他相關(guān)部門的可登錄人員在登錄本系統(tǒng)后,則只能進(jìn)行自身密碼的修改,而無(wú)權(quán)增加及刪除用戶。 1.2.3作者的主要貢獻(xiàn) 全程參與了此課題的研究與開(kāi)發(fā),包括分析,設(shè)計(jì),編碼,測(cè)試,文檔等。第2章 管理信息系統(tǒng)概述2.1 管理信息系統(tǒng)現(xiàn)狀 管理信息系統(tǒng)(mis)是一門邊緣學(xué)科,集管理科學(xué)、信息科學(xué)、系統(tǒng)科學(xué)、現(xiàn)代通信技術(shù)和電子計(jì)算機(jī)技術(shù)于一體。1985年,管理信
7、息系統(tǒng)創(chuàng)始人,明尼蘇達(dá)大學(xué)卡爾森管理學(xué)院的著名教授戴維斯(gordon.b.davis)給出了一個(gè)具有代表性的定義:“管理信息系統(tǒng)是一個(gè)利用計(jì)算機(jī)硬件和軟件,手工作業(yè)、分析、計(jì)劃、控制和決策模型以及數(shù)據(jù)庫(kù)的用戶機(jī)器系統(tǒng)。它能提供信息支持企業(yè)或組織的運(yùn)行、管理和決策功能。 隨著網(wǎng)絡(luò)技術(shù)的出現(xiàn),管理信息系統(tǒng)又有了新的必恭必敬,基于網(wǎng)絡(luò)的管理信息系統(tǒng)不斷出現(xiàn),管理信息系統(tǒng)的概念模型也發(fā)生了相應(yīng)的變化,許多學(xué)者對(duì)管理信息系統(tǒng)給出了新的定義。例如勞頓認(rèn)為:“管理信息系統(tǒng)是一個(gè)基于計(jì)算機(jī)的信息系統(tǒng),它通過(guò)收集、處理、存儲(chǔ)和擴(kuò)散信息,來(lái)支持組織的管理、決策、合作、控制、分析活動(dòng),并使之可視化。因此,我們可以
8、看出,管理系統(tǒng)系統(tǒng)具有幾個(gè)基本含義: (1)管理信息系統(tǒng)不是一個(gè)單純的軟件系統(tǒng),而是一個(gè)人機(jī)系統(tǒng),由人和機(jī)器協(xié)同工作。管理信息系統(tǒng)在支持企業(yè)或組織的各項(xiàng)管理活動(dòng)中,管理人員負(fù)責(zé)將基礎(chǔ)數(shù)據(jù)及時(shí)地輸入到計(jì)算機(jī)中,計(jì)算機(jī)則根據(jù)企業(yè)或組織中的各層管理人員的要求對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行加工處理,并將所得到的信息輸出。計(jì)算機(jī)不斷地與最終用戶進(jìn)行著信息的交換,但在對(duì)數(shù)據(jù)的加工處理過(guò)程中又需要人的適當(dāng)干預(yù)。 (2)管理信息系統(tǒng)的管理過(guò)程就是對(duì)數(shù)據(jù)進(jìn)行懼、存儲(chǔ)、加工處理、傳遞,并產(chǎn)生信息的過(guò)程,因此數(shù)據(jù)是管理信息系統(tǒng)的靈魂。管理信息系統(tǒng)運(yùn)用了數(shù)據(jù)庫(kù)的技術(shù),對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行統(tǒng)一規(guī)劃、存儲(chǔ),供各層管理人員使用,從而實(shí)現(xiàn)了數(shù)據(jù)的
9、一致和共享。 (3)管理信息系統(tǒng)可以解決企業(yè)或組織所面臨的問(wèn)題。例如,管理信息系統(tǒng)可以處理企業(yè)產(chǎn)生經(jīng)營(yíng)活動(dòng)的全過(guò)程,可以解決組織中數(shù)據(jù)處理效率問(wèn)題,也可以解決財(cái)務(wù)管理決策過(guò)程等。 管理信息系統(tǒng)應(yīng)具有如下幾個(gè)功能。 (1)數(shù)據(jù)處理功能: 數(shù)據(jù)處理是管理信息系統(tǒng)最基本的功能,它包括對(duì)各種類型數(shù)據(jù)的收集、加工處理、傳遞、存儲(chǔ)等工作。 (2)實(shí)測(cè)功能: 通過(guò)對(duì)數(shù)據(jù)的加工處理,可以隨時(shí)了解各部門的實(shí)際運(yùn)行情況,如各生產(chǎn)車間今天生產(chǎn)的產(chǎn)品數(shù)量、銷售部接受的訂單等。 (3)預(yù)測(cè)功能: 通過(guò)運(yùn)用一定的數(shù)學(xué)方法和預(yù)測(cè)模型,對(duì)過(guò)去的數(shù)據(jù)進(jìn)行分析,就可能對(duì)未來(lái)可能發(fā)生的情況進(jìn)行預(yù)測(cè),為高級(jí)管理人員進(jìn)行管理決策提供依
10、據(jù)。 (4)控制功能: 通過(guò)信息的反饋可以對(duì)整個(gè)企業(yè)生產(chǎn)經(jīng)營(yíng)的各個(gè)部門、各個(gè)環(huán)節(jié)的運(yùn)行情況進(jìn)行監(jiān)測(cè)、協(xié)調(diào)、控制,保證系統(tǒng)的正常運(yùn)行。 目前,管理信息系統(tǒng)的應(yīng)用已經(jīng)非常廣泛,隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和通信技術(shù)的發(fā)展,管理信息系統(tǒng)的功能也日趨完善,并朝著智能化、網(wǎng)絡(luò)化、集成化等方向發(fā)展。如辦公自動(dòng)化(oa)、電子商務(wù)(ec)、專家系統(tǒng)(es)、計(jì)算機(jī)集成制造系統(tǒng)(cims)。 2.2 管理信息系統(tǒng)開(kāi)發(fā)方法介紹目前,常用的管理信息系統(tǒng)的開(kāi)發(fā)方法有生命周期法、原型法和面對(duì)對(duì)象的開(kāi)發(fā)方法。 下面僅對(duì)原型法和面對(duì)對(duì)象的開(kāi)發(fā)方法進(jìn)行簡(jiǎn)單的描述。 (1)原型法: 原型法(prototyping method)
11、是20世紀(jì)80年代發(fā)展起來(lái)的,旨在改變生命周期法的缺點(diǎn)的一種系統(tǒng)開(kāi)發(fā)方法。 原型法的基本思想 首選根據(jù)用戶的要求,由用戶和開(kāi)發(fā)者共同確定系統(tǒng)的基本要求和主要功能,利用系統(tǒng)快速生成工具,建立一個(gè)系統(tǒng)模型。再在此基礎(chǔ)上與用戶交流,將模型不斷補(bǔ)充,修改完善,如此反復(fù),最終直至用戶和開(kāi)發(fā)者都比較滿意為止,就形成了一個(gè)相對(duì)穩(wěn)定、較為理想的管理信息系統(tǒng)。 原型法的開(kāi)發(fā)過(guò)程 采用原型法開(kāi)發(fā)管理信息系統(tǒng)可以分為如下幾個(gè)階段: a、 確定用戶的基本需求。由用戶提出對(duì)新系統(tǒng)的基本要求,如功能、基本界面形式、所需的數(shù)據(jù)、應(yīng)用范圍、運(yùn)行環(huán)境等,開(kāi)發(fā)者根據(jù)這些信息估算出開(kāi)發(fā)該系統(tǒng)所需的費(fèi)用,并建立簡(jiǎn)明的系統(tǒng)模型。 b、
12、開(kāi)發(fā)初步的原型系統(tǒng)。系統(tǒng)開(kāi)發(fā)人員根據(jù)用戶的要求建立原型系統(tǒng),但該系統(tǒng)只是一個(gè)初步的、不成熟的系統(tǒng),從系統(tǒng)的工作效率上看也是不完善的。其主要目的是為了描述開(kāi)發(fā)者所理解的用戶的基本需求。 c、修改、評(píng)價(jià)原型系統(tǒng)。將建造好的原型系統(tǒng)交給用戶,并投入試運(yùn)行,用戶將使用過(guò)程中發(fā)現(xiàn)的問(wèn)題一一記錄下來(lái),并與開(kāi)發(fā)人員進(jìn)行交流。開(kāi)發(fā)人員針對(duì)這些問(wèn)題不斷地對(duì)系統(tǒng)進(jìn)行修改、擴(kuò)充與完善,直至用戶滿意為止。 原型法的優(yōu)缺點(diǎn) 原型法的優(yōu)點(diǎn)是開(kāi)發(fā)周期短,費(fèi)用較少,同時(shí)可以較有效地避免因開(kāi)發(fā)者和用戶的認(rèn)識(shí)隔閡所產(chǎn)生的失敗,其缺點(diǎn)是系統(tǒng)的開(kāi)發(fā)缺乏統(tǒng)一的規(guī)劃和開(kāi)發(fā)標(biāo)準(zhǔn),難以對(duì)系統(tǒng)的開(kāi)發(fā)過(guò)程加以控制。 原型法一般適用于開(kāi)發(fā)規(guī)模不大
13、、不太復(fù)雜或需求經(jīng)常發(fā)生變化的系統(tǒng)。 (2)面向?qū)ο蟮拈_(kāi)發(fā)方法 面向?qū)ο螅╫bject oriented)的技術(shù)于20世紀(jì)80年興起,隨后廣泛地應(yīng)用于計(jì)算機(jī)技術(shù)的幾乎所有領(lǐng)域。面向?qū)ο蟮募夹g(shù)中最重要的概念是對(duì)象。 面向?qū)ο笫腔趩?wèn)題對(duì)象的自底向上的一種系統(tǒng)開(kāi)發(fā)方法。在開(kāi)發(fā)過(guò)程中,分析和設(shè)計(jì)階段獨(dú)立于程序設(shè)計(jì)語(yǔ)言,信息系統(tǒng)模型設(shè)計(jì)好后,最終用具體的程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)或硬件來(lái)實(shí)現(xiàn)。面向?qū)ο蠓ㄗ钪饕奶攸c(diǎn)是對(duì)對(duì)象為基礎(chǔ),對(duì)象是分析問(wèn)題和解決問(wèn)題的核心。 面對(duì)對(duì)象法的開(kāi)發(fā)過(guò)程 面對(duì)對(duì)象法的開(kāi)發(fā)過(guò)程一般分為四個(gè)階段: a、認(rèn)識(shí)客觀世界(如一個(gè)企業(yè))中的對(duì)象以及行為,分別獨(dú)立設(shè)計(jì)各個(gè)對(duì)象的實(shí)體。 b、分
14、析對(duì)象之間的聯(lián)系和相互之間所傳遞的信息,由此構(gòu)造客觀世界(企業(yè))所對(duì)應(yīng)的信息管理系統(tǒng)的模型。 c、由信息系統(tǒng)的模型轉(zhuǎn)換成計(jì)算機(jī)軟件系統(tǒng)的模型。 d、由計(jì)算機(jī)軟件系統(tǒng)的模型再轉(zhuǎn)化成一個(gè)現(xiàn)實(shí)系統(tǒng)。 面向?qū)ο蠓ǖ膬?yōu)缺點(diǎn): 面向?qū)ο蠓ǖ膬?yōu)點(diǎn)是便于幫助分析者、設(shè)計(jì)者和用戶清楚地表達(dá)抽象概念,互相進(jìn)行交流;交流特定的軟件工具模塊,直接地完成了從對(duì)象的描述到軟件體系結(jié)構(gòu)之間的轉(zhuǎn)換,避免了其它的方法在開(kāi)發(fā)過(guò)程的客觀世界描述和軟件結(jié)構(gòu)不一致性和復(fù)雜性問(wèn)題,便利系統(tǒng)開(kāi)發(fā)簡(jiǎn)單、統(tǒng)一,開(kāi)發(fā)周期短,費(fèi)用低。 面向?qū)ο蠓ǖ闹饕秉c(diǎn)與原型法一樣,因此這種方法也不適用于開(kāi)發(fā)大的、復(fù)雜的系統(tǒng)。 本系統(tǒng)在開(kāi)發(fā)過(guò)程中具體是采用了原
15、型法和面向?qū)ο髢煞N方法相結(jié)合的開(kāi)發(fā)思路,力求在開(kāi)發(fā)過(guò)程中盡量吸收這兩種方法的長(zhǎng)處,而克服它們的短處。 第3章 研究現(xiàn)狀及設(shè)計(jì)目標(biāo)3.1 相近研究課題的特點(diǎn)及優(yōu)缺點(diǎn)分析傳統(tǒng)的工資發(fā)放,多采用手工的形式,既繁瑣又易于出差錯(cuò),隨著電子技術(shù)的發(fā)展,工資發(fā)放多采用電算化的方式進(jìn)行管理,避免進(jìn)行簡(jiǎn)單的重復(fù)計(jì)算,從而做到準(zhǔn)確、快捷。為了適應(yīng)這個(gè)要求,我們工作組經(jīng)過(guò)詳細(xì)的市場(chǎng)調(diào)查,發(fā)現(xiàn)市面上工資發(fā)放的軟件繁多,競(jìng)爭(zhēng)激烈,為了避免重復(fù)生產(chǎn)類似的軟件產(chǎn)品,做出自己的特色,我們決定做一個(gè)切合單位工資發(fā)放實(shí)際要求的工資發(fā)放系統(tǒng)軟件。 3.2 研究存在的問(wèn)題及解決辦法 目前的可用的設(shè)計(jì)技術(shù)在設(shè)計(jì)此類系統(tǒng)上的數(shù)據(jù)庫(kù)技術(shù)已
16、經(jīng)非常成熟,可提供的開(kāi)發(fā)工具也很多,例如:visual c+ ,visual basic,powerbuilder,dephi, visual foxpro等,它們都是很好的數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,都是可視化開(kāi)發(fā)工具,功能強(qiáng)大,開(kāi)發(fā)容易,開(kāi)發(fā)周期短,對(duì)于本任務(wù)都能夠勝任。 visual basic是一種可視化的、面對(duì)對(duì)象和條用事件驅(qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì),可用于開(kāi)發(fā)windows環(huán)境下的種類應(yīng)用程序。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大,可以與windows的專業(yè)開(kāi)發(fā)工具sdk相媲美,而且程序開(kāi)發(fā)人員不必具有c/c+編程基礎(chǔ)。在visual basic環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)
17、工具,使用windows內(nèi)部的應(yīng)用程序接口(api)函數(shù),以及動(dòng)態(tài)鏈接庫(kù)(dll)、動(dòng)態(tài)數(shù)據(jù)交換(dde)、對(duì)象的鏈接與嵌入(ole)、開(kāi)放式數(shù)據(jù)訪問(wèn)(odbc)等技術(shù),可以高效、快速地開(kāi)發(fā)出windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。 總的來(lái)說(shuō),visual basic具有以下特點(diǎn): 可視化編程:用傳統(tǒng)程序設(shè)計(jì)語(yǔ)言設(shè)計(jì)程序時(shí),都是通過(guò)編寫(xiě)程序代碼來(lái)設(shè)計(jì)用戶界面,在設(shè)計(jì)過(guò)程中看不到界面的實(shí)際顯示效果,必須編譯后運(yùn)行程序才能觀察。如果對(duì)界面的效果不滿意,還要回到程序中修改。有時(shí)候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開(kāi)發(fā)效率。visual basic提供了可視化
18、設(shè)計(jì)工具,把windows界面設(shè)計(jì)的復(fù)雜性“封裝”起來(lái),開(kāi)發(fā)人員不必為界面設(shè)計(jì)而編寫(xiě)大量程序代碼。只需要按設(shè)計(jì)要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫(huà)出各種“部件”,即圖形對(duì)象,并設(shè)置這些圖形對(duì)象的屬性。visual basic自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,程序設(shè)計(jì)人員只需要編寫(xiě)實(shí)現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設(shè)計(jì)的效率。 面向?qū)ο蟮某绦蛟O(shè)計(jì):4.0版以后的visual basic支持面向?qū)ο蟮某绦蛟O(shè)計(jì),但它與一般的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言(c+)不完全相同。在一般的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中,對(duì)象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而visual basic則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法
19、(oop),把程序和數(shù)據(jù)封裝起來(lái)作為一個(gè)對(duì)象,并為每個(gè)對(duì)象賦予應(yīng)有的屬性,使對(duì)象成為實(shí)在的東西。在設(shè)計(jì)對(duì)象時(shí),不必編寫(xiě)建立和描述每個(gè)對(duì)象的程序代碼,而是用工具畫(huà)在界面上,visual basic自動(dòng)生成對(duì)象的程序代碼并封裝起來(lái)。每個(gè)對(duì)象以圖形方式顯示在界面上,都是可視的。 結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言 :visual basic是在basic語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,具有高級(jí)程序設(shè)計(jì)語(yǔ)言的語(yǔ)句結(jié)構(gòu),接近于自然語(yǔ)言和人類的邏輯思維方式。visualbasic語(yǔ)句簡(jiǎn)單易懂,其編輯器支持彩色代碼,可自動(dòng)進(jìn)行語(yǔ)法錯(cuò)誤檢查,同時(shí)具有功能強(qiáng)大且使用靈活的調(diào)試器和編譯器。 事件驅(qū)動(dòng)編程機(jī)制 :visual basic通
20、過(guò)事件來(lái)執(zhí)行對(duì)象的操作。一個(gè)對(duì)象可能會(huì)產(chǎn)生多個(gè)事件,每個(gè)事件都可以通過(guò)一段程序來(lái)響應(yīng)。例如,命令按鈕是一個(gè)對(duì)象,當(dāng)用戶單擊該按鈕時(shí),將產(chǎn)生一個(gè)“單擊“(click)事件,而在產(chǎn)生該事件時(shí)將執(zhí)行一段程序,用來(lái)實(shí)現(xiàn)指定的操作。 在用visual basic設(shè)計(jì)大型應(yīng)用軟件時(shí),不必建立具有明顯開(kāi)始和結(jié)束的程序,而是編寫(xiě)若干個(gè)微小的子程序,即過(guò)程。這些過(guò)程分別面向不同的對(duì)象,由用戶操作引發(fā)某個(gè)事件來(lái)驅(qū)動(dòng)完成某種特定的功能,或者由事件驅(qū)動(dòng)程序調(diào)用通用過(guò)程來(lái)執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。 訪問(wèn)數(shù)據(jù)庫(kù) visual basic具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫(kù)管理窗口,可以直接
21、建立或處理microsoft access格式的數(shù)據(jù)庫(kù),并提供了強(qiáng)大的數(shù)據(jù)存儲(chǔ)和檢索功能。同時(shí),visual basic還能直接編輯和訪問(wèn)其他外部數(shù)據(jù)庫(kù),如dbase,foxpro,paradox等,這些數(shù)據(jù)庫(kù)格式都可以用visual basic編輯和處理。 visual basic提供開(kāi)放式數(shù)據(jù)連接,即odbc功能,可通過(guò)直接訪問(wèn)或建立連接的方式使用并操作后臺(tái)大型網(wǎng)絡(luò)數(shù)據(jù)庫(kù),如sql server,oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢語(yǔ)言sql數(shù)據(jù)標(biāo)準(zhǔn),直接訪問(wèn)服務(wù)器上的數(shù)據(jù)庫(kù),并提供了簡(jiǎn)單的面向?qū)ο蟮膸?kù)操作指令和多用戶數(shù)據(jù)庫(kù)訪問(wèn)的加鎖機(jī)制和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的sql的編程技術(shù),為單機(jī)上
22、運(yùn)行的數(shù)據(jù)庫(kù)提供了sql網(wǎng)絡(luò)接口,以便在分布式環(huán)境中快速而有效地實(shí)現(xiàn)客戶/服務(wù)器(client/server)方案。 動(dòng)態(tài)數(shù)據(jù)交換(dde) 利用動(dòng)態(tài)數(shù)據(jù)交換(dynamic data exchange)技術(shù),可以把一種應(yīng)用程序中的數(shù)據(jù)動(dòng)態(tài)地鏈接到另一種應(yīng)用程序中,使兩種完全不同的應(yīng)用程序建立起一條動(dòng)態(tài)數(shù)據(jù)鏈路。當(dāng)原始數(shù)據(jù)變化時(shí),可以自動(dòng)更新鏈接的數(shù)據(jù)。visual basic提供了動(dòng)態(tài)數(shù)據(jù)交換的編程技術(shù),可以在應(yīng)用程序中與其他windows應(yīng)用程序建立動(dòng)態(tài)數(shù)據(jù)交換,在不同的應(yīng)用程序之間進(jìn)行通信。 對(duì)象的鏈接與嵌入(ole) 對(duì)象的鏈接與嵌入(ole)將每個(gè)應(yīng)用程序都看做是一個(gè)對(duì)象(objec
23、t),將不同的對(duì)象鏈接(link)起來(lái),再嵌入(embed)某個(gè)應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動(dòng)畫(huà)、文字等各種信息的集合式的文件。ole技術(shù)是microsoft公司對(duì)象技術(shù)的戰(zhàn)略,它把多個(gè)應(yīng)用程序合為一體,將每個(gè)應(yīng)用程序看做是一個(gè)對(duì)象進(jìn)行鏈接和嵌入,是一種應(yīng)用程序一體化的技術(shù)。利用ole技術(shù),可以方便地建立復(fù)合式文檔(compound document),這種文檔由來(lái)自多個(gè)不同應(yīng)用程序的對(duì)象組成,文檔中的每個(gè)對(duì)象都與原來(lái)的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來(lái)應(yīng)用程序完全相同的操作。 動(dòng)態(tài)鏈接庫(kù)(dll) visual basic是一種高級(jí)程序設(shè)計(jì)語(yǔ)言,不具備低級(jí)語(yǔ)言的功能,對(duì)訪問(wèn)機(jī)器
24、硬件的操作不太容易實(shí)現(xiàn)。但它可以通過(guò)動(dòng)態(tài)鏈接庫(kù)技術(shù)將c/c+或匯編語(yǔ)言編寫(xiě)的程序加入到visual basic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語(yǔ)言編寫(xiě)的函數(shù)。此外,通過(guò)動(dòng)態(tài)鏈接庫(kù),還可以調(diào)用windows應(yīng)用程序接口(api)函數(shù),實(shí)現(xiàn)sdk所具有的功能。3.3 本課題要達(dá)到的設(shè)計(jì)目標(biāo) 實(shí)現(xiàn)數(shù)據(jù)庫(kù)管理,數(shù)據(jù)庫(kù)內(nèi)包含有單位部門名稱、序號(hào)、姓名、賬號(hào)、應(yīng)發(fā)工資合計(jì)、基礎(chǔ)工資、職務(wù)工資、級(jí)別工資、補(bǔ)助工資、獎(jiǎng)金、福利、代扣失業(yè)保險(xiǎn)金、代扣養(yǎng)老保險(xiǎn)金、代扣住房公積金、代扣個(gè)人所得稅、實(shí)發(fā)個(gè)人工資等等數(shù)據(jù)項(xiàng);還包括登錄人員、登錄密碼等數(shù)據(jù)項(xiàng)。通過(guò)讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)項(xiàng)來(lái)管理單位人員的工資發(fā)放情況,
25、財(cái)務(wù)部門人員有權(quán)新建工資發(fā)放人員記錄,添加人員的各項(xiàng)工資明細(xì)數(shù)據(jù),對(duì)于人員應(yīng)發(fā)工資合計(jì)、代扣個(gè)人所得稅、個(gè)人實(shí)發(fā)工資等需計(jì)算的工資項(xiàng)目則由系統(tǒng)自動(dòng)實(shí)現(xiàn)。 通過(guò)讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)項(xiàng)來(lái)了解單位人員的工資發(fā)放情況,系統(tǒng)的登錄人員可按自身對(duì)數(shù)據(jù)的需求情況,自主設(shè)定查詢條件,從而達(dá)到對(duì)工資數(shù)據(jù)的多角度查詢;同時(shí),可導(dǎo)出工資數(shù)據(jù),并可將工資數(shù)據(jù)轉(zhuǎn)換成可與銀行unix平臺(tái)接口的數(shù)據(jù)形式以便于委托銀行辦理代發(fā)工資業(yè)務(wù)。 通過(guò)讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)項(xiàng)來(lái)控制系統(tǒng)的登錄情況,系統(tǒng)自動(dòng)檢查核對(duì)登錄人員和密碼的一致性。財(cái)務(wù)部門的人員作為管理員登錄本系統(tǒng),除可以修改自身密碼外,還有權(quán)決定增加及刪除本系統(tǒng)的可登錄人員;而系統(tǒng)的其他
26、可登錄人員在登錄本系統(tǒng)后則只能進(jìn)行自身密碼的修改。 本系統(tǒng)的最終目的是為了能夠?qū)べY發(fā)放進(jìn)行有效的管理。財(cái)務(wù)部門人員能夠高效快捷地對(duì)工資數(shù)據(jù)進(jìn)行編輯,避免進(jìn)行簡(jiǎn)單的重復(fù)計(jì)算,而單位其他相關(guān)部門人員可多角度查詢本單位的工資發(fā)放情況,從而使工資發(fā)放數(shù)據(jù)既得到安全控制又得到宏觀管理。第4章 總體設(shè)計(jì)4.1 項(xiàng)目規(guī)劃工資管理系統(tǒng)是由基本信息管理、工資查詢、工資管理、系統(tǒng)管理和幫助等幾個(gè)功能模塊組成,規(guī)劃系統(tǒng)功能模塊如下:q 基本信息管理模塊基本信息管理模塊主要包括員工錄入、員工刪除2部分。q 工資查詢模塊工資查詢模塊主要包括基本工資查詢、浮動(dòng)工資查詢、加班/休假查詢、總體查詢4個(gè)部分。q 工資管理模塊
27、工資管理模塊主要包括工資發(fā)放管理、基本工資管理、浮動(dòng)工資管理3個(gè)部分。q 系統(tǒng)管理模塊系統(tǒng)管理模塊主要包括用戶管理、修改密碼、退出系統(tǒng)3個(gè)部分。q 幫助模塊幫助模塊主要包括關(guān)于1個(gè)部分。4.2 系統(tǒng)功能結(jié)構(gòu)工資系統(tǒng)的功能結(jié)構(gòu)如圖1所示。圖4.1 系統(tǒng)功能圖4.3 設(shè)計(jì)目標(biāo)本系統(tǒng)是根據(jù)中小企業(yè)的實(shí)際需求而開(kāi)發(fā)的,完全能夠?qū)崿F(xiàn)企業(yè)對(duì)客戶的自動(dòng)化管理,通過(guò)本系統(tǒng)可以達(dá)到以下目標(biāo):q 系統(tǒng)運(yùn)行穩(wěn)定,安全可靠。q 界面設(shè)計(jì)美觀,人機(jī)交互界面友好。q 信息查詢靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲(chǔ)安全可靠。q 滿足鍵盤和鼠標(biāo)的雙重操作,完全支持回車鍵。q 采用多種方式查詢數(shù)據(jù)。q 操作員可以隨時(shí)修改自己的口令。
28、q 對(duì)用戶輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能排除人為的錯(cuò)誤。數(shù)據(jù)保密性強(qiáng),為每個(gè)用戶設(shè)置相應(yīng)的權(quán)限級(jí)別。第5章 系統(tǒng)設(shè)計(jì)5.1 開(kāi)發(fā)運(yùn)行環(huán)境1硬件要求cpu:300mhz以上的處理器。內(nèi)存:128mb,推薦256mb。硬盤:150mb以上剩余空間。顯示像素:最低800*600,最佳效果1024*768。2軟件要求操作系統(tǒng):windows2000/nt/xp/ce。數(shù)據(jù)庫(kù):sql server2000。5.2 開(kāi)數(shù)據(jù)庫(kù)統(tǒng)計(jì)1數(shù)據(jù)庫(kù)概要說(shuō)明 數(shù)據(jù)庫(kù)gzffxt中包括員工基礎(chǔ)信息表、員工基本工資表、員工浮動(dòng)工資表、員工加班/休假表、工資發(fā)放明細(xì)表、用戶表6個(gè)數(shù)據(jù)表。圖2所示的即為本系統(tǒng)中數(shù)據(jù)
29、庫(kù)中的數(shù)據(jù)表結(jié)構(gòu)圖,該數(shù)據(jù)表結(jié)構(gòu)圖包含系統(tǒng)所有數(shù)據(jù)表??梢郧逦胤磻?yīng)數(shù)據(jù)庫(kù)信息。圖2 數(shù)據(jù)庫(kù)概要說(shuō)明2主要數(shù)據(jù)表的結(jié)構(gòu)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表請(qǐng)參見(jiàn)附錄b。第6章 系主要功能模塊設(shè)計(jì)6.1 建立工程框架在visual c+中建立文檔管理系統(tǒng)的基本框架,步驟如下:(1)單擊菜單“file-new”命令,打開(kāi)“new”對(duì)話框,單擊“projects”選項(xiàng)卡,選擇“mfc appwizard(exe)”,輸入工程名,并設(shè)置路徑,如圖6.3所示。圖6.3 “new”對(duì)話框(2)單擊“ok”按鈕,“mfc appwizard-step1”對(duì)話框已經(jīng)打開(kāi),如圖6.4所示,選項(xiàng)“dialog base”,接著單擊“
30、next”按鈕。圖6.4 “mfc appwizard-step 1”對(duì)話框(3)在彈出的“mfc appwizard-step 2 of 4”對(duì)話框中,輸入對(duì)話框標(biāo)題,如圖5所示。圖6.5 “mfc appwizard-step 2 of 4”對(duì)話框(4)在接下來(lái)的對(duì)話框中保持默認(rèn)的選項(xiàng)。設(shè)置好的屬性如圖6所示,單擊“ok”按鈕后,就完成了新建工程。圖6.6 設(shè)計(jì)好的工程屬性6.2窗口設(shè)計(jì)1菜單資源設(shè)計(jì)主窗口菜單設(shè)置的主要步驟如下:(1)單擊“resourceview”選項(xiàng)卡,右鍵單擊“gzglxt resources”選項(xiàng),選擇“insert”菜單項(xiàng),打開(kāi)“insert resource”
31、窗口,如圖6.7所示。圖6.7 “insert resource”窗口(2)選擇“menu”文件夾,單擊“new”按鈕,在gzglxt resources目錄下新增一個(gè)menu目錄項(xiàng),菜單id為idr_menu1。雙擊此菜單,對(duì)此菜單項(xiàng)的屬性進(jìn)行設(shè)計(jì)。如圖6.8所示。圖6.8 設(shè)計(jì)菜單屬性圖2客戶區(qū)設(shè)計(jì)(1)打開(kāi)對(duì)話框idd_gzglxt_dialog屬性窗口,在對(duì)話框中添加1個(gè)picture控件,用來(lái)存放圖片。在menu組合框中選擇idr_menu1。如圖9所示。圖6.9 系統(tǒng)主界面(2)預(yù)先在下邊留出狀態(tài)欄,聲明ctime、cstatusbarctrl類對(duì)象實(shí)體代碼如下。ctime t;c
32、statusbarctrl m_statusbar;引用的外部變量extern cczyxxb ffxxb;(3)在oninitdialog成員函數(shù)中添加狀態(tài)欄。/ todo: add extra initialization heret=ctime:getcurrenttime();m_statusbar.enableautomation();m_statusbar.create(ws_child|ws_visible,crect(0,0,0,0),this,0);/id_statusbar);int width=200,370,500;m_statusbar.setparts(4, &wi
33、dth0);m_statusbar.settext(吉林省明日科技有限公司,0,0);cstring statustext;statustext.format(當(dāng)前用戶:%s,ffxxb.getczyname();m_statusbar.settext(statustext,0,1);cstring strdate;strdate.format(當(dāng)前時(shí)間:%s,t.format(%y-%m-%d);m_statusbar.settext(strdate,0,2);return true; / return true unless you set the focus to a control(4
34、)打開(kāi)classwizard窗口,為菜單項(xiàng)id_exit添加代碼。程序調(diào)用onok()函數(shù)關(guān)閉對(duì)話框,退出系統(tǒng)。void cgzglxtdlg:onexit() / todo: add your command handler code hereonok();6.3 登錄模塊設(shè)計(jì)1實(shí)現(xiàn)目標(biāo)登錄模塊功能是完成用戶登錄本系統(tǒng)的操作,用戶登錄對(duì)話框的設(shè)計(jì)如圖10所示圖6.10 登錄對(duì)話框2設(shè)計(jì)步驟(1)向項(xiàng)目中添加一個(gè)新dialog資源,資源id為idd_login。在idd_login對(duì)話框資源中單擊鼠標(biāo)右鍵,執(zhí)行彈出快捷菜單的“properties”菜單命令,打開(kāi)“dialog properti
35、es”對(duì)話框。在“dialog properties”對(duì)話框中選擇general選項(xiàng)卡,更改其“caption”文本框內(nèi)容為“用戶登錄”。(2)從controls面板上向dialog資源中添加2個(gè)static、1個(gè)picture、2個(gè)edit,更改資源的屬性,并為資源設(shè)置相對(duì)應(yīng)的變量,如表1所示。表6.1 資源設(shè)置idpropertiesmember variablestypememberidc_edit1默認(rèn)cstringm_nameidc_ edit2password truecstringm_pwdidokcaption 登錄idcancelcaption 退出idc_statictyp
36、e bitmap3代碼分析(1)引用的外部變量。extern cczyxxb ffxxb;(2)響應(yīng)“登錄”按鈕的代碼。void clogin:onok() / todo: add extra validation here/將對(duì)話框中編輯框的數(shù)據(jù)讀取到成員變量中updatedata(true);if(m_name=)messagebox(請(qǐng)輸入用戶名);return;/如果讀取數(shù)據(jù)和用戶輸入不同,則返回if(ffxxb.haveczy(m_name,m_pwd)!=1)messagebox(用戶名或密碼錯(cuò)誤!);return;ffxxb.setczyname(m_name);jb=1;/判斷
37、當(dāng)前用戶級(jí)別if(ffxxb.haveczyjb(m_name,m_pwd,jb)=1)ffxxb.setczyjb(jb);cdialog:onok();下面在主對(duì)話框中添加代碼,使對(duì)話框在啟動(dòng)時(shí)首先打開(kāi)登錄對(duì)話框。在主窗口選擇oninitdialog函數(shù),該函數(shù)將打開(kāi)登錄對(duì)話框,如果用戶不是通過(guò)單擊“登錄”按鈕關(guān)閉對(duì)話框,則調(diào)用onok函數(shù)關(guān)閉主對(duì)話框,具體代碼如下:bool cwordglxtdlg:oninitdialog()cdialog:oninitdialog();./ todo: add extra initialization hereclogin gin;if(gin.do
38、modal()!=idok)onok();.return true; / return true unless you set the focus to a control6.4 員工錄入模塊設(shè)計(jì)1實(shí)現(xiàn)目標(biāo)添加員工信息,員工錄入對(duì)話框的設(shè)計(jì)如圖11所示圖6.11 員工錄入對(duì)話框2設(shè)計(jì)步驟(1)向項(xiàng)目中添加一個(gè)新dialog資源,資源id為idd_ygtjk。在idd_ygtjk對(duì)話框資源中單擊鼠標(biāo)右鍵,執(zhí)行彈出快捷菜單的“properties”菜單命令,打開(kāi)“dialog properties”對(duì)話框。在“dialog properties”對(duì)話框中選擇general選項(xiàng)卡,更改其“capti
39、on”文本框內(nèi)容為“員工錄入”。(2)從controls面板上向dialog資源中添加4個(gè)static、2個(gè)combo、2個(gè)edit,更改資源的屬性,并為資源設(shè)置相對(duì)應(yīng)的變量,如表6.2所示。表6.2 資源設(shè)置idpropertiesmember variablestypememberidc_edit1默認(rèn)cstringm_ididc_ edit2默認(rèn)cstringm_name idc_combo1type bitmapccomboboxm_sexidc_combo2caption 退出ccomboboxm_whcdidokcaption 添加idcancelcaption 退出3代碼分析(1
40、)打開(kāi)classwizard窗口,添加在oninitdialog成員函數(shù),向oninitdialog添加代碼如下。bool cygjctjdlg:oninitdialog() cdialog:oninitdialog();/ todo: add extra initialization hereseticon(m_hicon, true);m_sex.addstring(男);m_sex.addstring(女);m_whcd.insertstring(0,???;m_whcd.insertstring(1,本科);m_whcd.insertstring(2,研究生);return true;
41、 / return true unless you set the focus to a control/ exception: ocx property pages should return false(2)當(dāng)用戶單擊“添加“按鈕時(shí),實(shí)現(xiàn)添加員工功能,其響應(yīng)代碼如下void cygjctjdlg:onok() / todo: add extra validation herecygjcxxb xxb;updatedata(true);if(m_id=)messagebox(編號(hào)不能為空);return;if(m_name=)messagebox(姓名不能為空);return;if(xxb.
42、haveid(m_id)=1)messagebox(員工編號(hào)已存在);return;xxb.setygid(m_id);xxb.setygxm(m_name);cstring sex,whcd;m_sex.getwindowtext(sex);if(sex=)messagebox(性別不能為空);return;/從組合框中讀取文本 m_sex.getlbtext(m_sex.getcursel(),strsex);xxb.setsex(strsex);m_whcd.getwindowtext(whcd);if(whcd=)messagebox(文化程度不能為空);return;m_whcd.g
43、etlbtext(m_whcd.getcursel(),strwhcd);xxb.setwhcd(strwhcd);xxb.sql_insert();/向浮動(dòng)工資表添加編號(hào)、姓名cygfdgzxmb xmb;xmb.setygid(m_id);xmb.setygxm(m_name);xmb.sql_insert();/向基本工資表添加編號(hào)、姓名cygjbgzb gzb;gzb.setygid(m_id);gzb.setygxm(m_name);gzb.sql_insert();/向加班休假表添加編號(hào)、姓名cygjbsjb sjb;sjb.setygid(m_id);sjb.setygxm(m_
44、name);sjb.sql_insert();cdialog:onok();6.5 員工工資添加模塊1實(shí)現(xiàn)目標(biāo)添加員工實(shí)際發(fā)放的工資情況,員工工資添加對(duì)話框設(shè)計(jì)如圖12所示。圖6.12 員工工資添加對(duì)話框2設(shè)計(jì)步驟(1)向項(xiàng)目中添加一個(gè)新dialog資源,資源id為idd_yggongzitj。在idd_yggongzitj對(duì)話框資源中單擊鼠標(biāo)右鍵,執(zhí)行彈出快捷菜單的 “properties”菜單命令,打開(kāi)“dialog properties”對(duì)話框。在“dialog properties”對(duì)話框中選擇general選項(xiàng)卡,更改其“caption”文本框內(nèi)容為“員工工資添加”。(2)從cont
45、rols面板上向dialog資源中添加19個(gè)static、17個(gè)edit、2個(gè)button控件,更改資源的屬性,并為資源設(shè)置相對(duì)應(yīng)的變量,如表6.3所示。表6.3 資源設(shè)置idpropertiesmember variablestypememberidc_edit1默認(rèn)cstringm_ididc_edit2默認(rèn)cstringm_nameidc_edit3默認(rèn)intm_jbgzidc_edit4默認(rèn)intm_zwgzidc_edit5默認(rèn)intm_glgzidc_edit6默認(rèn)intm_zfbzidc_edit7默認(rèn)intm_shbzidc_edit8默認(rèn)intm_bxfidc_edit9默認(rèn)
46、intm_jiabtsidc_edit10read-only trueceditm_jiabgzidc_edit11默認(rèn)intm_sjtsidc_edit12read-only trueceditm_sjgzidc_edit13默認(rèn)intm_ylbxjidc_edit14默認(rèn)intm_grsdsidc_edit15默認(rèn)intm_sfgzidc_edit16read-only trueceditm_yfgzidc_edit17read-only trueceditm_syyeidokcaption 添加idcancelcaption 退出idc_buttonsyyecaption 上月余額idc
47、_buttonyfgzcaption 應(yīng)發(fā)工資3代碼分析(1)雙擊“idc_edit9”控件,自動(dòng)生成onchangeedit9函數(shù),實(shí)現(xiàn)用戶添加加班天數(shù)時(shí),加班工資自動(dòng)計(jì)算并顯示,具體代碼如下:void cyggztjdlg:onchangeedit9() / todo: if this is a richedit control, the control will not/ send this notification unless you override the cdialog:oninitdialog()/ function and call cricheditctrl().sete
48、ventmask()/ with the enm_change flag ored into the mask.updatedata(true);cstring str;str.format(%d,m_jiabts*40);m_jiabgz.setwindowtext(str);updatedata(false);/ todo: add your control notification handler code here(2)雙擊“上月余額”按鈕,系統(tǒng)自動(dòng)添加消息響應(yīng)函數(shù)onbuttonsyye,具體代碼如下。void cyggztjdlg:onbuttonsyye() / todo: ad
49、d your control notification handler code hereupdatedata(true);if(m_id=)messagebox(請(qǐng)先填寫(xiě)員工編號(hào));return;adoconn m_adoconn;m_adoconn.oninitadoconn();t = ctime:getcurrenttime();int m,y;cstring str;m=t.getmonth()-1;y=t.getyear();if(m=0)m=12;y=y-1;cgzffmxb mxb;if(mxb.havesyye(m_id,y,m)=1)cstring sql;sql.form
50、at(select * from gzffmxb where ygid=%s and year(sjian)=%i and month(sjian)=%i,m_id,y,m);m_adoconn.getrecordset(_bstr_t)sql);str=(char*)(_bstr_t)m_adoconn.m_precordset-getcollect(yu_e);m_syye.setwindowtext(str);elsem_syye.setwindowtext(0);updatedata(false);m_adoconn.exitconnect();在頭文件中添加下列代碼。ctime t;
51、(3)雙擊“應(yīng)發(fā)工資”按鈕,系統(tǒng)自動(dòng)添加消息響應(yīng)函數(shù)onbuttonyfgz,具體代碼如下:void cyggztjdlg:onbuttonyfgz() / todo: add your control notification handler code hereupdatedata(true);cstring syye;m_syye.getwindowtext(syye);if(syye=)messagebox(請(qǐng)先添加上月余額);return;int yfgz;yfgz=atoi(syye)+m_jbgz+m_glgz+m_zwgz+m_shbz+m_zfbz-m_ylbxj;yfgz+=
52、(-m_bxf+m_jiabts*40-m_sjts*40-m_grsds);cstring str;str.format(%d,yfgz);m_yfgz.setwindowtext(str);(4)為“添加”按鈕添加代碼,實(shí)現(xiàn)添加員工工資功能,代碼如下:void cyggztjdlg:onok() / todo: add extra validation hereupdatedata(true);cygjcxxb xxb;cstring yfgz;m_yfgz.getwindowtext(yfgz);if(m_id=)messagebox(編號(hào)不能為空);return;if(xxb.haveid(m_id)!=1)messagebox(員工編號(hào)不存在);return;if(m_name=)messagebox(姓名不能為空);return;if(xxb.havename(m_id,m_name)!=1)messagebox(員工不存在);return;if(yfg
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《管理會(huì)計(jì) 第3版》 課件 第01章 管理會(huì)計(jì)概述
- 微積分 第3版 課件 7第七節(jié) 二重積分
- 高考語(yǔ)文真題分類卷-專題六 文學(xué)類文本閱讀(含答案)
- 動(dòng)物之最課件教學(xué)課件
- 網(wǎng)絡(luò)接入?yún)f(xié)議書(shū)(2篇)
- 黨群服務(wù)中心建設(shè)工作總結(jié)匯報(bào)
- 南京航空航天大學(xué)《薄膜材料與技術(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《食品工藝學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 富陽(yáng)佳苑4#樓施工組織設(shè)計(jì)
- 南京工業(yè)大學(xué)浦江學(xué)院《混凝土結(jié)構(gòu)基本原理課程設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 第7章散客旅游服務(wù)程序與服務(wù)質(zhì)量《導(dǎo)游業(yè)務(wù)》(第五版)
- 學(xué)習(xí)通《古典詩(shī)詞鑒賞》習(xí)題(含答案)
- 小學(xué)安全課件《按章行路才安全》
- 轉(zhuǎn)爐熱試方案
- 幼兒園繪本:《小蛇散步》 課件
- DBJ∕T 15-104-2015 預(yù)拌砂漿混凝土及制品企業(yè)試驗(yàn)室管理規(guī)范
- 《大灰狼娶新娘》PPT
- 康復(fù)治療技術(shù)(康復(fù)養(yǎng)老服務(wù))專業(yè)群建設(shè)方案
- AT和D-Dimer的臨床應(yīng)用進(jìn)展課件(PPT 44頁(yè))
- 部編本小學(xué)語(yǔ)文一年級(jí)上冊(cè)第1課《秋天》教學(xué)設(shè)計(jì)(第一課時(shí))
- DB33∕1121-2016 民用建筑電動(dòng)汽車充電設(shè)施配置與設(shè)計(jì)規(guī)范
評(píng)論
0/150
提交評(píng)論