




已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)五 Visual Foxpro編程實(shí)踐一. 實(shí)驗(yàn)?zāi)康呐c要求掌握利用Visual Foxpro編制開發(fā)自己的應(yīng)用程序的實(shí)踐知識(shí),并學(xué)會(huì)在程序調(diào)試中自行發(fā)現(xiàn)問題和修改程序代碼,最終完成應(yīng)用程序的無錯(cuò)運(yùn)行。二. 相關(guān)知識(shí)利用Visual Foxpro自行開發(fā)編制應(yīng)用程序的步驟:1設(shè)置好系統(tǒng)的工作環(huán)境(尤其注意工作目錄的默認(rèn)設(shè)置)。2如果是初次進(jìn)行,應(yīng)當(dāng)先建立一個(gè)項(xiàng)目,為該項(xiàng)目命名,激活項(xiàng)目管理器。如果是接著上次的工作進(jìn)行,則打開上次工作的本項(xiàng)目,同樣也激活項(xiàng)目管理器。3在項(xiàng)目管理器的“數(shù)據(jù)”“數(shù)據(jù)庫”下面創(chuàng)建一個(gè)數(shù)據(jù)庫,并命名(如已創(chuàng)建,則跳過本步驟)。4在項(xiàng)目管理器的“數(shù)據(jù)”“數(shù)據(jù)庫”“表”下面進(jìn)行數(shù)據(jù)表的創(chuàng)建或修改工作,并輸入少量的正確數(shù)據(jù)以便將來的運(yùn)行調(diào)試(如果已經(jīng)創(chuàng)建了數(shù)據(jù)表,則跳過本步驟)。5在項(xiàng)目管理器的“文檔”下面創(chuàng)建該應(yīng)用程序所用到的所有表單,設(shè)計(jì)好各表單的界面并為表單里的控件填寫程序代碼.(注意為表單添加各自的數(shù)據(jù)環(huán)境,否則會(huì)出錯(cuò)!)6試運(yùn)行各表單,發(fā)現(xiàn)問題后重新修改有問題的表單的代碼,反復(fù)調(diào)試和修改直至最后能無錯(cuò)運(yùn)行。7將應(yīng)用程序打包發(fā)布或制作成安裝文件。三. 實(shí)驗(yàn)內(nèi)容與步驟本次實(shí)驗(yàn)以一個(gè)簡單的學(xué)生成績管理系統(tǒng)為例。首先,對(duì)該系統(tǒng)作一個(gè)簡單的介紹:該應(yīng)用系統(tǒng)為完成學(xué)生信息和成績的管理系統(tǒng),主要有以下幾個(gè)應(yīng)用模塊:(1) 用戶登錄管理: 系統(tǒng)具有管理員功能,只有取得管理員權(quán)限的人才能使用本系統(tǒng)。(2) 數(shù)據(jù)添加功能: 對(duì)學(xué)生基本信息、教師基本信息、班級(jí)信息、課程信息、學(xué)生成績信息進(jìn)行添加錄入。(3) 數(shù)據(jù)查詢功能: 對(duì)上述信息的基本查詢。(4) 數(shù)據(jù)修改功能: 對(duì)上述信息可進(jìn)行修改工作。(5) 統(tǒng)計(jì)操作: 可分別按個(gè)人成績、單科成績統(tǒng)計(jì)出最高成績、最低成績和平均成績等。(6) 打印功能: 對(duì)上述信息可進(jìn)行打印。實(shí)驗(yàn)步驟如下:1數(shù)據(jù)庫設(shè)計(jì):首先設(shè)置好系統(tǒng)的運(yùn)行環(huán)境和工作目錄,然后建立項(xiàng)目,為項(xiàng)目命名為“學(xué)生成績管理系統(tǒng)”,激活項(xiàng)目管理器,并在在項(xiàng)目管理器的“數(shù)據(jù)”“數(shù)據(jù)庫”下面創(chuàng)建一個(gè)數(shù)據(jù)庫,命名為“學(xué)生成績管理”,在“數(shù)據(jù)庫”的“表”下面創(chuàng)建以下各數(shù)據(jù)表:(1) 用戶信息表user (表名命名為user即可,不要加漢字。以下同。)字段名稱類型寬度用戶名字符型10密碼字符型10(2) 學(xué)生信息表 student字段名稱類型寬度學(xué)號(hào)字符型8姓名字符型10性別字符型2班級(jí)編號(hào)字符型6出生日期日期型8(3) 教師信息表 teacher字段名稱類型寬度教師代碼字符型4姓名字符型10性別字符型2職稱字符型10部門字符型10出生日期日期型8(4) 班級(jí)信息表 classes字段名稱類型寬度班級(jí)編號(hào)字符型6年級(jí)字符型4專業(yè)字符型10系代碼字符型2學(xué)制字符型2類型字符型4(5) 課程信息表 course字段名稱類型寬度課程代碼字符型6課程名稱字符型16類別字符型4教師代碼字符型4(6) 分?jǐn)?shù)信息表 score字段名稱類型寬度學(xué)號(hào)字符型8課程代碼字符型6成績數(shù)值型4創(chuàng)建好以上數(shù)據(jù)表以后,應(yīng)該向每個(gè)表中添加適量合法數(shù)據(jù)以便后面的測(cè)試。2.表單設(shè)計(jì)2.1登錄模塊功能描述: 實(shí)現(xiàn)只有指定的用戶才能訪問系統(tǒng)的功能。并且,只有身份為“管理員”的用戶才可以調(diào)用修改模塊修改數(shù)據(jù)。界面設(shè)計(jì):表單名稱: login文件名: login.scx數(shù)據(jù)環(huán)境: user.dbf對(duì)象設(shè)置: 對(duì) 象 屬 性 值說 明Form1Caption歡迎使用學(xué)生成績管理系統(tǒng)Lable1Caption學(xué)生成績管理系統(tǒng)Lable2Caption請(qǐng)輸入用戶名:Lable3Caption請(qǐng)輸入密碼:Combo1RowSourceType6-字段指定數(shù)據(jù)值來源類型RowSourceUser.用戶名指定數(shù)據(jù)值來源Cammand1Caption登錄Cammand2Caption退出函數(shù)與方法聲明:(1) Command1中的Click事件功能:完成在登錄時(shí)對(duì)輸入的用戶名和密碼的檢驗(yàn),如果數(shù)據(jù)表user中存在輸入的用戶名和密碼信息,則調(diào)用主窗口(如果是管理員則不但調(diào)用主窗口,還允許執(zhí)行主窗口的修改功能),否則提示輸入錯(cuò)誤。程序清單:private kl,yh,stst=密碼不正確,請(qǐng)重新輸入!use userkl=alltrim(thisform.text1.value)yh=alltrim(bo1.value)*將用戶輸入的用戶名和密碼的值分別保存在yh和kl變量中l(wèi)ocate for alltrim(bo1.value)= =alltrim(user.用戶名)*在user表中查找是否有與yh和kl匹配的記錄if found() and alltrim(user.密碼)= =kl*正確的用戶名和密碼 thisform.visible=.f. close tables all do form main.scx if yh= =admin *如果是超級(jí)用戶管理員,則允許他使用main表單中的第三組按鈕(即修改模塊) main.optiongroup1.option3.enabled=.t. endif this.parent.text1.value=else*錯(cuò)誤的用戶名和密碼,系統(tǒng)給出提示,延遲2秒wait window st timeout 2thisform.text1.value=thisform.text1.setfocusendif(2) Command2中的Click事件功能:退出學(xué)生成績管理系統(tǒng)程序清單:clear eventsquit(3) Form1的Destroy事件功能:意外關(guān)閉程序窗口時(shí)的處理程序清單:clear events2.2 主界面模塊功能描述: 主要是提供本系統(tǒng)各功能模塊的入口.界面設(shè)計(jì):表單名稱: main文件名: main.scx數(shù)據(jù)環(huán)境: 無對(duì)象設(shè)置:對(duì) 象 屬 性 值Form1Caption學(xué)生成績管理系統(tǒng)Lable1Caption歡迎使用學(xué)生成績管理系統(tǒng)Lable2Caption請(qǐng)選擇要操作的內(nèi)容:Optiongroup1ButtonCount6Optiongroup1.Option1Caption添加記錄Optiongroup1.Option2Caption查詢記錄Optiongroup1.Option3Caption修改記錄Optiongroup1.Option3Enabled.F.Optiongroup1.Option4Caption統(tǒng)計(jì)數(shù)據(jù)Optiongroup1.Option5Caption打印報(bào)表Optiongroup1.Option6Caption退出系統(tǒng)函數(shù)與方法聲明:(1) Optiongroup1中的IntelactiveChange事件:功能: 根據(jù)Optiongroup1中的選擇單擊按鈕,調(diào)用各重要功能模塊.程序清單:do case case this.value=1 do form 添加 case this.value=2 do form 查詢 case this.value=3 do form 修改 case this.value=4 do form 統(tǒng)計(jì) case this.value=5 do form 打印 case this.value=6 thisform.release quitendcase(2) Optiongroup1中的每一個(gè)Option的Click事件:功能: 與(1)中不同,(1)是指在Optiongroup中的各個(gè)Option切換時(shí)才觸發(fā)的程序,僅這樣還不夠,還要編寫每個(gè)Option被單擊時(shí)觸發(fā)的程序才完整。程序清單:對(duì)應(yīng)Optiongroup1.Option1的Click事件: do form 添加(其余類推)2.3 數(shù)據(jù)添加模塊功能描述: 用戶通過5個(gè)不同的頁面來完成對(duì)學(xué)生信息表、教師信息表、班級(jí)表、課程表和成績表的數(shù)據(jù)添加操作。界面設(shè)計(jì):表單名稱: 添加文件名: 添加.scx數(shù)據(jù)環(huán)境: student.dbf, class.dbf, score.dbf, teacher.dbf, course.dbf對(duì)象設(shè)置: 對(duì) 象 屬 性 值說 明Form1Caption添加PageFrame1PageCount5Command1Caption返回主菜單主表單中的Command1Page1Caption學(xué)生表Page2Caption教師表Page3Caption班級(jí)表Page4Caption課程表Page5Caption成績表Command1Caption添加與上面的Command1不同,這是在各個(gè)頁面中的Command1Command2Caption清空函數(shù)與方法聲明:因?yàn)樘砑颖韱沃袑?duì)于5個(gè)表的操作方法類似,所以這里只給出學(xué)生表的添加部分,其余4個(gè)頁面的程序請(qǐng)同學(xué)們自己對(duì)照思考和編制。(1) Form1中的Active事件功能: 設(shè)置焦點(diǎn)位置程序清單:this.pageframe1.page1.text1.setfocus(2) Form1中的Command1的Click事件功能: 釋放當(dāng)前窗口程序清單: thisform.release(3) Page1中Command1的Click事件功能: 將輸入的新記錄信息添加到學(xué)生表中,完成新記錄的添加工作程序清單:num1=alltrim(thisform.pageframe1.page1.text1.value)num2=alltrim(thisform.pageframe1.page1.text2.value)num3=alltrim(thisform.pageframe1.page1.text3.value)num4=alltrim(thisform.pageframe1.page1.text4.value)num5=alltrim(dtoc(thisform.pageframe1.page1.text5.value) &并非是alltrim(thisform.pageframe1.page1.text5.value)set exact ondo case case num1= messagebox(學(xué)號(hào)不能為空!,0+48,系統(tǒng)提示!) thisform.pageframe1.page1.text1.setfocus case num2= messagebox(姓名不能為空!,0+48,系統(tǒng)提示!) thisform.pageframe1.page1.text2.setfocus case num3= messagebox(性別不能為空!,0+48,系統(tǒng)提示!) thisform.pageframe1.page1.text3.setfocus case num4= messagebox(班級(jí)編號(hào)不能為空!,0+48,系統(tǒng)提示!) thisform.pageframe1.page1.text4.setfocus case num5= messagebox(出生日期不能為空!,0+48,系統(tǒng)提示!) thisform.pageframe1.page1.text5.setfocusotherwise a=messagebox(確認(rèn)添加么?,1+64+0,系統(tǒng)提示!) if a=1 select student go bottom insert into student(學(xué)號(hào),姓名,性別,班級(jí)編號(hào),出生日期) values(num1,num2,num3,num4,ctod (num5) messagebox(添加成功!) else thisform.pageframe1.page1.text1.setfocus endifendcase(4) Page1中的Command2的Click事件:功能: 清空當(dāng)前頁面上輸入的數(shù)據(jù)程序清單:this.parent.text1.value=this.parent.text2.value=this.parent.text3.value=this.parent.text4.value=this.parent.text5.value=由于其它各個(gè)頁面上的添加數(shù)據(jù)的操作大同小異,這里不再贅述。比如:num1=alltrim(thisform.pageframe1.page2.text1.value)num2=alltrim(thisform.pageframe1.page2.text2.value)num3=alltrim(thisform.pageframe1.page2.text3.value)num4=alltrim(thisform.pageframe1.page2.text4.value)num5=alltrim(thisform.pageframe1.page2.text5.value)num6=alltrim(dtoc(thisform.pageframe1.page2.text6.value) &并非是alltrim(thisform.pageframe1.page2.text6.value)set exact ondo case case num1= messagebox(教師代碼不能為空!,0+48,系統(tǒng)提示!) thisform.pageframe1.page2.text1.setfocus case num2= messagebox(姓名不能為空!,0+48,系統(tǒng)提示!) thisform.pageframe1.page2.text2.setfocus case num3= messagebox(性別不能為空!,0+48,系統(tǒng)提示!) thisform.pageframe1.page2.text3.setfocus case num4= messagebox(職稱不能為空!,0+48,系統(tǒng)提示!) thisform.pageframe1.page2.text4.setfocus case num5= messagebox(部門不能為空!,0+48,系統(tǒng)提示!) thisform.pageframe1.page2.text5.setfocus case num6= messagebox(出生日期不能為空!,0+48,系統(tǒng)提示!) thisform.pageframe1.page2.text6.setfocus otherwise a=messagebox(確認(rèn)添加么?,1+64+0,系統(tǒng)提示!) if a=1 select student go bottom insert into student(教師代碼,姓名,性別,職稱,部門,出生日期) values(num1,num2,num3,num4,num5,ctod(num6) messagebox(添加成功!) else thisform.pageframe1.page2.text1.setfocus endifendcase2.4 數(shù)據(jù)查詢模塊功能描述: 用戶可以通過不同的頁面完成對(duì)5個(gè)不同表中的數(shù)據(jù)的查詢操作界面設(shè)計(jì):表單名稱: 查詢文件名: 查詢.scx數(shù)據(jù)環(huán)境: student.dbf, class.dbf, score.dbf, teacher.dbf, course.dbf對(duì)象設(shè)置: 查詢主表單中的對(duì)象設(shè)置:對(duì) 象 屬 性 值說 明Form1Caption查詢PageFrame1PageCount3Command1Caption返回主菜單主表單中的Command1PageFrame1.Page1中的對(duì)象設(shè)置:對(duì) 象 屬 性 值Combo1RowSourceType6-字段RowSourceClassese.班級(jí)編號(hào)Combo2RowSourceType6-字段RowSourceStudent.姓名Label1Caption請(qǐng)選擇班級(jí)代碼和姓名Label2Caption班級(jí)代碼Label3Caption姓名Label4Caption學(xué)號(hào)Label5Caption姓名Label6Caption性別Label7Caption出生日期PageFrame1.Page2用來對(duì)數(shù)據(jù)表進(jìn)行瀏覽,其界面為:其中的對(duì)象設(shè)置:對(duì) 象 屬 性 值Combo1RowSourceType1-值RowSource學(xué)生表,教師表,班級(jí)表,課程表,成績表Style2-下拉列表框Value1Label1Caption請(qǐng)選擇要瀏覽的表Grid1RecordSourceType0-表PageFrame1.Page3用來進(jìn)行課程瀏覽.其界面為:其中的對(duì)象設(shè)置:對(duì) 象 屬 性 值CommandGroup1ButtonCount5Label1Caption課程代碼Label2Caption課程名稱Label3Caption類別Label4Caption教師代碼函數(shù)與方法聲明:(1) Thisform.PageFrame1.Page1中的Deactive事件:功能: 當(dāng)前學(xué)生情況查詢頁面被釋放時(shí),使數(shù)據(jù)查詢?cè)O(shè)置過濾條件為空.程序清單:set filter to(2) Thisform.PageFrame1.Page1.Combo1中的InteractiveChange事件:功能: 根據(jù)下拉列表框的選擇,設(shè)置班級(jí)信息的過濾條件,同時(shí)清空文本框信息.程序清單:public mm=bo1.valueselect studentset filter to 班級(jí)編號(hào)=mthisform.pageframe1.page1.text1.value=thisform.pageframe1.page1.text2.value=thisform.pageframe1.page1.text3.value=thisform.pageframe1.page1.text4.value=(3) Thisform.PageFrame1.page1.Combo2中的InteractiveChange事件:功能: 根據(jù)前面設(shè)置的班級(jí)過濾條件對(duì)學(xué)生信息進(jìn)行查詢,并將結(jié)果在當(dāng)前頁面顯示程序清單:locate for 姓名=this.value *用組合框中的值進(jìn)行查找if found()thisform.pageframe1.page1.text1.value=學(xué)號(hào)thisform.pageframe1.page1.text2.value=姓名thisform.pageframe1.page1.text3.value=性別thisform.pageframe1.page1.text4.value=出生日期bo2.value=endif(4) Thisform.PageFrame1.page2中的Init事件:功能: 在“數(shù)據(jù)表瀏覽”頁顯示時(shí)進(jìn)行相關(guān)的初始化工作.程序清單:with this.grid1 .recordsourcetype=6 .recordsource=student .refresh .columncount=5 .column1.width=60 .column2.width=65 .column3.width=40 .column4.width=70 .column5.width=60 .column1.header1.caption=學(xué)號(hào) .column2.header1.caption=姓名 .column3.header1.caption=性別 .column4.header1.caption=出生日期 .column5.header1.caption=班級(jí)編號(hào) .readonly=.t. .deletemark=.f.endwith(5) Thisform.PageFrame1.Page2.Combo1中的IntelactiveChange事件功能: 在“數(shù)據(jù)表瀏覽”頁中根據(jù)下拉組合框中的選擇對(duì)不同的表進(jìn)行數(shù)據(jù)內(nèi)容顯示程序清單:&加入如下代碼,可防止由字段少的表往字段多的表切換時(shí)造成數(shù)據(jù)字段丟失無法顯示的問題with this.parent.grid1 .columncount=6 .column1.width=60 .column2.width=65 .column3.width=50 .column4.width=66 .column5.width=70 .column6.width=70endwith&即每次都事先把grid先刷新成行數(shù)教多的表.do case case this.value=1 with this.parent.grid1 .recordsourcetype=6 .recordsource=student .columncount=5 .column1.width=60 .column2.width=65 .column3.width=40 .column4.width=70 .column5.width=60 .column1.header1.caption=學(xué)號(hào) .column2.header1.caption=姓名 .column3.header1.caption=性別 .column4.header1.caption=出生日期 .column5.header1.caption=班級(jí)編號(hào) .refresh .readonly=.t. .deletemark=.f. endwith case this.value=2 with this.parent.grid1 .columncount=6 .recordsource=teacher .column1.header1.caption=教師代碼 .column2.header1.caption=姓名 .column3.header1.caption=性別 .column4.header1.caption=出生日期 .column5.header1.caption=部門 .column6.header1.caption=技術(shù)職務(wù) .column1.width=60 .column2.width=65 .column3.width=50 .column4.width=66 .column5.width=70 .column6.width=70 .refresh .readonly=.t. .deletemark=.f. endwith case this.value=3 with this.parent.grid1 .recordsourcetype=6 .recordsource=classes .columncount=6 .column1.width=60 .column2.width=65 .column3.width=50 .column4.width=70 .column5.width=60 .column6.width=60 .column1.header1.caption=班級(jí)編號(hào) .column2.header1.caption=年級(jí) .column3.header1.caption=專業(yè) .column4.header1.caption=系代碼 .column5.header1.caption=學(xué)制 .column6.header1.caption=類別 .refresh .readonly=.t. .deletemark=.f. endwith case this.value=4 with this.parent.grid1 .recordsourcetype=6 .recordsource=course .columncount=4 .column1.width=60 .column2.width=100 .column3.width=50 .column4.width=50 .column1.header1.caption=課程代碼 .column2.header1.caption=課程名稱 .column3.header1.caption=類別 .column4.header1.caption=教師代碼 .refresh .readonly=.t. .deletemark=.f. endwith case this.value=5 with this.parent.grid1 .recordsourcetype=6 .recordsource=score .columncount=3 .column1.width=60 .column2.width=100 .column3.width=50 .column1.header1.caption=學(xué)號(hào) .column2.header1.caption=課程代碼 .column3.header1.caption=成績 .refresh .readonly=.t. .deletemark=.f. endwithendcase(6) Thisform.PageFrame1.Page3中的Init事件功能: 當(dāng)“課程瀏覽”頁面被顯示出來時(shí),進(jìn)行相關(guān)的初始化工作.程序清單:select coursethis.text1.value=課程代碼this.text2.value=課程名稱this.text3.value=類別this.text4.value=教師代碼(7) Thisform.PageFrame1.Page3中的Refresh事件功能: 在“課程瀏覽”頁面中刷新當(dāng)前的數(shù)據(jù)顯示程序清單:select coursethis.text1.value=課程代碼this.text2.value=課程名稱this.text3.value=類別this.text4.value=教師代碼(8) Thisform.PageFrame1.Page3中的CommandGroup1的Click事件功能: 利用按鈕組完成對(duì)數(shù)據(jù)庫中的記錄瀏覽程序清單:select coursedo case case this.value=1 go top case this.value=2 skip -1 if bof() messagebox(已到首部!,0+48,系統(tǒng)提示) go top endif case this.value=3 skip if eof() messagebox(已到末尾!,0+48,系統(tǒng)提示) go bottom endif case this.value=4 go bottom case this.value=5 thisform.releaseendcasethisform.refresh2.5 數(shù)據(jù)修改模塊功能描述: 用戶可以通過不同的頁面完成對(duì)5個(gè)不同表中的數(shù)據(jù)的修改操作界面設(shè)計(jì):由于修改表單中對(duì)于5個(gè)表的操作方法類似,這里只給出第一個(gè)頁面即“學(xué)生表”的設(shè)計(jì)部分。其余4個(gè)頁面的設(shè)計(jì)及相關(guān)的程序代碼請(qǐng)同學(xué)們自己思考并完成。表單名稱: 修改文件名: 修改.scx數(shù)據(jù)環(huán)境: student.dbf, class.dbf, score.dbf, teacher.dbf, course.dbf對(duì)象設(shè)置: 對(duì) 象 屬 性 值Form1Caption修改PageFrame1PageCount5Command1Caption返回:Page1.Combo1RowSourceType6-字段RowSourceStudent.學(xué)號(hào)Page2.Combo1RowSourceType6-字段RowSourceTeacher.教師代碼Page3.Combo1RowSourceType6-字段RowSourceClassess.班級(jí)編號(hào)Page4.Combo1RowSourceType6-字段RowSourceCourse.課程代碼Page5.Combo1RowSourceType6-字段RowSourceScore.學(xué)號(hào)Page1.Command1Caption確定Page1.Command2Caption退出函數(shù)與方法聲明:(1) Thisform.PageFrame1.Page1中的Activate事件:功能: 在學(xué)生信息修改頁面顯示時(shí)進(jìn)行初始化操作程序清單:select studentgo topthis.text1.value=學(xué)號(hào)this.text2.value=姓名this.text3.value=性別this.text4.value=出生日期this.text5.value=班級(jí)編號(hào)(2) Thisform.PageFrame1.Page1.Combo1中的IntelactiveChange事件:功能: 根據(jù)學(xué)號(hào),查找對(duì)應(yīng)的學(xué)生信息程序清單:select studentlocate for 學(xué)號(hào)=this.valueif found() thisform.pageframe1.page1.text1.value=學(xué)號(hào) thisform.pageframe1.page1.text2.value=姓名 thisform.pageframe1.page1.text3.value=性別 thisform.pageframe1.page1.text4.value=出生日期 thisform.pageframe1.page1.text1.value=班級(jí)編號(hào)endif(3) Thisform.PageFrame1.Page1.Command1中的Click事件:功能: 當(dāng)用戶單擊“確定”按鈕后,將當(dāng)前修改的數(shù)據(jù)保存到數(shù)據(jù)庫中.程序清單:select studenta=alltrim(thisform.pageframe1.page1.text1.value)b=alltrim(thisform.pageframe1.page1.text2.value)c=alltrim(thisform.pageframe1.page1.text3.value)d=alltrim(dtoc(thisform.pageframe1.page1.text4.value)e=alltrim(thisform.pageframe1.page1.text5.value)set exact ondo case case a= messagebox(學(xué)生學(xué)號(hào)不能為空,0+48,系統(tǒng)提示) thisform.pageframe1.page1.text1.setfocus case b= messagebox(學(xué)生姓名不能為空,0+48,系統(tǒng)提示) thisform.pageframe1.page1.text2.setfocus case c= messagebox(學(xué)生性別不能為空,0+48,系統(tǒng)提示) thisform.pageframe1.page1.text3.setfocus case d= messagebox(學(xué)生出生日期不能為空,0+48,系統(tǒng)提示) thisform.pageframe1.page1.text4.setfocus case e= messagebox(學(xué)生班級(jí)編號(hào)不能為空,0+48,系統(tǒng)提示) thisform.pageframe1.page1.text5.setfocus otherwise m=messagebox(確定要修改學(xué)生記錄嗎?,0+48,系統(tǒng)提示) if m=1 select student replace 學(xué)號(hào) with a replace 姓名 with b replace 性別 with c replace 出生日期 with ctod(d) replace 班級(jí)編號(hào) with e messagebox(修改成功!) endifendcase(4) Thisform.PageFrame1.Pmand2中的Click事件:功能: 釋放當(dāng)前窗口程序清單:thisform.release2.6 數(shù)據(jù)統(tǒng)計(jì)模塊功能描述: 用戶可以通過不同的頁面完成對(duì)5個(gè)不同表中的數(shù)據(jù)的修改操作界面設(shè)計(jì):表單名稱: 統(tǒng)計(jì)文件名: 統(tǒng)計(jì).scx數(shù)據(jù)環(huán)境: student.dbf, score.dbf, course.dbf對(duì)象設(shè)置:對(duì) 象屬 性值Form1Caption統(tǒng)計(jì)OptionGroup1ButtonCount2Label1Caption最高成績Label2Caption最低成績Label3Caption平均成績List1RowSourceType6-字段Label4Label6(空白標(biāo)簽用于顯示運(yùn)算結(jié)果)Command1Caption返回函數(shù)與方法聲明:(1) Form1中的Init事件功能: 在窗體被調(diào)用時(shí),進(jìn)行顯示的初始化工作程序清單:this.label5.caption=this.label6.caption=this.label7.caption=(2) Thisform.OptionGroup1中的IntelactiveChange事件功能: 根據(jù)單選框的選擇情況,進(jìn)行數(shù)據(jù)源的設(shè)置程序清單:do case case this.value=0 thisform.list1.rowsource= *無選項(xiàng)時(shí)不設(shè)置數(shù)據(jù)源 thisform.list1.refresh case this.value=1 thisform.list1.rowsource=student.姓名 thisform.list1.refresh case this.value=2 thisform.list1.rowsource=course.課程名稱 thisform.list1.refreshendcase(3) Thisform.List1中的IntelactiveChange事件功能: 如果選項(xiàng)被改變,則根據(jù)用戶指定的新選項(xiàng)重新統(tǒng)計(jì)并顯示結(jié)果程序清單:do casecase thisform.optiongroup1.value=1 xm=alltrim(t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 非均相反應(yīng)中的滯后擴(kuò)散現(xiàn)象-洞察闡釋
- 2025年中國拱形門氣模市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國平吹膜機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 2024年中國油墨樹脂行業(yè)市場(chǎng)調(diào)查報(bào)告
- 2025年中國封地劑和涂層市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國女拉丁舞鞋市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國掘進(jìn)鉆車行業(yè)市場(chǎng)全景監(jiān)測(cè)及投資前景展望報(bào)告
- 基于NVRAM的低功耗系統(tǒng)設(shè)計(jì)與優(yōu)化-洞察闡釋
- 綠色公路建筑材料研究-洞察闡釋
- 佛州鮮橙汁香精項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 水下無線光通信高靈敏度調(diào)制編碼與接收技術(shù)研究
- 汽車金融不良資產(chǎn)分類研究-深度研究
- 2025年光伏發(fā)電項(xiàng)目合同能源管理合同
- 2025年河北交通投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2020-2021學(xué)年河南省鄭州市八下期末數(shù)學(xué)試卷(原卷版)
- 家具公司工藝流程
- 《吸入性肺炎的護(hù)理》課件
- 2024-2030年中國卷煙行業(yè)市場(chǎng)未來發(fā)展?fàn)顩r及投資規(guī)劃研究報(bào)告
- 水利水電工程施工企業(yè)“三類人員”安全生產(chǎn)考核題庫-(單選多選題庫)
- 【MOOC】結(jié)構(gòu)力學(xué)基礎(chǔ)-西南交通大學(xué) 中國大學(xué)慕課MOOC答案
- 2024廣東省勞動(dòng)合同范本范本下載
評(píng)論
0/150
提交評(píng)論