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

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  隨著人類文明的不斷進(jìn)步,人們越來越重視工作的高效性和準(zhǔn)確性,也越來越渴望擺脫某些重復(fù)性的繁重勞動。而工資方面的管理又涉及到大量的計算、填寫等簡單重復(fù)性動作,所以有必要實現(xiàn)工資管理方面的改革,將人們解放出來做一些更有意義的工作?,F(xiàn)今社會上各種規(guī)模的企事業(yè)單位和私營企業(yè)日益增多,在所有這些團(tuán)體中,人數(shù)少的不下幾百,多者成千上

2、萬,而工資管理方面的工作也就成為了其中的一個重要環(huán)節(jié)。找一種合適的方法來管理工資,既能為大多數(shù)的單位帶來最大方便,又能保證工資發(fā)放的快速、準(zhǔn)確,且能為企業(yè)節(jié)約成本,帶來一定的經(jīng)濟(jì)效益。傳統(tǒng)的工資管理方法主要是依靠管理員用手工來記錄、計算,這種方法既不方便,又容易出問題,顯然已很不適用。</p><p>  現(xiàn)代社會計算機(jī)技術(shù)日新月異,運用計算機(jī)來進(jìn)行數(shù)據(jù)處理、信息管理已成為計算機(jī)三大主要應(yīng)用之一,鑒于以上社會現(xiàn)實

3、狀況,結(jié)合所學(xué)專業(yè),我決定運用所學(xué)到的計算機(jī)專業(yè)知識及信息管理專業(yè)知識,采用當(dāng)今流行的Microsoft.VFP6.0可視化程序設(shè)計語言在此次畢業(yè)設(shè)計任務(wù)中編制一個用于“工資管理”方面的軟件,以幫助社會上各式各樣,尤其是較小規(guī)模的企事業(yè)單位處理工資管理方面的事務(wù)。</p><p>  本軟件主要適用于較小規(guī)模企事業(yè)單位使用。在軟件的具體編制實現(xiàn)過程中,我要特別感謝趙菊明老師!今天我能夠取得這樣一個小小的成果與她的

4、熱情、全面的幫助是分不開的。 </p><p>  關(guān)鍵詞:數(shù)據(jù)庫;SQL語言;vfp6;工資管理;窗體</p><p><b>  目   錄</b></p><p>  1 Visual FoxPro 6.0概述</p><p>  1.1 Visual Foxpro 6.0 系統(tǒng)簡介</p>

5、<p>  1.2 Visual Foxpro6.0特點</p><p>  1.2.1 友好的用戶界面</p><p>  1.2.2 強(qiáng)大的面向?qū)ο缶庉嫾夹g(shù)的功能</p><p>  1.2.3 快速創(chuàng)建應(yīng)用程序</p><p>  1.2.4 數(shù)據(jù)庫操作簡便</p><p>  1.

6、2.5 可與其他應(yīng)用程序交互操作</p><p>  1.2.6 獨特的開發(fā)客戶/服務(wù)器解決方案</p><p>  1.2.7 可以升級早期版本</p><p>  1.2.8 有很好的幫助系統(tǒng)</p><p>  1.3 Visual Foxpro6.0對系統(tǒng)軟硬件環(huán)境要求</p><p>  

7、1.3.1 硬件環(huán)境</p><p>  1.3.2 軟件環(huán)境</p><p>  1.4 Visual Foxpro6.0技術(shù)指標(biāo)</p><p>  1.4.1 表和索引文件</p><p>  1.4.2 內(nèi)存變量和數(shù)組</p><p>  1.4.3 程序和過程文件</p>

8、<p>  1.4.4 報表</p><p>  1.4.5 其他</p><p>  1.5 Visual FoxPro的幫助系統(tǒng)</p><p>  2 應(yīng)用程序總體設(shè)計</p><p>  2.1 系統(tǒng)需求分析</p><p>  2.1.1 用戶要求:</p>

9、<p>  2.1.2 系統(tǒng)性能要求:</p><p>  2.2 設(shè)計目標(biāo)</p><p>  2.3 數(shù)據(jù)庫設(shè)計</p><p>  2.3.1 數(shù)據(jù)需求分析</p><p>  2.3.2 各數(shù)據(jù)表的結(jié)構(gòu)</p><p>  2.4 系統(tǒng)模塊劃分及各模塊包含的表單</p&g

10、t;<p>  2.4.1 數(shù)據(jù)錄入模塊</p><p>  2.4.2 工資計算模塊</p><p>  2.4.3 工資查詢模塊</p><p>  2.4.4 工資打印模塊</p><p>  2.4.5 系統(tǒng)設(shè)置模塊</p><p>  2.4.6 退出系統(tǒng)模塊</p

11、><p>  2.5 系統(tǒng)數(shù)據(jù)流程圖</p><p>  2.5.1 系統(tǒng)總體結(jié)構(gòu)模塊劃分圖</p><p>  2.5.2 系統(tǒng)總體運行流程圖</p><p>  2.5.3 重要模塊運行流程圖</p><p>  2.6 系統(tǒng)總開發(fā)環(huán)境設(shè)置</p><p><b>

12、  3 模塊的實現(xiàn)</b></p><p>  3.1 各功能表單的編制</p><p>  3.1.1 啟動畫面及系統(tǒng)登錄</p><p>  3.1.2 人員錄入</p><p>  3.1.3 考勤錄入</p><p>  3.1.4 扣款錄入</p><p

13、>  3.1.5 按月計算所有職工工資</p><p>  3.1.6 按月按部門計算職工工資</p><p>  3.1.7 按月按職工姓名計算工資</p><p>  3.1.8 按部門查詢職工工資</p><p>  3.1.9 按職工姓名查詢工資</p><p>  3.1.10 按

14、部門打印職工工資</p><p>  3.1.11 按姓名打印職工工資條</p><p>  3.1.12 管理員設(shè)置</p><p>  3.1.13 修改密碼</p><p>  3.2 公用變量的定義</p><p>  3.3 生成應(yīng)用程序</p><p><

15、b>  4 結(jié)束語</b></p><p>  1 Visual FoxPro 6.0概述</p><p>  1.1 Visual Foxpro 6.0 系統(tǒng)簡介</p><p>  Visual Foxpro6.0是為數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序開發(fā)而設(shè)計的、功能強(qiáng)大的、面向?qū)ο蟮木幊汰h(huán)境。無論是組織信息、運行查詢、創(chuàng)建集成的關(guān)系型數(shù)據(jù)庫系統(tǒng),

16、還是為最終用戶編寫功能全面的數(shù)據(jù)管理應(yīng)用程序,Visual Foxpro都可提供管理數(shù)據(jù)所需的所有工具。</p><p>  Visual Foxpro6.0于1998年9月由微軟公司發(fā)布,是一個基于圖形界面技術(shù)的數(shù)據(jù)庫管理系統(tǒng)軟件,是一個性能完善的數(shù)據(jù)庫編程語言;是xBASE類數(shù)據(jù)庫歷史上最強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng),具有Windows界面、采用面向?qū)ο蟮拈_發(fā)方式、客戶/服務(wù)器的數(shù)據(jù)連接以及OLE的應(yīng)用程序訪問。它還

17、提供了許多可視化開發(fā)工具,如向?qū)?、生成器、設(shè)計器等,使用戶能簡單而迅速地完成數(shù)據(jù)庫操作或應(yīng)用程序的開發(fā)。</p><p>  1.2 Visual Foxpro6.0特點</p><p>  Visual Foxpro6.0是微軟發(fā)行的Microsoft Visual Studio 6.0套裝系統(tǒng)軟件之一。該系統(tǒng)在辦公室管理中應(yīng)用極為廣泛,其理由之一是Visual Foxpro6.0從x

18、BASE發(fā)展而來,而xBASE已有廣泛的用戶群,但更重要的理由是Visual Foxpro6.0有很多的新功能及特性。</p><p>  1.2.1 友好的用戶界面</p><p>  Visual Foxpro6.0系統(tǒng)提供了一套由菜單驅(qū)動,輔助向?qū)?、對話框、設(shè)計器、表達(dá)式生成器等簡潔、功能全面的用戶界面。使用戶可以在友好界面的支持下,用命令或菜單方式快捷地實現(xiàn)對系統(tǒng)的各種操作,從而

19、完成對數(shù)據(jù)管理的任務(wù)。</p><p>  1.2.2 強(qiáng)大的面向?qū)ο缶庉嫾夹g(shù)的功能</p><p>  Visual Foxpro6.0不僅有完善的系統(tǒng)命令、豐富的標(biāo)準(zhǔn)函數(shù),支持傳統(tǒng)的結(jié)構(gòu)化過程編程技術(shù),而且還支持面向?qū)ο蟮目梢暬幊碳夹g(shù)。</p><p>  系統(tǒng)提供了結(jié)構(gòu)化查詢語言-----SQL語言,可以非常有效地訪問索引文件的數(shù)據(jù),迅速而精確地從龐大的、

20、有數(shù)百萬條記錄的表格檢索數(shù)據(jù)。</p><p>  系統(tǒng)支持事件處理、優(yōu)化系統(tǒng)和Rushmore技術(shù)更成熟,速度更快。</p><p>  1.2.3 快速創(chuàng)建應(yīng)用程序</p><p>  Visual Foxpro6.0系統(tǒng)可以用多種方式快速創(chuàng)建應(yīng)用程序,如向?qū)?、項目管理器、生成器、各種設(shè)計器等靈活的工具,這些工具大大提高了開發(fā)應(yīng)用程序的效率。</p>

21、;<p>  1.2.4 數(shù)據(jù)庫操作簡便</p><p>  Visual Foxpro6.0系統(tǒng)中數(shù)據(jù)庫創(chuàng)建與編輯都是在可視化界面上進(jìn)行的,對用戶來說是全透明的。如增刪表、建立索引、查詢、視圖、建立表間的關(guān)系與連接等都是全透明的。</p><p>  1.2.5 可與其他應(yīng)用程序交互操作</p><p>  Visual Foxpro6.0通過數(shù)

22、據(jù)的導(dǎo)入/導(dǎo)出功能,可以方便地與微軟其他應(yīng)用系統(tǒng)共享數(shù)據(jù)。</p><p>  1.2.6 獨特的開發(fā)客戶/服務(wù)器解決方案</p><p>  Visual Foxpro6.0系統(tǒng)通過ODBC可以方便地直接訪問、存儲、檢索和處理服務(wù)器平臺上的信息,提供了客戶/服務(wù)器解決方案。</p><p>  1.2.7 可以升級早期版本</p><p&g

23、t;  Visual Foxpro6.0系統(tǒng)對FoxPro生成的應(yīng)用程序向下兼容。</p><p>  1.2.8 有很好的幫助系統(tǒng)</p><p>  Visual Foxpro6.0提供了強(qiáng)大的幫助功能,在Microsoft Visual Studio 6.0套裝系統(tǒng)軟件中有兩張MSDN(Microsoft Developer Network)Library光盤提供了VB、VF、VC

24、++、VJ++等的幫助系統(tǒng),只要用戶將其安裝,就可以使用幫助。</p><p>  1.3 Visual Foxpro6.0對系統(tǒng)軟硬件環(huán)境要求</p><p>  1.3.1 硬件環(huán)境</p><p>  安裝Visual FoxPro 必須具備以下的硬件系統(tǒng):一臺486、586(或更高檔)處理器的PC兼容機(jī),計算機(jī)中有8MB以上的內(nèi)存并帶有鼠標(biāo)。推薦使用VG

25、A或具有更高分辨率的監(jiān)視器。</p><p>  Visual FoxPro 的便攜式安裝需要15MB硬盤空間,典型安裝需要100MB硬盤空間,最大安裝需要240MB的硬盤空間。</p><p>  1.3.2 軟件環(huán)境</p><p>  中文版Visual FoxPro6.0可以在Windows9x/2000和Windows NT 4.0版本以上(推薦使用Se

26、rvice Pack3)操作系統(tǒng)環(huán)境中使用。 </p><p>  1.4 Visual Foxpro6.0技術(shù)指標(biāo)</p><p>  Visual Foxpro6.0系統(tǒng)的技術(shù)指標(biāo)如下:</p><p>  1.4.1 表和索引文件</p><p>  單個表文件最大記錄數(shù) 1億個</p>

27、<p>  表文件的最大長度 2GB</p><p>  每個記錄最多字符個數(shù) 65500個</p><p>  每個記錄最多字段數(shù) 255個</p><p>  數(shù)值字段最多字符個數(shù) 20個</p&

28、gt;<p>  字符字段最多字符個數(shù) 254個</p><p>  日期字段字符個數(shù) 8個</p><p>  邏輯字段字符個數(shù) 1個</p><p>  每表可打開的最大索引文件數(shù) 不限</p>

29、<p>  工作區(qū)可找開的最大索引文件數(shù) 不限</p><p>  關(guān)系最大數(shù) 不限</p><p>  關(guān)系表達(dá)式值最大長度 不限</p><p>  1.4.2 內(nèi)存變量和數(shù)組</p><p>  內(nèi)存變量默認(rèn)數(shù)

30、 1024個</p><p>  最大內(nèi)存變量數(shù) 65000個</p><p>  最大數(shù)組數(shù) 65000個</p><p>  每個數(shù)組元素最大數(shù) 65000個</p><

31、p>  1.4.3 程序和過程文件</p><p>  源程序文件中最大行數(shù) 不限</p><p>  編譯程序模塊的最大長度 65KB</p><p>  每一文件最大過程數(shù) 不限</p><p>  DO命令最多嵌套層數(shù)

32、 126</p><p>  READ嵌套最大數(shù) 5</p><p>  嵌套結(jié)構(gòu)化命令最大層數(shù) 384</p><p>  嵌套參數(shù)最大數(shù) 27</p><p><b>  1.4.

33、4 報表</b></p><p>  報表表頭最多字符數(shù) 254個</p><p>  報表定義中對象最大數(shù) 不限</p><p>  報表定義最大長度 20層</p><p>  最大分組層數(shù)

34、 128</p><p><b>  1.4.5 其他</b></p><p>  打開窗口的最大數(shù) 不限</p><p>  打開Browse窗口最大數(shù) 255個</p><p>  字符串的最大字符數(shù)

35、 2GB</p><p>  每個命令行的最大字符數(shù) 8192個</p><p>  報表中每個標(biāo)簽控件的最大字符數(shù) 252個</p><p>  每個宏替換行的最大字符數(shù) 8192個</p><p>  可打開文件最大數(shù)

36、 受操作系統(tǒng)的限制</p><p>  可以由SQL SELECT語句選擇的最大字段數(shù) 255個</p><p>  1.5 Visual FoxPro的幫助系統(tǒng)</p><p>  Visual FoxPro可以通過“幫助”|“Microsoft Visual FoxPro 的幫助主題”|“目錄”|“搜索”|“索引”命令等獲得

37、幫助。當(dāng)然前提是先要安裝Microsoft Studio6.0包中的MSDN Library兩張光盤,如圖1.1所示就是單擊“幫助”|“Microsoft Visual FoxPro幫助主題”命令后彈出的MSDN的界面。 </p><p><b>  圖1.1</b></p><p>  從圖中可見,用戶可以用不同的方式來使用幫助功能,如“目錄”方式、“索引”方式、“

38、搜索”方式與“書簽”方式。MSDN就是一部很好的工具書,用戶可以通過它學(xué)習(xí)一些書本中學(xué)不到的知識。</p><p>  2 應(yīng)用程序總體設(shè)計</p><p>  2.1 系統(tǒng)需求分析</p><p>  數(shù)據(jù)庫應(yīng)用系統(tǒng)的最終目的就是為用戶提供一個滿足長期需要的軟件產(chǎn)品。因此,成功地開發(fā)一個數(shù)據(jù)庫應(yīng)用系統(tǒng)的關(guān)鍵之一是要詳細(xì)地了解用戶的需求,然后再圍繞用戶的需求進(jìn)行

39、開發(fā)。</p><p>  2.1.1 用戶要求:</p><p> ?、?對職工基本及其工資情況進(jìn)行系統(tǒng)管理;</p><p>  ② 能夠隨時添加、刪除、修改職工基本信息;</p><p> ?、?能夠隨時通過各種方式查詢職工工資發(fā)放情況;</p><p>  ④ 對職工借款和扣款進(jìn)行相應(yīng)處理;</p>

40、;<p> ?、?能按各種要求打印出職工工資發(fā)放表。</p><p>  2.1.2 系統(tǒng)性能要求:</p><p> ?、?準(zhǔn)確可靠、功能齊全;</p><p>  ② 操作直觀、方便、用戶界面友好;</p><p>  ③ 占用系統(tǒng)資源容量少,運行穩(wěn)定;</p><p> ?、?便于擴(kuò)充及維護(hù)。&l

41、t;/p><p><b>  2.2 設(shè)計目標(biāo)</b></p><p>  本次設(shè)計的主要目標(biāo)是通過利用當(dāng)今最流行可視化編程工具Visual Foxpro6.0設(shè)計一應(yīng)用程序。利用VF的數(shù)據(jù)庫編程,編寫程序來實現(xiàn)用戶對工資數(shù)據(jù)的錄入、修改、檢索等操作。讓用戶方便地掌握職工的基本信息與職工出勤及扣款情況,利用編程來實現(xiàn)信息的輸入、編輯(刪、插、改)、檢索及數(shù)據(jù)備份等功能,

42、繼而完成對工資信息數(shù)據(jù)庫的必要操作。</p><p>  2.3 數(shù)據(jù)庫設(shè)計</p><p>  數(shù)據(jù)庫設(shè)計在數(shù)據(jù)庫應(yīng)用系統(tǒng)中是一項非常重要的工作,一個數(shù)據(jù)庫性能的好壞將直接影響數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能。</p><p>  2.3.1 數(shù)據(jù)需求分析</p><p>  在工資管理系統(tǒng)中,首先應(yīng)必須對每個職工的基本信息如姓名、性別、所在部門、

43、職稱、職務(wù)、參加工作日期、上崗日期等進(jìn)行記錄并存入數(shù)據(jù)庫,以方便進(jìn)行查詢。其次同理應(yīng)當(dāng)對職工的相關(guān)資料進(jìn)行記錄并存入數(shù)據(jù)庫,以利于管理員了解職工的情況。另外,對職工出勤情況、職工借款及扣款明細(xì)等也必須進(jìn)行記錄。最后,為識別用戶身份(管理員)應(yīng)專門設(shè)計一個口令表,以便賦于用戶使用權(quán)。</p><p>  2.3.2 各數(shù)據(jù)表的結(jié)構(gòu)</p><p>  根據(jù)以上的數(shù)據(jù)需求分析,建立以下幾個數(shù)

44、據(jù)表分別為:ryb.dbf(職工信息表)、bmb.dbf(部門表)、zcb.dbf(職稱表)、gxb.dbf(崗序表)、zwb.dbf(職務(wù)表)、kkb.dbf(扣款表)、cqb.dbf(出勤表)、mmb.dbf(用戶登錄表)各表的具體結(jié)構(gòu)如下:</p><p> ?、?所用數(shù)據(jù)表的結(jié)構(gòu)</p><p>  1.ryb.dbf 唯一索引:bh,普通索引:bmdm</p&g

45、t;<p><b>  表2.1</b></p><p>  2. bmb.dbf 唯一索引:bmdm</p><p><b>  表2.2</b></p><p>  3. zcb.dbf </p><p><b>  表2.3</b>&

46、lt;/p><p>  4. gxb.dbf </p><p><b>  表2.4</b></p><p>  5. zwb.dbf </p><p><b>  表2.5</b></p><p>  6.kkb.dbf 唯一索引:bh<

47、;/p><p><b>  表2.6</b></p><p>  7.cqb.dbf 唯一索引:bh</p><p><b>  表2.7</b></p><p>  8. mmb.dbf</p><p><b>  表2.8</b></p

48、><p><b> ?、?相關(guān)表間的關(guān)聯(lián)</b></p><p>  根據(jù)系統(tǒng)數(shù)據(jù)數(shù)據(jù)處理的需要,相關(guān)表之間進(jìn)行了關(guān)聯(lián),關(guān)聯(lián)情況如圖2.1所示。圖中用矩形框表示表,需要關(guān)聯(lián)的兩個表用線段連接,連線上方標(biāo)出了關(guān)聯(lián)關(guān)鍵字。</p><p>  表間關(guān)聯(lián)的設(shè)計(圖2.1)</p><p><b>  ③ 需用到的公式&l

49、t;/b></p><p>  本系統(tǒng)用到以下幾個計算式:</p><p>  式(2.1) 職工工資=職工日工資×職工月出勤天數(shù)+職工日工資×職工月病假天數(shù)×80%;</p><p>  式(2.2) 職工崗位工資=職工工資×40%;</p><p>  式(2.3) 職工效益工資=職工工資&#

50、215;40%;</p><p>  式(2.4) 職工職能工資=職工工資×20%;</p><p>  式(2.5) 應(yīng)付工資=職工崗位工資+職工效益工資+職工職能工資;</p><p>  式(2.6) 扣款=職工借款-水電費-衛(wèi)生費-存車費;</p><p>  式(2.7) 實付工資=應(yīng)付工資-扣款。</p>

51、<p>  2.4 系統(tǒng)模塊劃分及各模塊包含的表單</p><p>  登錄模塊中主要設(shè)置系統(tǒng)管理員級別的用戶。系統(tǒng)管理員登錄成功后可以進(jìn)行所有功能模塊的操作。其用戶登錄后的模塊功能如下:</p><p>  2.4.1 數(shù)據(jù)錄入模塊 </p><p>  此模塊實現(xiàn)對職工的基本信息,職工的出勤情況及職工的借款和扣款情況進(jìn)行登記。分別用三個表單實現(xiàn)對

52、職工信息、職工出勤、職工借(扣)款的錄入等功能。操作對象分別為ryb.dbf(職工信息表)、cqb.dbf(出勤表)和kkb.dbf(扣款表)。包含的表單分別為:rydj.scx、kqdj.scx、kkdj.scx。</p><p>  2.4.2 工資計算模塊 </p><p>  此模塊實現(xiàn)對所有職工的工資進(jìn)行按月計算,對某部門的全部職工按月計算工資,按月計算單個職工工資。分別用三

53、個表單實現(xiàn)上述功能。包含的表單分別為:jsqbgz.scx、jsdwgz.scx、jsdrgz.scx。</p><p>  2.4.3 工資查詢模塊 </p><p>  此模塊實現(xiàn)按部門查詢職工工資和按姓名查詢職工工資。分別用兩個表單實現(xiàn)上述功能。包含的表單分別為:abmcz.scx、axmcz.scx。</p><p>  2.4.4 工資打印模塊 &

54、lt;/p><p>  此模塊實現(xiàn)按部門打印職工工資發(fā)放表和按姓名打印職工工資條。分別用兩個表單調(diào)用相關(guān)報表實現(xiàn)上述功能。包含的表單和報表分別為:abmdy.scx、dydwgz.frx和axmdy.scx、dygrgz.frx。</p><p>  2.4.5 系統(tǒng)設(shè)置模塊 </p><p>  此模塊實現(xiàn)系統(tǒng)管理員設(shè)置和密碼修改兩項功能。分別用兩個表單實現(xiàn),操作

55、對象為mmb.dbf(用戶登錄表)。包含的表單分別為:glysz.scx、xgmm.scx。</p><p>  2.4.6 退出系統(tǒng)模塊 </p><p>  此模塊實現(xiàn)系統(tǒng)的退出功能,用clear events命令來實現(xiàn)。</p><p>  2.5 系統(tǒng)數(shù)據(jù)流程圖</p><p>  2.5.1 系統(tǒng)總體結(jié)構(gòu)模塊劃分圖</

56、p><p><b>  (見圖2.2)</b></p><p>  2.5.2 系統(tǒng)總體運行流程圖</p><p><b>  (見圖2.3)</b></p><p>  2.5.3 重要模塊運行流程圖</p><p>  ① 人員錄入模塊流程圖</p>&l

57、t;p><b>  (見圖2.4)</b></p><p> ?、?按職工姓名計算工資模塊流程圖</p><p><b>  (見圖2.5)</b></p><p>  總體結(jié)構(gòu)圖(圖2.2)</p><p><b>  圖2.3</b></p><

58、p><b>  圖2.4</b></p><p>  圖2.4所示為“人員錄入”模塊中的增加功能運行流程,其它功能流程與此相同不再另畫。</p><p>  2.6 系統(tǒng)總開發(fā)環(huán)境設(shè)置</p><p> ?、?在F:\建立“畢業(yè)設(shè)計”文件夾,在VFP6.0中設(shè)置默認(rèn)目錄為F:\畢業(yè)設(shè)計,并設(shè)置表單最大設(shè)計區(qū)為640×480。&

59、lt;/p><p>  ② 在畢業(yè)設(shè)計文件夾下新建立PIC文件夾,以便用來保存在表單設(shè)計中用到的圖片。</p><p> ?、?以2.3.2中各數(shù)據(jù)表結(jié)構(gòu)為準(zhǔn)建立數(shù)據(jù)表。</p><p><b>  圖2.5</b></p><p><b>  3 模塊的實現(xiàn)</b></p><p

60、>  3.1 各功能表單的編制</p><p>  3.1.1 啟動畫面及系統(tǒng)登錄</p><p> ?、?cshjm.scx(系統(tǒng)啟動界面表單) </p><p><b>  1)、表單界面</b></p><p>  運行程序后,將顯示如下初始化界面:(見圖3.1)</p><p>

61、  2)、主要控件及事件代碼:</p><p>  label2(單擊鼠標(biāo)左鍵進(jìn)入系統(tǒng))的click事件:</p><p>  thisform.release</p><p>  do form xtdl</p><p>  執(zhí)行l(wèi)abel2(單擊鼠標(biāo)左鍵進(jìn)入系統(tǒng))按鈕的click事件后,將調(diào)用xtdl.scx表單顯示如下結(jié)果: (見圖3.

62、2)</p><p> ?、?xtdl.scx(系統(tǒng)登錄表單)</p><p>  1)、主要控件及事件代碼:</p><p>  command1(確定)按鈕的click事件:</p><p>  dlyhm=thisform.text1.value</p><p><b>  sele 1</b&g

63、t;</p><p><b>  use mmb</b></p><p><b>  go top</b></p><p>  loca for alltrim(yhm)=alltrim(dlyhm)</p><p>  if mmb.mm==alltrim(thisform.text2.value

64、)</p><p>  thisform.visible=.f.</p><p>  do gzglcd.mpr</p><p>  read event</p><p><b>  quit</b></p><p><b>  else</b></p><

65、;p>  messagebox("密碼錯,禁止進(jìn)入系統(tǒng)!") </p><p>  thisform.command2.click</p><p><b>  endif</b></p><p>  command2(退出)按鈕的click事件:</p><p>  thisform.rele

66、ase</p><p>  如果密碼輸入正確,則調(diào)用gzglcd.mpr菜單程序進(jìn)入系統(tǒng)執(zhí)行下列功能;否則就退出系統(tǒng)。</p><p><b>  圖3.1</b></p><p><b>  圖3.2</b></p><p>  3.1.2 人員錄入</p><p>  

67、rydj.scx(職工基本信息登記表單)</p><p> ?、?表單界面及包含的控件:(見圖3.3)</p><p>  控件:Form1、Label1、Label2、Label3、Label4、Label5、Label6、Label7、Label8、Label9、Label10、Label11、Lblxm、Lblxb、Lblbm、Lblzw、Lblzc、Lblgx、Lblcjgzrq

68、、Lblsgrq、Lblgwgz、Text1、Text2、Text3、Text4、Text5、Text6、Text7、Text8、Text9、Text10、Combo1、Combo2、Combo3、Combo4、line1、line2、commandgroup1、check1、check2</p><p> ?、?幾個控件的重要屬性:</p><p>  1)、form1屬性 wi

69、ndowstate:0-普通</p><p>  2)、Combo1屬性 RowSource:bmb.bmmc, RowSourcetype:6-字段</p><p>  Combo2屬性 RowSource:zcb.zcmc, RowSourcetype:6-字段</p><p>  Combo3屬性 RowSource:zwb.zwmc, RowSo

70、urcetype:6-字段</p><p>  Combo4屬性 RowSource:gxb.gxmc, RowSourcetype:6-字段</p><p><b>  圖3.3</b></p><p>  ③ 主要的事件代碼:</p><p>  Text6的lostfocus事件:</p>&l

71、t;p>  &&為text1賦值,當(dāng)參加工作日期輸入完畢,則自動計算工齡并填入text1文本框。</p><p>  thisform.text1.value=ltrim(str(year(date())-val(thisform.text4.value)+1))</p><p>  Text9的lostfocus事件:</p><p>  &

72、amp;&為text2賦值,當(dāng)上崗日期輸入完畢,則自動計算崗齡并填入text2文本框。</p><p>  thisform.text2.value=ltrim(str(year(date())-val(thisform.text7.value)+1))</p><p>  combo4的lostfocus事件:</p><p>  &&為t

73、ext10賦值,當(dāng)崗序輸入完畢,則自動計算崗位工資并填入text10文本框。</p><p><b>  sele gxb</b></p><p><b>  go top</b></p><p>  gl=val(thisform.text1.value)</p><p><b>  d

74、o case</b></p><p>  case gl>=1 and gl<5</p><p><b>  glgz=1*gl</b></p><p>  case gl>=5 and gl<10</p><p><b>  glgz=2*gl</b></

75、p><p>  case gl>=10 </p><p><b>  glgz=3*gl</b></p><p><b>  endc</b></p><p>  zggx=thisform.combo4.value</p><p>  loca for gxmc=zggx

76、</p><p>  zggwgz=glgz+gxb.gxgz</p><p>  thisform.text10.value=ltrim(str(zggwgz))</p><p>  commandgroup1的click事件:</p><p><b>  sele ryb</b></p><p&g

77、t;<b>  do case</b></p><p>  case this.value=1 &&下頁</p><p>  thisform.check1.value=0</p><p>  thisform.check2.value=0</p><p>  if recn()<recc()<

78、;/p><p><b>  skip</b></p><p>  set strictdate to 0 &&使用通常的日期格式 </p><p>  thisform.text1.value=ltrim(str(year(date())-year(ryb.cjgzrq)+1)) &&計算工齡 </p>

79、<p>  thisform.text2.value=ltrim(str(year(date())-year(ryb.sgrq)+1)) &&計算崗齡</p><p>  thisform.text3.value=ryb.xm &&填寫姓名</p><p>  thisform.text4.value=ltrim(str(year(ryb.cj

80、gzrq)))&&填寫參加工作年份</p><p>  thisform.text5.value=ltrim(str(month(ryb.cjgzrq)))&&填寫參加工作月份</p><p>  thisform.text6.value=ltrim(str(day(ryb.cjgzrq)))&&填寫參加工作日</p><

81、p>  thisform.text7.value=ltrim(str(year(ryb.sgrq)))&&填寫上崗年份</p><p>  thisform.text8.value=ltrim(str(month(ryb.sgrq)))&&填寫上崗月份</p><p>  thisform.text9.value=ltrim(str(day(ryb.s

82、grq)))&&填寫上崗日</p><p>  thisform.text10.value=ltrim(str(ryb.gwgz))&&填寫崗位工資</p><p>  sele bmb&&打開部門表</p><p><b>  go top</b></p><p>  s

83、zbmbm=ryb.bmdm</p><p>  loca for bmdm=szbmbm</p><p>  thisform.combo1.value=bmb.bmmc&&填寫所在部門名稱</p><p>  sele zwb&&打開職務(wù)表</p><p><b>  go top</b&g

84、t;</p><p>  zgzwbm=ryb.zwdm</p><p>  loca for zwdm=zgzwbm</p><p>  thisform.combo3.value=zwb.zwmc&&填寫所擔(dān)任職務(wù)名稱</p><p>  sele zcb&&打開職稱表</p><p&g

85、t;<b>  go top</b></p><p>  zgzcbm=ryb.zcdm</p><p>  loca for zcdm=zgzcbm</p><p>  thisform.combo2.value=zcb.zcmc&&填寫所取得職稱名稱</p><p>  sele gxb&&a

86、mp;打開崗序表</p><p><b>  go top</b></p><p>  gl=val(thisform.text1.value)</p><p><b>  do case</b></p><p>  case gl>=1 and gl<5</p><

87、p>  zggxgz=ryb.gwgz-1*gl</p><p>  case gl>=5 and gl<10</p><p>  zggxgz=ryb.gwgz-2*gl</p><p>  case gl>=10 </p><p>  zggxgz=ryb.gwgz-3*gl</p><p>

88、;<b>  endc </b></p><p>  loca for gxgz=zggxgz</p><p>  thisform.combo4.value=gxb.gxmc&&填寫崗序名稱</p><p>  if ryb.xb='男'</p><p>  thisform.check

89、1.value=1 </p><p><b>  else </b></p><p>  thisform.check2.value=1 </p><p>  endif &&計算性別</p><p><b>  endi</b></p><p>  cas

90、e this.value=2 &&上頁</p><p>  thisform.check1.value=0</p><p>  thisform.check2.value=0</p><p>  if recn()>1</p><p><b>  skip -1</b></p><

91、;p>  set strictdate to 0 &&使用通常的日期格式 </p><p>  thisform.text1.value=ltrim(str(year(date())-year(ryb.cjgzrq)+1)) &&計算工齡 </p><p>  thisform.text2.value=ltrim(str(year(date())-ye

92、ar(ryb.sgrq)+1)) &&計算崗齡</p><p>  thisform.text3.value=ryb.xm &&填寫姓名</p><p>  thisform.text4.value=ltrim(str(year(ryb.cjgzrq)))&&填寫參加工作年份</p><p>  thisform.t

93、ext5.value=ltrim(str(month(ryb.cjgzrq)))&&填寫參加工作月份</p><p>  thisform.text6.value=ltrim(str(day(ryb.cjgzrq)))&&填寫參加工作日</p><p>  thisform.text7.value=ltrim(str(year(ryb.sgrq)))&

94、;&填寫上崗年份</p><p>  thisform.text8.value=ltrim(str(month(ryb.sgrq)))&&填寫上崗月份</p><p>  thisform.text9.value=ltrim(str(day(ryb.sgrq)))&&填寫上崗日</p><p>  thisform.text1

95、0.value=ltrim(str(ryb.gwgz))&&填寫崗位工資</p><p>  sele bmb&&打開部門表</p><p><b>  go top</b></p><p>  szbmbm=ryb.bmdm</p><p>  loca for bmdm=szbmbm&

96、lt;/p><p>  thisform.combo1.value=bmb.bmmc&&填寫所在部門名稱</p><p>  sele zwb&&打開職務(wù)表</p><p><b>  go top</b></p><p>  zgzwbm=ryb.zwdm</p><p&

97、gt;  loca for zwdm=zgzwbm</p><p>  thisform.combo3.value=zwb.zwmc&&填寫所擔(dān)任職務(wù)名稱</p><p>  sele zcb&&打開職稱表</p><p><b>  go top</b></p><p>  zgzcbm

98、=ryb.zcdm</p><p>  loca for zcdm=zgzcbm</p><p>  thisform.combo2.value=zcb.zcmc&&填寫所取得職稱名稱</p><p>  sele gxb&&打開崗序表</p><p><b>  go top</b>&l

99、t;/p><p>  gl=val(thisform.text1.value)</p><p><b>  do case</b></p><p>  case gl>=1 and gl<5</p><p>  zggxgz=ryb.gwgz-1*gl</p><p>  case gl&

100、gt;=5 and gl<10</p><p>  zggxgz=ryb.gwgz-2*gl</p><p>  case gl>=10 </p><p>  zggxgz=ryb.gwgz-3*gl</p><p><b>  endc </b></p><p>  loca for

101、 gxgz=zggxgz</p><p>  thisform.combo4.value=gxb.gxmc&&填寫崗序名稱</p><p>  if ryb.xb='男'</p><p>  thisform.check1.value=1 </p><p><b>  else </b>&

102、lt;/p><p>  thisform.check2.value=1 </p><p>  endif &&計算性別</p><p><b>  endi</b></p><p>  case this.value=3 &&首頁</p><p>  thisform

103、.check1.value=0</p><p>  thisform.check2.value=0</p><p><b>  go top</b></p><p>  set strictdate to 0 &&使用通常的日期格式 </p><p>  thisform.text1.value=ltri

104、m(str(year(date())-year(ryb.cjgzrq)+1)) &&計算工齡 </p><p>  thisform.text2.value=ltrim(str(year(date())-year(ryb.sgrq)+1)) &&計算崗齡</p><p>  thisform.text3.value=ryb.xm &&填寫姓

105、名</p><p>  thisform.text4.value=ltrim(str(year(ryb.cjgzrq)))&&填寫參加工作年份</p><p>  thisform.text5.value=ltrim(str(month(ryb.cjgzrq)))&&填寫參加工作月份</p><p>  thisform.text6.

106、value=ltrim(str(day(ryb.cjgzrq)))&&填寫參加工作日</p><p>  thisform.text7.value=ltrim(str(year(ryb.sgrq)))&&填寫上崗年份</p><p>  thisform.text8.value=ltrim(str(month(ryb.sgrq)))&&填寫上

107、崗月份</p><p>  thisform.text9.value=ltrim(str(day(ryb.sgrq)))&&填寫上崗日</p><p>  thisform.text10.value=ltrim(str(ryb.gwgz))&&填寫崗位工資</p><p>  sele bmb&&打開部門表</p

108、><p><b>  go top</b></p><p>  szbmbm=ryb.bmdm</p><p>  loca for bmdm=szbmbm</p><p>  thisform.combo1.value=bmb.bmmc&&填寫所在部門名稱</p><p>  sel

109、e zwb&&打開職務(wù)表</p><p><b>  go top</b></p><p>  zgzwbm=ryb.zwdm</p><p>  loca for zwdm=zgzwbm</p><p>  thisform.combo3.value=zwb.zwmc&&填寫所擔(dān)任職務(wù)名

110、稱</p><p>  sele zcb&&打開職稱表</p><p><b>  go top</b></p><p>  zgzcbm=ryb.zcdm</p><p>  loca for zcdm=zgzcbm</p><p>  thisform.combo2.value

111、=zcb.zcmc&&填寫所取得職稱名稱</p><p>  sele gxb&&打開崗序表</p><p><b>  go top</b></p><p>  gl=val(thisform.text1.value)</p><p><b>  do case</b&g

112、t;</p><p>  case gl>=1 and gl<5</p><p>  zggxgz=ryb.gwgz-1*gl</p><p>  case gl>=5 and gl<10</p><p>  zggxgz=ryb.gwgz-2*gl</p><p>  case gl>=

113、10 </p><p>  zggxgz=ryb.gwgz-3*gl</p><p><b>  endc </b></p><p>  loca for gxgz=zggxgz</p><p>  thisform.combo4.value=gxb.gxmc&&填寫崗序名稱</p><

114、;p>  if ryb.xb='男'</p><p>  thisform.check1.value=1 </p><p><b>  else </b></p><p>  thisform.check2.value=1 </p><p>  endif &&計算性別</p

115、><p>  case this.value=4 &&末頁</p><p>  thisform.check1.value=0</p><p>  thisform.check2.value=0</p><p><b>  go bott</b></p><p>  set stric

116、tdate to 0 &&使用通常的日期格式 </p><p>  thisform.text1.value=ltrim(str(year(date())-year(ryb.cjgzrq)+1)) &&計算工齡 </p><p>  thisform.text2.value=ltrim(str(year(date())-year(ryb.sgrq)+1))

117、 &&計算崗齡</p><p>  thisform.text3.value=ryb.xm &&填寫姓名</p><p>  thisform.text4.value=ltrim(str(year(ryb.cjgzrq)))&&填寫參加工作年份</p><p>  thisform.text5.value=ltrim(

118、str(month(ryb.cjgzrq)))&&填寫參加工作月份</p><p>  thisform.text6.value=ltrim(str(day(ryb.cjgzrq)))&&填寫參加工作日</p><p>  thisform.text7.value=ltrim(str(year(ryb.sgrq)))&&填寫上崗年份</

119、p><p>  thisform.text8.value=ltrim(str(month(ryb.sgrq)))&&填寫上崗月份</p><p>  thisform.text9.value=ltrim(str(day(ryb.sgrq)))&&填寫上崗日</p><p>  thisform.text10.value=ltrim(str

120、(ryb.gwgz))&&填寫崗位工資</p><p>  sele bmb&&打開部門表</p><p><b>  go top</b></p><p>  szbmbm=ryb.bmdm</p><p>  loca for bmdm=szbmbm</p><p&

121、gt;  thisform.combo1.value=bmb.bmmc&&填寫所在部門名稱</p><p>  sele zwb&&打開職務(wù)表</p><p><b>  go top</b></p><p>  zgzwbm=ryb.zwdm</p><p>  loca for zwd

122、m=zgzwbm</p><p>  thisform.combo3.value=zwb.zwmc&&填寫所擔(dān)任職務(wù)名稱</p><p>  sele zcb&&打開職稱表</p><p><b>  go top</b></p><p>  zgzcbm=ryb.zcdm</p&g

123、t;<p>  loca for zcdm=zgzcbm</p><p>  thisform.combo2.value=zcb.zcmc&&填寫所取得職稱名稱</p><p>  sele gxb&&打開崗序表</p><p><b>  go top</b></p><p&g

124、t;  gl=val(thisform.text1.value)</p><p><b>  do case</b></p><p>  case gl>=1 and gl<5</p><p>  zggxgz=ryb.gwgz-1*gl</p><p>  case gl>=5 and gl<1

125、0</p><p>  zggxgz=ryb.gwgz-2*gl</p><p>  case gl>=10 </p><p>  zggxgz=ryb.gwgz-3*gl</p><p><b>  endc </b></p><p>  loca for gxgz=zggxgz</

126、p><p>  thisform.combo4.value=gxb.gxmc&&填寫崗序名稱</p><p>  if ryb.xb='男'</p><p>  thisform.check1.value=1 </p><p><b>  else </b></p><p&

127、gt;  thisform.check2.value=1 </p><p>  endif &&計算性別</p><p>  case this.value=5 &&尋頁</p><p>  do form axmdwcx</p><p>  case this.value=6 &&增頁<

128、;/p><p>  zy=messagebox('是要增頁嗎?',1+48+256,'確認(rèn)增加新職工')</p><p>  && 對話框含確定和取消按鈕,驚嘆號圖標(biāo);第2個按鈕(取消按鈕)是默認(rèn)按鈕 </p><p>  if zy=1 &&確定按鈕</p><p>  go bo

129、tt &&為得到當(dāng)前最大編號</p><p>  zgbh=str(val(ryb.bh)+1,4)&&為bh字段設(shè)置賦值變量zgbh</p><p>  zgxm=thisform.text3.value&&為xm字段設(shè)置賦值變量zgxm</p><p>  if thisform.check1.value=1 &l

溫馨提示

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

評論

0/150

提交評論