VFP应用程序设计实例_第1页
VFP应用程序设计实例_第2页
VFP应用程序设计实例_第3页
VFP应用程序设计实例_第4页
VFP应用程序设计实例_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VFP应用程序设计实例-学生学籍管理系统(1)电脑笔记 2007-10-29 16:43:36 阅读2795评论5字号:大中小图1MIS是英文Ma nageme nt In formation System的英文缩写,意思是信息管理系统,该系统可用于中小型企事业单位业务处理和信息交流 ,从而大大提高了企业运作的效率。微软公司的 VisualFoxPro可视化面向对象的编程软件是一个设计MIS系统即简单又快捷的好软件。下面,就以VFP6.0为开发环境,讲述设计学生学籍管理系统的详细设计过程,也为在看过了前面非表单设计的学生学籍管理系统的朋友们继续了解并学习采用表单(Form)的方式设计MIS系统

2、的方法。一、设计思路:学生学籍管理系统的运行以封面表单开始,如图1所示,要求用户输入登录密码,并设置三次检查功能,若三次输入的密码均有错,则自动退岀系统;否则岀现系统菜单,接收用户的操作,操作完毕后用户可以从系统菜单中退出系统。二、系统功能:系统的功能主要分成十个功能模块,它们是:录入数据、修改数据、删除数 据、查询数据、统计数据、显示数据、打印数据、导出数据、导入数据和清空数据。录入数据可以实现 学生信息的录入;修改数据可以实现学生信息的修改;删除数据可以实现学生数据的删除;查询数据 可以实现学生信息的查询;统计数据可以实现学生人数 、党员人数、学生总平均成绩、高数平均成绩、 英语平均成绩和

3、VFP平均成绩的统计;显示数据可以实现以字段分布和二维表两种方式显示学生信打印数据可以实现用报表的形式打印学生的信息;导岀数据可以实现学生数据的备份,防止数据丢失;导入数据可以实现学生数据的还原,保证数据的正确性;清空数据可以实现学生数据的清空 操作。三、菜单结构框架图学生学藉管理系统主程序登录窗口主菜单VVV VV1IF 4 V V录 入 歡 据修 改 数 据删 除 数 据查 询据统计数据显 示 数 据导出据措空数据四、数据库结构:(可定义表名为xj.dbf)字段名类型宽度小数位数学号字符型2姓名字符型6性别字符型2出生年月字符型10邮编字符型6高数数值型51英语数值型51VFP数值型51是

4、否党员字符型2电话字符型8通信地址字符型30备注备注型4五、具体设计:(给出源代码,表单属性可参照图示在VFP属性框中设置,所有程序文件和表单文件均通过VFP项目管理器建立)1学生学籍管理系统主程序源代码(可定义程序名为 mai n.prg)_SCREEN.WIND0WSTATE=2&设置窗口规格为第 2种系统窗口_SCREEN.CAPTION生学籍管理系统“&设置窗口标题为“学生学籍管理系统”_SCREEN.CLOSABLE=.T. & 去掉关闭按钮_SCREEN.CONTROLBOX=.F. & 去掉控制按钮_SCREEN.MAXBUTTON=.F. &去掉最大化按钮_SCREEN.MIN

5、BUTTON=.F. &去掉最小化按钮_SCREEN.BACKCOLOR=RGB(50,100,128) &设置窗口的背景色CLOSE ALLCLEAR ALLCLEARSET SYSMENU OFFSET SYSMENU TOSET TALK OFFSET SAFETY OFFSET STATUS BAR OFF & 关闭 Visual Foxpro 的状态栏封面.sex &调用系统登录“封面”表单READ EVENT &响应用户输入菜单.MPX &运行系统菜单READ EVENTSET SYSMENU TO DEFAULT &恢复 Visual Foxpro的系统菜单的默认值SET SYS

6、MENU ON &显示 Visual Foxpro的系统菜单SET STATUS BAR ON &显示 Visual Foxpro 的状态栏CLOSE ALL &关闭所有文件CLEAR ALLRETURN &返回2、封面表单源代码封面.set)PROCEDURE Click &确定按钮的单击事件过程SET EXACT ON &设置精确比较命令IF THISFORM.text1.VALUE=8888& 如果文本框的值是 8888THISFORM.RELEASE &那么释放封面表单菜单.MPX &运行菜单程序ELSE & 否贝 UTHISFORM.NO=THISFORM.NO+1 &将自定义属性

7、NO的值由0力廿1IF THISFORM.NO=3 &如果自定义属性 NO的值为3=MESSAGEBOX(密码三次输错,您不能使用本系统!,0+16+0,学生学籍管理系统)&那么弹岀内容为“密码三次输错,您不能使用本系统! ”的对话框QUIT &结束程序的运行ELSE & 否贝 U=MESSAGEBOX密码错误! ,48+0+0,警告)&弹岀内容为“密码错误! ”的对话框THISFORM.text1.VALUE=&设置文本框的内容为空THISFORM.textl.SETFOCUS &并将光标定位到文本框中THISFORM.REFRESH &刷新封面表单ENDIFENDIFSET EXACT O

8、FF &设置关闭精确比较命令ENDPROCPROCEDURE Click &取消按钮的单击事件过程THISFORM.RELEASE &释放封面表单CLOSE ALL &关闭所有文件CLEAR EVENTquitENDPROC (未完)VFP应用程序设计实例-学生学籍管理系统(2)电脑笔记 2007-10-29 16:54:06 阅读3360评论0字号:大中小3、录入数据表单源代码录入.set ,如图2所示)PROCEDURE In it &录入数据表单的初始化事件过程SET TALK OFFTHISFORM.comma ma nd4.ENABLED=.f. & 设置第四个按钮为不可用状态THI

9、SFORM.comma ma nd5.ENABLED=.f. & 设置第五个按钮为不可用状态THISFORM.txt 学号.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.&设置学号文本框为不可用状态&设置姓名文本框为不可用状态&设置组合框1为不可用状态&设置组合框2为不可用状态&设置组合框3为不可用

10、状态&设置组合框4为不可用状态&设置邮编文本框为不可用状态THISFORM.txt 英语.ENABLED=.f.&设置英语文本框为不可用状态THISFORM.txt 高数.ENABLED=.f.&设置高数文本框为不可用状态THISFORM.txtVfp.ENABLED=.f. &设置VFP文本框为不可用状态THISFORM.combo5.ENABLED=.f.THISFORM.txt 电话.ENABLEDTHISFORM.txt 通信地址.ENABLED=.f.THISFORM.edt 备注.ENABLED&设置组合框5为不可用状态&设置电话文本框为不可用状态&设置通信地址文本框为不可用状态&

11、设置备注编辑框为不可用状态THISFORMmand3.ENABLED=.f. &设置命令按钮 3 为不可用状态ENDPROCPROCEDURE Load &录入数据表单的加载事件过程CLOSE DATA &关闭所有数据库USE A:XJ存&打开 A盘中的XJ.DBF表文件SET MULTILOCKS ON &设置锁定一组记录=CURSORSETPROP(bufferi ng,5,XJ)&打开开放式表缓冲ENDPROCPROCEDURE I nteractiveCha nge&录入数据表单的交互改变事件过程REPL岀生年月 WITHTHISFORM.combo2.displayvalue+.+T

12、HISFORM.combo3.displayvalue+.+THISFORM.combo4.displayvalue&用组合框的值替换岀生年月字段THISFORM.REFRESH &刷新录入数据表单ENDPROCPROCEDURE Command1.Click &单击命令按钮 1的事件过程APPEND BLANK &添加一空白记录THISFORM.REFRESH &刷新录入数据表单THISFORM.comma ma nd1.ENABLED=.f. & 设置命令按钮 1 为不可用状态THISFORMmand2.ENABLED=.f. &设置命令按钮 2 为不可用状态THISFORMmand4.E

13、NABLED=.t.&设置命令按钮 4 为可用状态THISFORMmand5.ENABLED=.t. &设置命令按钮 5 为可用状态THISFORMmand6.ENABLED=.f. &设置命令按钮 6 为不可用状态THISFORM.txt 学号.ENABLED=.t.THISFORM.txt 姓名.ENABLED=.t.THISFORM.combo1.ENABLED=.t.THISFORM.combo2.ENABLED=.t.THISFORM.combo3.ENABLED=.t.THISFORM.combo4.ENABLED=.t.THISFORM.txt 邮编.ENABLED=.t.THI

14、SFORM.txt 高数.ENABLED=.t.THISFORM.txt 英语.ENABLED=.t.THISFORM.txtVfp.ENABLED=.t.THISFORM.combo5.ENABLED=.t.THISFORM.txt 电话.ENABLED=.t.THISFORM.txt 通信地址.ENABLED=.t.THISFORM.edt 备注.ENABLED=.t.THISFORM.txt 学号.SETFOCUSENDPROCPROCEDURE Command2.Click &单击命令按钮 2的事件过程SET DELETE ON &设置打开删除命令DELETE &删除当前记录YN=ME

15、SSAGEBOX确实要删除这条记录?,4+32+256,删除确认)&弹岀内容为“确实要删除这条记录? ”的对话框DO CASE &运行条件判断语句CASE YN=6 &当单击“是”按钮时=TABLEUPDATE(.T.)&执行更新表函数,删除当前记录CASE YN=7 &当单击“否”按钮时RECALL &恢复已作了删除标记的当前记录ENDCASETHISFORM.REFRESHENDPROCPROCEDURE Command3.Click &单击命令按钮 3的事件过程THISFORM.comma ma nd1.ENABLED=.f.THISFORM.comma ma nd2.ENABLED=.

16、f.THISFORM.comma ma nd3.ENABLED=.f.THISFORM.comma ma nd4.ENABLED=.t.THISFORM.comma ma nd5.ENABLED=.t.THISFORM.comma ma nd6.ENABLED=.f.ENDPROCPROCEDURE Command4.Click &单击命令按钮 4的事件过程 =TABLEUPDATE(.T.)THISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.t.THISFORM.comma ma nd3.ENABLED=.t.THI

17、SFORM.comma ma nd4.ENABLED=.f.THISFORM.comma ma nd5.ENABLED=.f.ENDPROCPROCEDURE Command5.Click &单击命令按钮 5的事件过程 =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

18、.comma ma nd6.ENABLED=.t.ENDPROCPROCEDURE Command6.Click &单击命令按钮 6的事件过程SELE 1&选择1号工作区USE A:XJ EXCLUSIVE 打开 A盘中的XJ.DBF数据表PACK &彻底删除已作了删除标记的记录THISFORM.RELEASE &释放录入数据表单ENDPROCPROCEDURE In teractiveCha ngeREPL是否党员WITH THISFORM.combo5.DISPLAYVALUE &用组合框的值替换是否党员字段THISFORM.REFRESHENDPROC4、修改数据表单源代码修改.set)

19、THISFORM.comma ma nd6.ENABLED=.t.修改数据雀書ttSL月丨 ec.o胃RESTi制世賢募嗥跖已弼7学号”II1砂忙|上荷于啟KB菊円i上杀1杠1球辛| WiSr耶|图3PROCEDURE Comma ndl.ClickIF NOT BOF()&如果记录指针没有到记录的开头SKIP - 1&向上跳转一个记录THISFORM.REFRESHTHISFORM.comma ma nd2.ENABLED=.t.ELSEWAIT WINDOW已经是第一条记录了!&系统给岀内容为“已经是第一条记录了!”提示窗口ENDIFENDPROCPROCEDURE Comma nd2.C

20、lickIF NOT EOF()&如果记录指针没有到记录的结尾SKIP &向下跳转一个记录THISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.t.ELSEWAIT WINDOW已经是最后一条记录了!ENDIFENDPROCPROCEDURE Comma nd3.ClickGO TOP &将记录指针移到记录的开头THISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.f.THISFORM.comma ma nd2.ENABLED=.t.ENDPROCPROCEDURE Comma nd4.ClickGO BOTTOM

21、 &将记录指针移到记录的结尾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.E

22、NABLED=.f.THISFORM.comma ma nd7.ENABLED=.t.ENDPROCPROCEDURE Comma nd6.Click=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=.t.THISFORM.comma ma nd5.ENABLED=.f.THISFORM.comma ma nd

23、6.ENABLED=.f.THISFORM.comma ma nd7.ENABLED=.t.ENDPROCPROCEDURE Comma nd7.ClickUSE A:XJ EXCLUSIVEPACKTHISFORM.RELEASEENDPROC PROCEDURE ClickIF EMPTY(THISFORM.combo1.VALUE) &如果组合框 1 的值为空=MESSAGEBOX(请选择学号! ,48+0+0,学生学籍管理系统)&系统给岀内容为“请选择学号! ”的对话框ENDIFAA=RECNO() &用显示记录号的函数将记录号赋给变量AAGO AA &将记录指针移到当前记录号THIS

24、FORM.txt 学号.REFRESH&刷新学号文本框的内容THISFORM.txt 姓名.REFRESH&刷新姓名文本框的内容THISFORM.txt 性另【J .REFRESH&刷新性别文本框的内容THISFORM.txt 岀生年月.REFRESH&刷新岀生年月文本框的内容THISFORM.txt 由E编.REFRESH&刷新邮编文本框的内容THISFORM.txt 高数.REFRESH&刷新高数文本框的内容THISFORM.txt 英语.REFRESH&刷新英语文本框的内容THISFORM.txtVfp.REFRESH&刷新VFP文本框的内容THISFORM.txt 是否党员.REFRE

25、SH&刷新是否党员文本框的内容THISFORM.txt 电话.REFRESH&刷新电话文本框的内容THISFORM.txt 通信地址.REFRESH&刷新通信地址文本框的内容THISFORM.edt 备注.REFRESH&刷新备注编辑框的内容THISFORM.comma ma nd5.ENABLED=.t.THISFORM.comma ma nd6.ENABLED=.t.ENDPROq 未完)VFP应用程序设计实例-学生学籍管理系统(2)电脑笔记 2007-10-29 16:54:06 阅读3360评论0字号:大中小3、录入数据表单源代码录入.set ,如图2所示)PROCEDURE In i

26、t &录入数据表单的初始化事件过程SET TALK OFFTHISFORM.comma ma nd4.ENABLED=.f. & 设置第四个按钮为不可用状态THISFORM.comma ma nd5.ENABLED=.f. & 设置第五个按钮为不可用状态THISFORM.txt 学号.ENABLED=.f.THISFORM.txt 姓名.ENABLED=.f.THISFORM.combo1.ENABLED=.f.THISFORM.combo2.ENABLED=.f.THISFORM.combo3.ENABLED=.f.THISFORM.combo4.ENABLED=.f.THISFORM.tx

27、t 邮编.ENABLED=.f.&设置学号文本框为不可用状态&设置姓名文本框为不可用状态&设置组合框1为不可用状态&设置组合框2为不可用状态&设置组合框3为不可用状态&设置组合框4为不可用状态&设置邮编文本框为不可用状态THISFORM.txt 英语.ENABLED=.f.&设置英语文本框为不可用状态THISFORM.txt 高数.ENABLED=.f.&设置高数文本框为不可用状态THISFORM.txtVfp.ENABLED=.f. &设置VFP文本框为不可用状态THISFORM.combo5.ENABLED=.f.THISFORM.txt 电话.ENABLEDTHISFORM.txt 通信

28、地址.ENABLED=.f.THISFORM.edt 备注.ENABLED&设置组合框5为不可用状态&设置电话文本框为不可用状态&设置通信地址文本框为不可用状态&设置备注编辑框为不可用状态THISFORMmand3.ENABLED=.f. &设置命令按钮 3 为不可用状态ENDPROCPROCEDURE Load &录入数据表单的加载事件过程CLOSE DATA &关闭所有数据库USE A:XJ存&打开 A盘中的XJ.DBF表文件SET MULTILOCKS ON &设置锁定一组记录=CURSORSETPROP(bufferi ng,5,XJ)&打开开放式表缓冲ENDPROCPROCEDURE

29、 I nteractiveCha nge&录入数据表单的交互改变事件过程REPL岀生年月 WITHTHISFORM.combo2.displayvalue+.+THISFORM.combo3.displayvalue+.+THISFORM.combo4.displayvalue&用组合框的值替换岀生年月字段THISFORM.REFRESH &刷新录入数据表单ENDPROCPROCEDURE Command1.Click &单击命令按钮 1的事件过程APPEND BLANK &添加一空白记录THISFORM.REFRESH &刷新录入数据表单THISFORM.comma ma nd1.ENABL

30、ED=.f. & 设置命令按钮 1 为不可用状态THISFORMmand2.ENABLED=.f. &设置命令按钮 2 为不可用状态THISFORMmand4.ENABLED=.t.&设置命令按钮 4 为可用状态THISFORMmand5.ENABLED=.t. &设置命令按钮 5 为可用状态THISFORMmand6.ENABLED=.f. &设置命令按钮 6 为不可用状态THISFORM.txt 学号.ENABLED=.t.THISFORM.txt 姓名.ENABLED=.t.THISFORM.combo1.ENABLED=.t.THISFORM.combo2.ENABLED=.t.THI

31、SFORM.combo3.ENABLED=.t.THISFORM.combo4.ENABLED=.t.THISFORM.txt 邮编.ENABLED=.t.THISFORM.txt 高数.ENABLED=.t.THISFORM.txt 英语.ENABLED=.t.THISFORM.txtVfp.ENABLED=.t.THISFORM.combo5.ENABLED=.t.THISFORM.txt 电话.ENABLED=.t.THISFORM.txt 通信地址.ENABLED=.t.THISFORM.edt 备注.ENABLED=.t.THISFORM.txt 学号.SETFOCUSENDPROC

32、PROCEDURE Command2.Click &单击命令按钮 2的事件过程SET DELETE ON &设置打开删除命令DELETE &删除当前记录YN=MESSAGEBOX确实要删除这条记录?,4+32+256,删除确认)&弹岀内容为“确实要删除这条记录? ”的对话框DO CASE &运行条件判断语句CASE YN=6 &当单击“是”按钮时=TABLEUPDATE(.T.)&执行更新表函数,删除当前记录CASE YN=7 &当单击“否”按钮时RECALL &恢复已作了删除标记的当前记录ENDCASETHISFORM.REFRESHENDPROCPROCEDURE Command3.Cli

33、ck &单击命令按钮 3的事件过程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.THISFORM.comma ma nd6.ENABLED=.f.ENDPROCPROCEDURE Command4.Click &单击命令按钮 4的事件过程 =TABLEUPDATE(.T.)THISFORM.comma ma nd1

34、.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 &单击命令按钮 5的事件过程 =TABLEREVERT(.T.)THISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.t.THISFORM.comma ma nd3.ENAB

35、LED=.t.THISFORM.comma ma nd4.ENABLED=.f.THISFORM.comma ma nd5.ENABLED=.f.THISFORM.comma ma nd6.ENABLED=.t.ENDPROCPROCEDURE Command6.Click &单击命令按钮 6的事件过程SELE 1&选择1号工作区USE A:XJ EXCLUSIVE 打开 A盘中的XJ.DBF数据表PACK &彻底删除已作了删除标记的记录THISFORM.RELEASE &释放录入数据表单ENDPROCPROCEDURE In teractiveCha ngeREPL是否党员WITH THIS

36、FORM.combo5.DISPLAYVALUE &用组合框的值替换是否党员字段THISFORM.REFRESHENDPROC4、修改数据表单源代码修改.set)修改数据雀書ttSL月丨 ec.o胃RESTi制世賢募嗥跖已弼7学号”II1砂忙|上荷于啟KB菊円i上杀1杠1球辛| WiSr耶|图3PROCEDURE Comma ndl.ClickIF NOT BOF()&如果记录指针没有到记录的开头SKIP - 1&向上跳转一个记录THISFORM.REFRESHTHISFORM.comma ma nd2.ENABLED=.t.ELSEWAIT WINDOW已经是第一条记录了!&系统给岀内容为“

37、已经是第一条记录了!”提示窗口ENDIFENDPROCPROCEDURE Comma nd2.ClickIF NOT EOF()&如果记录指针没有到记录的结尾SKIP &向下跳转一个记录THISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.t.ELSEWAIT WINDOW已经是最后一条记录了!ENDIFENDPROCPROCEDURE Comma nd3.ClickGO TOP &将记录指针移到记录的开头THISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.f.THISFORM.comma ma nd2.ENAB

38、LED=.t.ENDPROCPROCEDURE Comma nd4.ClickGO BOTTOM &将记录指针移到记录的结尾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

39、.comma ma nd5.ENABLED=.f.THISFORM.comma ma nd6.ENABLED=.f.THISFORM.comma ma nd7.ENABLED=.t.ENDPROCPROCEDURE Comma nd6.Click=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=.t.THISF

40、ORM.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(请选择学号! ,48+0+0,学生学籍管理系统)&系统给岀内容为“请选择学号! ”的对话框ENDIFTHISFO

41、RM.comma ma nd4.ENABLED=.t.AA=RECNO() &用显示记录号的函数将记录号赋给变量AAGO AA &将记录指针移到当前记录号THISFORM.txt 学号.REFRESH&刷新学号文本框的内容THISFORM.txt 姓名.REFRESH&刷新姓名文本框的内容&刷新性别文本框的内容THISFORM.txt 性另【J .REFRESH&刷新岀生年月文本框的内容THISFORM.txt 岀生年月.REFRESHTHISFORM.txt 由E编.REFRESH&刷新邮编文本框的内容THISFORM.txt 高数.REFRESH&刷新高数文本框的内容THISFORM.tx

42、t 英语.REFRESH&刷新英语文本框的内容THISFORM.txtVfp.REFRESH&刷新VFP文本框的内容&刷新是否党员文本框的内容THISFORM.txt 是否党员.REFRESHTHISFORM.txt 电话.REFRESH&刷新电话文本框的内容&刷新通信地址文本框的内容THISFORM.txt 通信地址.REFRESHTHISFORM.edt 备注.REFRESH&刷新备注编辑框的内容THISFORM.comma ma nd5.ENABLED=.t.THISFORM.comma ma nd6.ENABLED=.t.ENDPROq 未完)、查询数据表单源代码查询.sct)图4PR

43、OCEDURE ClickIF EMPT Y( THISFORM.combol.VALUE)=MESSAGEBOX请选择学号! ,48+0+0,学生学籍管理系统)ENDIFAA=RECNO()GO AATHISFORM.txt 学号.REFRESHTHISFORM.txt 姓名.REFRESHTHISFORM.txt 性另【J .REFRESHTHISFORM.txt 岀生年月.REFRESHTHISFORM.txt 由E编.REFRESHTHISFORM.txt 高数.REFRESHTHISFORM.txt 英语.REFRESHTHISFORM.txtVfp.REFRESHTHISFORM.

44、txt 是否党员.REFRESHTHISFORM.txt 电话.REFRESHTHISFORM.txt 通信地址.REFRESHTHISFORM.edt 备注.REFRESHENDPROC6、统计数据表单源代码统计.set)图5PROCEDURE Click &单击“统计记录总数”按钮时的事件过程COUNT TO AA FOR是否党员=是“&对党员计数,并将计数结果赋给变量AATHISFORM.text5.value=AA&将变量AA的值赋给文本框 5THISFORM.text5.REFRESHENDPROCPROCEDURE Click &单击“统计英语平均成绩”按钮时的事件过程AVERAG

45、E英语TO AA &对所有记录的英语成绩求平均,并将平均值赋给变量AATHISFORM.text3.value=AA &将变量AA的值赋给文本框 3THISFORM.text3.REFRESHENDPROCPROCEDURE Click &单击“统计 VFP平均成绩”按钮时的事件过程AVERAGE vfp TO AA &对所有记录的 VFP成绩求平均,并将平均值赋给变量AATHISFORM.text4.value=AA &将变量AA的值赋给文本框 4THISFORM.text4.REFRESHENDPROCPROCEDURE Click &单击“统计总平均成绩”按钮时的事件过程AVERAGE高

46、数TO AA &对所有记录的高数成绩求平均,并将平均值赋给变量AAAVERAGE英语TO BB &对所有记录的英语成绩求平均,并将平均值赋给变量BBAVERAGE vfp TO CC &对所有记录的 VFP成绩求平均,并将平均值赋给变量CCSTORE (AA+BB+CC)/3 TO DD &将三门成绩的平均成绩和除3的总平均成绩赋给 DDTHISFORM.text6.value=DD &将变量DD的值赋给文本框 6THISFORM.text6.REFRESHENDPROC7、显示数据表单源代码显示.set)图6PROCEDURE Commandl.Click &单击“上条”按钮的事件过程IF

47、NOT BOF()SKIP -1THISFORM.REFRESHTHISFORM.comma ma nd2.ENABLED=.t.ELSEWAIT WINDOW已经是第一条记录了!ENDIFENDPROCPROCEDURE Command2.Click &单击“下条”按钮的事件过程IF NOT EOF()SKIPTHISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.t.ELSEWAIT WINDOW已经是最后一条记录了!ENDIFENDPROCPROCEDURE Command3.Click &单击“首条”按钮的事件过程GO TOPTHISFORM.RE

48、FRESHTHISFORM.comma ma nd1.ENABLED=.f.THISFORM.comma ma nd2.ENABLED=.t.ENDPROCPROCEDURE Command4.Click &单击“末条”按钮的事件过程GO BOTTOMTHISFORM.REFRESHTHISFORM.comma ma nd1.ENABLED=.t.THISFORM.comma ma nd2.ENABLED=.f.ENDPROCPROCEDURE Command5.Click &单击“返回”按钮的事件过程THISFORM.RELEASEENDPROC8删除数据表单源代码删除.set)图7PROC

49、EDURE Click &单击“显示”按钮的事件过程IF EMPT Y( THISFORM.combol.VALUE)=MESSAGEBOX请选择学号! ,48+0+0,学生学籍管理系统)THISFORM.comma nd2.ENABLED=.f.ELSETHISFORM.comma nd2.ENABLED=.t.ENDIFAA=RECNO()GO AATHISFORM.txt 学号.REFRESHTHISFORM.txt 姓名.REFRESHTHISFORM.txt 性另【J .REFRESHTHISFORM.txt 岀生年月.REFRESHTHISFORM.txt 由E编.REFRESHTHISFORM.txt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论