VFP應(yīng)用程序設(shè)計(jì)實(shí)例_第1頁(yè)
VFP應(yīng)用程序設(shè)計(jì)實(shí)例_第2頁(yè)
VFP應(yīng)用程序設(shè)計(jì)實(shí)例_第3頁(yè)
VFP應(yīng)用程序設(shè)計(jì)實(shí)例_第4頁(yè)
VFP應(yīng)用程序設(shè)計(jì)實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、VFP應(yīng)用程序設(shè)計(jì)實(shí)例-學(xué)生學(xué)籍管理系統(tǒng)(1)電腦筆記 2007-10-29 16:43:36 閱讀2795評(píng)論5字號(hào):大中小圖1MIS是英文Ma nageme nt In formation System的英文縮寫,意思是信息管理系統(tǒng),該系統(tǒng)可用于中小型企事業(yè)單位業(yè)務(wù)處理和信息交流 ,從而大大提高了企業(yè)運(yùn)作的效率。微軟公司的 VisualFoxPro可視化面向?qū)ο蟮木幊誊浖且粋€(gè)設(shè)計(jì)MIS系統(tǒng)即簡(jiǎn)單又快捷的好軟件。下面,就以VFP6.0為開發(fā)環(huán)境,講述設(shè)計(jì)學(xué)生學(xué)籍管理系統(tǒng)的詳細(xì)設(shè)計(jì)過(guò)程,也為在看過(guò)了前面非表單設(shè)計(jì)的學(xué)生學(xué)籍管理系統(tǒng)的朋友們繼續(xù)了解并學(xué)習(xí)采用表單(Form)的方式設(shè)計(jì)MIS系統(tǒng)

2、的方法。一、設(shè)計(jì)思路:學(xué)生學(xué)籍管理系統(tǒng)的運(yùn)行以封面表單開始,如圖1所示,要求用戶輸入登錄密碼,并設(shè)置三次檢查功能,若三次輸入的密碼均有錯(cuò),則自動(dòng)退岀系統(tǒng);否則岀現(xiàn)系統(tǒng)菜單,接收用戶的操作,操作完畢后用戶可以從系統(tǒng)菜單中退出系統(tǒng)。二、系統(tǒng)功能:系統(tǒng)的功能主要分成十個(gè)功能模塊,它們是:錄入數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù) 據(jù)、查詢數(shù)據(jù)、統(tǒng)計(jì)數(shù)據(jù)、顯示數(shù)據(jù)、打印數(shù)據(jù)、導(dǎo)出數(shù)據(jù)、導(dǎo)入數(shù)據(jù)和清空數(shù)據(jù)。錄入數(shù)據(jù)可以實(shí)現(xiàn) 學(xué)生信息的錄入;修改數(shù)據(jù)可以實(shí)現(xiàn)學(xué)生信息的修改;刪除數(shù)據(jù)可以實(shí)現(xiàn)學(xué)生數(shù)據(jù)的刪除;查詢數(shù)據(jù) 可以實(shí)現(xiàn)學(xué)生信息的查詢;統(tǒng)計(jì)數(shù)據(jù)可以實(shí)現(xiàn)學(xué)生人數(shù) 、黨員人數(shù)、學(xué)生總平均成績(jī)、高數(shù)平均成績(jī)、 英語(yǔ)平均成績(jī)和

3、VFP平均成績(jī)的統(tǒng)計(jì);顯示數(shù)據(jù)可以實(shí)現(xiàn)以字段分布和二維表兩種方式顯示學(xué)生信打印數(shù)據(jù)可以實(shí)現(xiàn)用報(bào)表的形式打印學(xué)生的信息;導(dǎo)岀數(shù)據(jù)可以實(shí)現(xiàn)學(xué)生數(shù)據(jù)的備份,防止數(shù)據(jù)丟失;導(dǎo)入數(shù)據(jù)可以實(shí)現(xiàn)學(xué)生數(shù)據(jù)的還原,保證數(shù)據(jù)的正確性;清空數(shù)據(jù)可以實(shí)現(xiàn)學(xué)生數(shù)據(jù)的清空 操作。三、菜單結(jié)構(gòu)框架圖學(xué)生學(xué)藉管理系統(tǒng)主程序登錄窗口主菜單VVV VV1IF 4 V V錄 入 歡 據(jù)修 改 數(shù) 據(jù)刪 除 數(shù) 據(jù)查 詢據(jù)統(tǒng)計(jì)數(shù)據(jù)顯 示 數(shù) 據(jù)導(dǎo)出據(jù)措空數(shù)據(jù)四、數(shù)據(jù)庫(kù)結(jié)構(gòu):(可定義表名為xj.dbf)字段名類型寬度小數(shù)位數(shù)學(xué)號(hào)字符型2姓名字符型6性別字符型2出生年月字符型10郵編字符型6高數(shù)數(shù)值型51英語(yǔ)數(shù)值型51VFP數(shù)值型51是

4、否黨員字符型2電話字符型8通信地址字符型30備注備注型4五、具體設(shè)計(jì):(給出源代碼,表單屬性可參照?qǐng)D示在VFP屬性框中設(shè)置,所有程序文件和表單文件均通過(guò)VFP項(xiàng)目管理器建立)1學(xué)生學(xué)籍管理系統(tǒng)主程序源代碼(可定義程序名為 mai n.prg)_SCREEN.WIND0WSTATE=2&&設(shè)置窗口規(guī)格為第 2種系統(tǒng)窗口_SCREEN.CAPTION生學(xué)籍管理系統(tǒng)“&&設(shè)置窗口標(biāo)題為“學(xué)生學(xué)籍管理系統(tǒng)”_SCREEN.CLOSABLE=.T. && 去掉關(guān)閉按鈕_SCREEN.CONTROLBOX=.F. && 去掉控制按鈕_SCRE

5、EN.MAXBUTTON=.F. &&去掉最大化按鈕_SCREEN.MINBUTTON=.F. &&去掉最小化按鈕_SCREEN.BACKCOLOR=RGB(50,100,128) &&設(shè)置窗口的背景色CLOSE ALLCLEAR ALLCLEARSET SYSMENU OFFSET SYSMENU TOSET TALK OFFSET SAFETY OFFSET STATUS BAR OFF && 關(guān)閉 Visual Foxpro 的狀態(tài)欄封面.sex &&調(diào)用系統(tǒng)登錄“封面”表單READ EVENT &&

6、amp;響應(yīng)用戶輸入菜單.MPX &&運(yùn)行系統(tǒng)菜單READ EVENTSET SYSMENU TO DEFAULT &&恢復(fù) Visual Foxpro的系統(tǒng)菜單的默認(rèn)值SET SYSMENU ON &&顯示 Visual Foxpro的系統(tǒng)菜單SET STATUS BAR ON &&顯示 Visual Foxpro 的狀態(tài)欄CLOSE ALL &&關(guān)閉所有文件CLEAR ALLRETURN &&返回2、封面表單源代碼封面.set)PROCEDURE Click &&確定按鈕的單擊事

7、件過(guò)程SET EXACT ON &&設(shè)置精確比較命令I(lǐng)F THISFORM.text1.VALUE="8888"&& 如果文本框的值是 8888THISFORM.RELEASE &&那么釋放封面表單菜單.MPX &&運(yùn)行菜單程序ELSE && 否貝 UTHISFORM.NO=THISFORM.NO+1 &&將自定義屬性 NO的值由0力廿1IF THISFORM.NO>=3 &&如果自定義屬性 NO的值為3=MESSAGEBOX(密碼三次輸錯(cuò),您不能使用本系統(tǒng)

8、!",0+16+0,"學(xué)生學(xué)籍管理系統(tǒng))&&那么彈岀內(nèi)容為“密碼三次輸錯(cuò),您不能使用本系統(tǒng)! ”的對(duì)話框QUIT &&結(jié)束程序的運(yùn)行ELSE && 否貝 U=MESSAGEBOX密碼錯(cuò)誤! ",48+0+0,"警告")&&彈岀內(nèi)容為“密碼錯(cuò)誤! ”的對(duì)話框THISFORM.text1.VALUE=""&&設(shè)置文本框的內(nèi)容為空THISFORM.textl.SETFOCUS &&并將光標(biāo)定位到文本框中THISFORM.REFRESH

9、&&刷新封面表單ENDIFENDIFSET EXACT OFF &&設(shè)置關(guān)閉精確比較命令ENDPROCPROCEDURE Click &&取消按鈕的單擊事件過(guò)程THISFORM.RELEASE &&釋放封面表單CLOSE ALL &&關(guān)閉所有文件CLEAR EVENTquitENDPROC (未完)VFP應(yīng)用程序設(shè)計(jì)實(shí)例-學(xué)生學(xué)籍管理系統(tǒng)(2)電腦筆記 2007-10-29 16:54:06 閱讀3360評(píng)論0字號(hào):大中小3、錄入數(shù)據(jù)表單源代碼錄入.set ,如圖2所示)PROCEDURE In it &&

10、amp;錄入數(shù)據(jù)表單的初始化事件過(guò)程SET TALK OFFTHISFORM.comma ma nd4.ENABLED=.f. && 設(shè)置第四個(gè)按鈕為不可用狀態(tài)THISFORM.comma ma nd5.ENABLED=.f. && 設(shè)置第五個(gè)按鈕為不可用狀態(tài)THISFORM.txt 學(xué)號(hào).ENABLED=.f.THISFORM.txt 姓名.ENABLED=.f.THISFORM.combo1.ENABLED=.f.THISFORM.combo2.ENABLED=.f.THISFORM.combo3.ENABLED=.f.THISFORM.combo4.ENA

11、BLED=.f.THISFORM.txt 郵編.ENABLED=.f.&&設(shè)置學(xué)號(hào)文本框?yàn)椴豢捎脿顟B(tài)&&設(shè)置姓名文本框?yàn)椴豢捎脿顟B(tài)&&設(shè)置組合框1為不可用狀態(tài)&&設(shè)置組合框2為不可用狀態(tài)&&設(shè)置組合框3為不可用狀態(tài)&&設(shè)置組合框4為不可用狀態(tài)&&設(shè)置郵編文本框?yàn)椴豢捎脿顟B(tài)THISFORM.txt 英語(yǔ).ENABLED=.f.&&設(shè)置英語(yǔ)文本框?yàn)椴豢捎脿顟B(tài)THISFORM.txt 高數(shù).ENABLED=.f.&&設(shè)置高數(shù)文本框?yàn)椴豢捎脿顟B(tài)THISFORM

12、.txtVfp.ENABLED=.f. &&設(shè)置VFP文本框?yàn)椴豢捎脿顟B(tài)THISFORM.combo5.ENABLED=.f.THISFORM.txt 電話.ENABLED"THISFORM.txt 通信地址.ENABLED=.f.THISFORM.edt 備注.ENABLED"&&設(shè)置組合框5為不可用狀態(tài)&&設(shè)置電話文本框?yàn)椴豢捎脿顟B(tài)&&設(shè)置通信地址文本框?yàn)椴豢捎脿顟B(tài)&&設(shè)置備注編輯框?yàn)椴豢捎脿顟B(tài)THISFORMmand3.ENABLED=.f. &&設(shè)置命令按鈕 3 為不可用

13、狀態(tài)ENDPROCPROCEDURE Load &&錄入數(shù)據(jù)表單的加載事件過(guò)程CLOSE DATA &&關(guān)閉所有數(shù)據(jù)庫(kù)USE A:XJ存&&打開 A盤中的XJ.DBF表文件SET MULTILOCKS ON &&設(shè)置鎖定一組記錄=CURSORSETPROP('bufferi ng',5,'XJ')&&打開開放式表緩沖ENDPROCPROCEDURE I nteractiveCha nge&&錄入數(shù)據(jù)表單的交互改變事件過(guò)程REPL岀生年月 WITHTHISFORM.co

14、mbo2.displayvalue+"."+THISFORM.combo3.displayvalue+"."+THISFORM.combo4.displayvalue&&用組合框的值替換岀生年月字段THISFORM.REFRESH &&刷新錄入數(shù)據(jù)表單ENDPROCPROCEDURE Command1.Click &&單擊命令按鈕 1的事件過(guò)程APPEND BLANK &&添加一空白記錄THISFORM.REFRESH &&刷新錄入數(shù)據(jù)表單THISFORM.comma ma

15、nd1.ENABLED=.f. && 設(shè)置命令按鈕 1 為不可用狀態(tài)THISFORMmand2.ENABLED=.f. &&設(shè)置命令按鈕 2 為不可用狀態(tài)THISFORMmand4.ENABLED=.t.&&設(shè)置命令按鈕 4 為可用狀態(tài)THISFORMmand5.ENABLED=.t. &&設(shè)置命令按鈕 5 為可用狀態(tài)THISFORMmand6.ENABLED=.f. &&設(shè)置命令按鈕 6 為不可用狀態(tài)THISFORM.txt 學(xué)號(hào).ENABLED=.t.THISFORM.txt 姓名.ENABLED=.t.THI

16、SFORM.combo1.ENABLED=.t.THISFORM.combo2.ENABLED=.t.THISFORM.combo3.ENABLED=.t.THISFORM.combo4.ENABLED=.t.THISFORM.txt 郵編.ENABLED=.t.THISFORM.txt 高數(shù).ENABLED=.t.THISFORM.txt 英語(yǔ).ENABLED=.t.THISFORM.txtVfp.ENABLED=.t.THISFORM.combo5.ENABLED=.t.THISFORM.txt 電話.ENABLED=.t.THISFORM.txt 通信地址.ENABLED=.t.THIS

17、FORM.edt 備注.ENABLED=.t.THISFORM.txt 學(xué)號(hào).SETFOCUSENDPROCPROCEDURE Command2.Click &&單擊命令按鈕 2的事件過(guò)程SET DELETE ON &&設(shè)置打開刪除命令DELETE &&刪除當(dāng)前記錄YN=MESSAGEBOX確實(shí)要?jiǎng)h除這條記錄?',4+32+256,'刪除確認(rèn)')&&彈岀內(nèi)容為“確實(shí)要?jiǎng)h除這條記錄? ”的對(duì)話框DO CASE &&運(yùn)行條件判斷語(yǔ)句CASE YN=6 &&當(dāng)單擊“是”按鈕時(shí)=TA

18、BLEUPDATE(.T.)&&執(zhí)行更新表函數(shù),刪除當(dāng)前記錄CASE YN=7 &&當(dāng)單擊“否”按鈕時(shí)RECALL &&恢復(fù)已作了刪除標(biāo)記的當(dāng)前記錄ENDCASETHISFORM.REFRESHENDPROCPROCEDURE Command3.Click &&單擊命令按鈕 3的事件過(guò)程THISFORM.comma ma nd1.ENABLED=.f.THISFORM.comma ma nd2.ENABLED=.f.THISFORM.comma ma nd3.ENABLED=.f.THISFORM.comma ma nd4.ENA

19、BLED=.t.THISFORM.comma ma nd5.ENABLED=.t.THISFORM.comma ma nd6.ENABLED=.f.ENDPROCPROCEDURE Command4.Click &&單擊命令按鈕 4的事件過(guò)程 =TABLEUPDATE(.T.)THISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.t.THISFORM.comma ma nd3.ENABLED=.t.THISFORM.comma ma nd4.ENABLED=.f.THISFORM.comma ma nd5

20、.ENABLED=.f.ENDPROCPROCEDURE Command5.Click &&單擊命令按鈕 5的事件過(guò)程 =TABLEREVERT(.T.)THISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.t.THISFORM.comma ma nd3.ENABLED=.t.THISFORM.comma ma nd4.ENABLED=.f.THISFORM.comma ma nd5.ENABLED=.f.THISFORM.comma ma nd6.ENABLED=.t.ENDPROCPROCEDURE

21、Command6.Click &&單擊命令按鈕 6的事件過(guò)程SELE 1&&選擇1號(hào)工作區(qū)USE A:XJ EXCLUSIVE 打開 A盤中的XJ.DBF數(shù)據(jù)表PACK &&徹底刪除已作了刪除標(biāo)記的記錄THISFORM.RELEASE &&釋放錄入數(shù)據(jù)表單ENDPROCPROCEDURE In teractiveCha ngeREPL是否黨員WITH THISFORM.combo5.DISPLAYVALUE &&用組合框的值替換是否黨員字段THISFORM.REFRESHENDPROC4、修改數(shù)據(jù)表單源代碼修改.s

22、et)THISFORM.comma ma nd6.ENABLED=.t.修改數(shù)據(jù)雀書ttSL月丨 ec.o胃RESTi制世賢募嗥跖已弼7學(xué)號(hào)”II1砂忙|上荷于啟KB菊円i上殺1杠1球辛| WiSr耶|圖3PROCEDURE Comma ndl.ClickIF NOT BOF()&&如果記錄指針沒(méi)有到記錄的開頭SKIP - 1&&向上跳轉(zhuǎn)一個(gè)記錄THISFORM.REFRESHTHISFORM.comma ma nd2.ENABLED=.t.ELSEWAIT WINDOW已經(jīng)是第一條記錄了!'&&系統(tǒng)給岀內(nèi)容為“已經(jīng)是第一條記錄了!”提示

23、窗口ENDIFENDPROCPROCEDURE Comma nd2.ClickIF NOT EOF()&&如果記錄指針沒(méi)有到記錄的結(jié)尾SKIP &&向下跳轉(zhuǎn)一個(gè)記錄THISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.t.ELSEWAIT WINDOW已經(jīng)是最后一條記錄了!'ENDIFENDPROCPROCEDURE Comma nd3.ClickGO TOP &&將記錄指針移到記錄的開頭THISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.f.THISFOR

24、M.comma ma nd2.ENABLED=.t.ENDPROCPROCEDURE Comma nd4.ClickGO BOTTOM &&將記錄指針移到記錄的結(jié)尾THISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.f.ENDPROCPROCEDURE Comma nd5.Click=TABLEUPDATE(.T.)THISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.t.THISFORM.comm

25、a ma nd3.ENABLED=.t.THISFORM.comma ma nd5.ENABLED=.f.THISFORM.comma ma nd6.ENABLED=.f.THISFORM.comma ma nd7.ENABLED=.t.ENDPROCPROCEDURE Comma nd6.Click=TABLEREVERT(.T.)&&啟用表緩沖,放棄表中對(duì)所有記錄所做的修改函數(shù)THISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.t.THISFORM.comma ma nd3.ENABLED=.t.T

26、HISFORM.comma ma nd4.ENABLED=.t.THISFORM.comma ma nd5.ENABLED=.f.THISFORM.comma ma nd6.ENABLED=.f.THISFORM.comma ma nd7.ENABLED=.t.ENDPROCPROCEDURE Comma nd7.ClickUSE A:XJ EXCLUSIVEPACKTHISFORM.RELEASEENDPROC PROCEDURE ClickIF EMPTY(THISFORM.combo1.VALUE) &&如果組合框 1 的值為空=MESSAGEBOX(請(qǐng)選擇學(xué)號(hào)! &qu

27、ot;,48+0+0,"學(xué)生學(xué)籍管理系統(tǒng)")&&系統(tǒng)給岀內(nèi)容為“請(qǐng)選擇學(xué)號(hào)! ”的對(duì)話框ENDIFAA=RECNO() &&用顯示記錄號(hào)的函數(shù)將記錄號(hào)賦給變量AAGO AA &&將記錄指針移到當(dāng)前記錄號(hào)THISFORM.txt 學(xué)號(hào).REFRESH&&刷新學(xué)號(hào)文本框的內(nèi)容THISFORM.txt 姓名.REFRESH&&刷新姓名文本框的內(nèi)容THISFORM.txt 性另【J .REFRESH&&刷新性別文本框的內(nèi)容THISFORM.txt 岀生年月.REFRESH&&am

28、p;刷新岀生年月文本框的內(nèi)容THISFORM.txt 由E編.REFRESH&&刷新郵編文本框的內(nèi)容THISFORM.txt 高數(shù).REFRESH&&刷新高數(shù)文本框的內(nèi)容THISFORM.txt 英語(yǔ).REFRESH&&刷新英語(yǔ)文本框的內(nèi)容THISFORM.txtVfp.REFRESH&&刷新VFP文本框的內(nèi)容THISFORM.txt 是否黨員.REFRESH&&刷新是否黨員文本框的內(nèi)容THISFORM.txt 電話.REFRESH&&刷新電話文本框的內(nèi)容THISFORM.txt 通信地址.REFR

29、ESH&&刷新通信地址文本框的內(nèi)容THISFORM.edt 備注.REFRESH&&刷新備注編輯框的內(nèi)容THISFORM.comma ma nd5.ENABLED=.t.THISFORM.comma ma nd6.ENABLED=.t.ENDPROq 未完)VFP應(yīng)用程序設(shè)計(jì)實(shí)例-學(xué)生學(xué)籍管理系統(tǒng)(2)電腦筆記 2007-10-29 16:54:06 閱讀3360評(píng)論0字號(hào):大中小3、錄入數(shù)據(jù)表單源代碼錄入.set ,如圖2所示)PROCEDURE In it &&錄入數(shù)據(jù)表單的初始化事件過(guò)程SET TALK OFFTHISFORM.comma

30、ma nd4.ENABLED=.f. && 設(shè)置第四個(gè)按鈕為不可用狀態(tài)THISFORM.comma ma nd5.ENABLED=.f. && 設(shè)置第五個(gè)按鈕為不可用狀態(tài)THISFORM.txt 學(xué)號(hào).ENABLED=.f.THISFORM.txt 姓名.ENABLED=.f.THISFORM.combo1.ENABLED=.f.THISFORM.combo2.ENABLED=.f.THISFORM.combo3.ENABLED=.f.THISFORM.combo4.ENABLED=.f.THISFORM.txt 郵編.ENABLED=.f.&&

31、設(shè)置學(xué)號(hào)文本框?yàn)椴豢捎脿顟B(tài)&&設(shè)置姓名文本框?yàn)椴豢捎脿顟B(tài)&&設(shè)置組合框1為不可用狀態(tài)&&設(shè)置組合框2為不可用狀態(tài)&&設(shè)置組合框3為不可用狀態(tài)&&設(shè)置組合框4為不可用狀態(tài)&&設(shè)置郵編文本框?yàn)椴豢捎脿顟B(tài)THISFORM.txt 英語(yǔ).ENABLED=.f.&&設(shè)置英語(yǔ)文本框?yàn)椴豢捎脿顟B(tài)THISFORM.txt 高數(shù).ENABLED=.f.&&設(shè)置高數(shù)文本框?yàn)椴豢捎脿顟B(tài)THISFORM.txtVfp.ENABLED=.f. &&設(shè)置VFP文本框?yàn)椴豢捎脿顟B(tài)T

32、HISFORM.combo5.ENABLED=.f.THISFORM.txt 電話.ENABLED"THISFORM.txt 通信地址.ENABLED=.f.THISFORM.edt 備注.ENABLED"&&設(shè)置組合框5為不可用狀態(tài)&&設(shè)置電話文本框?yàn)椴豢捎脿顟B(tài)&&設(shè)置通信地址文本框?yàn)椴豢捎脿顟B(tài)&&設(shè)置備注編輯框?yàn)椴豢捎脿顟B(tài)THISFORMmand3.ENABLED=.f. &&設(shè)置命令按鈕 3 為不可用狀態(tài)ENDPROCPROCEDURE Load &&錄入數(shù)據(jù)表單的加載事件

33、過(guò)程CLOSE DATA &&關(guān)閉所有數(shù)據(jù)庫(kù)USE A:XJ存&&打開 A盤中的XJ.DBF表文件SET MULTILOCKS ON &&設(shè)置鎖定一組記錄=CURSORSETPROP('bufferi ng',5,'XJ')&&打開開放式表緩沖ENDPROCPROCEDURE I nteractiveCha nge&&錄入數(shù)據(jù)表單的交互改變事件過(guò)程REPL岀生年月 WITHTHISFORM.combo2.displayvalue+"."+THISFORM.comb

34、o3.displayvalue+"."+THISFORM.combo4.displayvalue&&用組合框的值替換岀生年月字段THISFORM.REFRESH &&刷新錄入數(shù)據(jù)表單ENDPROCPROCEDURE Command1.Click &&單擊命令按鈕 1的事件過(guò)程APPEND BLANK &&添加一空白記錄THISFORM.REFRESH &&刷新錄入數(shù)據(jù)表單THISFORM.comma ma nd1.ENABLED=.f. && 設(shè)置命令按鈕 1 為不可用狀態(tài)THI

35、SFORMmand2.ENABLED=.f. &&設(shè)置命令按鈕 2 為不可用狀態(tài)THISFORMmand4.ENABLED=.t.&&設(shè)置命令按鈕 4 為可用狀態(tài)THISFORMmand5.ENABLED=.t. &&設(shè)置命令按鈕 5 為可用狀態(tài)THISFORMmand6.ENABLED=.f. &&設(shè)置命令按鈕 6 為不可用狀態(tài)THISFORM.txt 學(xué)號(hào).ENABLED=.t.THISFORM.txt 姓名.ENABLED=.t.THISFORM.combo1.ENABLED=.t.THISFORM.combo2.ENABL

36、ED=.t.THISFORM.combo3.ENABLED=.t.THISFORM.combo4.ENABLED=.t.THISFORM.txt 郵編.ENABLED=.t.THISFORM.txt 高數(shù).ENABLED=.t.THISFORM.txt 英語(yǔ).ENABLED=.t.THISFORM.txtVfp.ENABLED=.t.THISFORM.combo5.ENABLED=.t.THISFORM.txt 電話.ENABLED=.t.THISFORM.txt 通信地址.ENABLED=.t.THISFORM.edt 備注.ENABLED=.t.THISFORM.txt 學(xué)號(hào).SETFOC

37、USENDPROCPROCEDURE Command2.Click &&單擊命令按鈕 2的事件過(guò)程SET DELETE ON &&設(shè)置打開刪除命令DELETE &&刪除當(dāng)前記錄YN=MESSAGEBOX確實(shí)要?jiǎng)h除這條記錄?',4+32+256,'刪除確認(rèn)')&&彈岀內(nèi)容為“確實(shí)要?jiǎng)h除這條記錄? ”的對(duì)話框DO CASE &&運(yùn)行條件判斷語(yǔ)句CASE YN=6 &&當(dāng)單擊“是”按鈕時(shí)=TABLEUPDATE(.T.)&&執(zhí)行更新表函數(shù),刪除當(dāng)前記錄CASE YN

38、=7 &&當(dāng)單擊“否”按鈕時(shí)RECALL &&恢復(fù)已作了刪除標(biāo)記的當(dāng)前記錄ENDCASETHISFORM.REFRESHENDPROCPROCEDURE Command3.Click &&單擊命令按鈕 3的事件過(guò)程THISFORM.comma ma nd1.ENABLED=.f.THISFORM.comma ma nd2.ENABLED=.f.THISFORM.comma ma nd3.ENABLED=.f.THISFORM.comma ma nd4.ENABLED=.t.THISFORM.comma ma nd5.ENABLED=.t.THIS

39、FORM.comma ma nd6.ENABLED=.f.ENDPROCPROCEDURE Command4.Click &&單擊命令按鈕 4的事件過(guò)程 =TABLEUPDATE(.T.)THISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.t.THISFORM.comma ma nd3.ENABLED=.t.THISFORM.comma ma nd4.ENABLED=.f.THISFORM.comma ma nd5.ENABLED=.f.ENDPROCPROCEDURE Command5.Click &

40、amp;&單擊命令按鈕 5的事件過(guò)程 =TABLEREVERT(.T.)THISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.t.THISFORM.comma ma nd3.ENABLED=.t.THISFORM.comma ma nd4.ENABLED=.f.THISFORM.comma ma nd5.ENABLED=.f.THISFORM.comma ma nd6.ENABLED=.t.ENDPROCPROCEDURE Command6.Click &&單擊命令按鈕 6的事件過(guò)程SELE 1&

41、amp;&選擇1號(hào)工作區(qū)USE A:XJ EXCLUSIVE 打開 A盤中的XJ.DBF數(shù)據(jù)表PACK &&徹底刪除已作了刪除標(biāo)記的記錄THISFORM.RELEASE &&釋放錄入數(shù)據(jù)表單ENDPROCPROCEDURE In teractiveCha ngeREPL是否黨員WITH THISFORM.combo5.DISPLAYVALUE &&用組合框的值替換是否黨員字段THISFORM.REFRESHENDPROC4、修改數(shù)據(jù)表單源代碼修改.set)修改數(shù)據(jù)雀書ttSL月丨 ec.o胃RESTi制世賢募嗥跖已弼7學(xué)號(hào)”II1砂忙|上

42、荷于啟KB菊円i上殺1杠1球辛| WiSr耶|圖3PROCEDURE Comma ndl.ClickIF NOT BOF()&&如果記錄指針沒(méi)有到記錄的開頭SKIP - 1&&向上跳轉(zhuǎn)一個(gè)記錄THISFORM.REFRESHTHISFORM.comma ma nd2.ENABLED=.t.ELSEWAIT WINDOW已經(jīng)是第一條記錄了!'&&系統(tǒng)給岀內(nèi)容為“已經(jīng)是第一條記錄了!”提示窗口ENDIFENDPROCPROCEDURE Comma nd2.ClickIF NOT EOF()&&如果記錄指針沒(méi)有到記錄的結(jié)尾SKI

43、P &&向下跳轉(zhuǎn)一個(gè)記錄THISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.t.ELSEWAIT WINDOW已經(jīng)是最后一條記錄了!'ENDIFENDPROCPROCEDURE Comma nd3.ClickGO TOP &&將記錄指針移到記錄的開頭THISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.f.THISFORM.comma ma nd2.ENABLED=.t.ENDPROCPROCEDURE Comma nd4.ClickGO BOTTOM &&

44、將記錄指針移到記錄的結(jié)尾THISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.f.ENDPROCPROCEDURE Comma nd5.Click=TABLEUPDATE(.T.)THISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.t.THISFORM.comma ma nd3.ENABLED=.t.THISFORM.comma ma nd5.ENABLED=.f.THISFORM.comma ma nd6.ENA

45、BLED=.f.THISFORM.comma ma nd7.ENABLED=.t.ENDPROCPROCEDURE Comma nd6.Click=TABLEREVERT(.T.)&&啟用表緩沖,放棄表中對(duì)所有記錄所做的修改函數(shù)THISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.t.THISFORM.comma ma nd3.ENABLED=.t.THISFORM.comma ma nd4.ENABLED=.t.THISFORM.comma ma nd5.ENABLED=.f.THISFORM.comm

46、a ma nd6.ENABLED=.f.THISFORM.comma ma nd7.ENABLED=.t.ENDPROCPROCEDURE Comma nd7.ClickUSE A:XJ EXCLUSIVEPACKTHISFORM.RELEASEENDPROC PROCEDURE ClickIF EMPTY(THISFORM.combo1.VALUE) &&如果組合框 1 的值為空=MESSAGEBOX(請(qǐng)選擇學(xué)號(hào)! ",48+0+0,"學(xué)生學(xué)籍管理系統(tǒng)")&&系統(tǒng)給岀內(nèi)容為“請(qǐng)選擇學(xué)號(hào)! ”的對(duì)話框ENDIFTHISFORM.co

47、mma ma nd4.ENABLED=.t.AA=RECNO() &&用顯示記錄號(hào)的函數(shù)將記錄號(hào)賦給變量AAGO AA &&將記錄指針移到當(dāng)前記錄號(hào)THISFORM.txt 學(xué)號(hào).REFRESH&&刷新學(xué)號(hào)文本框的內(nèi)容THISFORM.txt 姓名.REFRESH&&刷新姓名文本框的內(nèi)容&&刷新性別文本框的內(nèi)容THISFORM.txt 性另【J .REFRESH&&刷新岀生年月文本框的內(nèi)容THISFORM.txt 岀生年月.REFRESHTHISFORM.txt 由E編.REFRESH&&a

48、mp;刷新郵編文本框的內(nèi)容THISFORM.txt 高數(shù).REFRESH&&刷新高數(shù)文本框的內(nèi)容THISFORM.txt 英語(yǔ).REFRESH&&刷新英語(yǔ)文本框的內(nèi)容THISFORM.txtVfp.REFRESH&&刷新VFP文本框的內(nèi)容&&刷新是否黨員文本框的內(nèi)容THISFORM.txt 是否黨員.REFRESHTHISFORM.txt 電話.REFRESH&&刷新電話文本框的內(nèi)容&&刷新通信地址文本框的內(nèi)容THISFORM.txt 通信地址.REFRESHTHISFORM.edt 備注.REFR

49、ESH&&刷新備注編輯框的內(nèi)容THISFORM.comma ma nd5.ENABLED=.t.THISFORM.comma ma nd6.ENABLED=.t.ENDPROq 未完)、查詢數(shù)據(jù)表單源代碼查詢.sct)圖4PROCEDURE ClickIF EMPT Y( THISFORM.combol.VALUE)=MESSAGEBOX請(qǐng)選擇學(xué)號(hào)! ",48+0+0,"學(xué)生學(xué)籍管理系統(tǒng)")ENDIFAA=RECNO()GO AATHISFORM.txt 學(xué)號(hào).REFRESHTHISFORM.txt 姓名.REFRESHTHISFORM.txt 性

50、另【J .REFRESHTHISFORM.txt 岀生年月.REFRESHTHISFORM.txt 由E編.REFRESHTHISFORM.txt 高數(shù).REFRESHTHISFORM.txt 英語(yǔ).REFRESHTHISFORM.txtVfp.REFRESHTHISFORM.txt 是否黨員.REFRESHTHISFORM.txt 電話.REFRESHTHISFORM.txt 通信地址.REFRESHTHISFORM.edt 備注.REFRESHENDPROC6、統(tǒng)計(jì)數(shù)據(jù)表單源代碼統(tǒng)計(jì).set)圖5PROCEDURE Click &&單擊“統(tǒng)計(jì)記錄總數(shù)”按鈕時(shí)的事件過(guò)程COU

51、NT TO AA FOR是否黨員="是“&&對(duì)黨員計(jì)數(shù),并將計(jì)數(shù)結(jié)果賦給變量AATHISFORM.text5.value=AA&&將變量AA的值賦給文本框 5THISFORM.text5.REFRESHENDPROCPROCEDURE Click &&單擊“統(tǒng)計(jì)英語(yǔ)平均成績(jī)”按鈕時(shí)的事件過(guò)程AVERAGE英語(yǔ)TO AA &&對(duì)所有記錄的英語(yǔ)成績(jī)求平均,并將平均值賦給變量AATHISFORM.text3.value=AA &&將變量AA的值賦給文本框 3THISFORM.text3.REFRESHENDPR

52、OCPROCEDURE Click &&單擊“統(tǒng)計(jì) VFP平均成績(jī)”按鈕時(shí)的事件過(guò)程AVERAGE vfp TO AA &&對(duì)所有記錄的 VFP成績(jī)求平均,并將平均值賦給變量AATHISFORM.text4.value=AA &&將變量AA的值賦給文本框 4THISFORM.text4.REFRESHENDPROCPROCEDURE Click &&單擊“統(tǒng)計(jì)總平均成績(jī)”按鈕時(shí)的事件過(guò)程AVERAGE高數(shù)TO AA &&對(duì)所有記錄的高數(shù)成績(jī)求平均,并將平均值賦給變量AAAVERAGE英語(yǔ)TO BB &&am

53、p;對(duì)所有記錄的英語(yǔ)成績(jī)求平均,并將平均值賦給變量BBAVERAGE vfp TO CC &&對(duì)所有記錄的 VFP成績(jī)求平均,并將平均值賦給變量CCSTORE (AA+BB+CC)/3 TO DD &&將三門成績(jī)的平均成績(jī)和除3的總平均成績(jī)賦給 DDTHISFORM.text6.value=DD &&將變量DD的值賦給文本框 6THISFORM.text6.REFRESHENDPROC7、顯示數(shù)據(jù)表單源代碼顯示.set)圖6PROCEDURE Commandl.Click &&單擊“上條”按鈕的事件過(guò)程IF NOT BOF()SK

54、IP -1THISFORM.REFRESHTHISFORM.comma ma nd2.ENABLED=.t.ELSEWAIT WINDOW已經(jīng)是第一條記錄了!'ENDIFENDPROCPROCEDURE Command2.Click &&單擊“下條”按鈕的事件過(guò)程IF NOT EOF()SKIPTHISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.t.ELSEWAIT WINDOW已經(jīng)是最后一條記錄了!'ENDIFENDPROCPROCEDURE Command3.Click &&單擊“首條”按鈕的事件過(guò)程

55、GO TOPTHISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.f.THISFORM.comma ma nd2.ENABLED=.t.ENDPROCPROCEDURE Command4.Click &&單擊“末條”按鈕的事件過(guò)程GO BOTTOMTHISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.f.ENDPROCPROCEDURE Command5.Click &&單擊“返回”按鈕的事件過(guò)程THISFORM.RE

56、LEASEENDPROC8刪除數(shù)據(jù)表單源代碼刪除.set)圖7PROCEDURE Click &&單擊“顯示”按鈕的事件過(guò)程IF EMPT Y( THISFORM.combol.VALUE)=MESSAGEBOX請(qǐng)選擇學(xué)號(hào)! ",48+0+0,"學(xué)生學(xué)籍管理系統(tǒng)")THISFORM.comma nd2.ENABLED=.f.ELSETHISFORM.comma nd2.ENABLED=.t.ENDIFAA=RECNO()GO AATHISFORM.txt 學(xué)號(hào).REFRESHTHISFORM.txt 姓名.REFRESHTHISFORM.txt 性另【J .REFRESHTHISFORM.txt 岀生年月.REFRESHTHISFORM.txt 由E編.REFRESHTHISFORM.txt 高數(shù).REFRESHTHISFORM.txt

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論