1、VFP 应用程序设计实例-学生学籍管理系统(1)电脑笔记 2007-10-29 16:43:36 阅读3036 评论5 字号:大中小 订阅图1MIS 是英文 Management Information System 的英文缩写,意思是信息管理系统,该系统可用于中小型企事业单位业务处理和信息交流,从而大大提高了企业运作的效率。微软公司的 Visual FoxPro 可视化面向对象的编程软件是一个设计 MIS 系统即简单又快捷的好软件。下面,就以VFP 6.0为开发环境,讲述设计学生学籍管理系统的详细设计过程,也为在看过了前面非表单设计的学生学籍管理系统的朋友们继续了解并学习采用表单(Form)
2、的方式设计 MIS 系统的方法。一、设计思路:学生学籍管理系统的运行以封面表单开始,如图1所示,要求用户输入登录密码,并设置三次检查功能,若三次输入的密码均有错,则自动退出系统;否则出现系统菜单,接收用户的操作,操作完毕后用户可以从系统菜单中退出系统。二、系统功能:系统的功能主要分成十个功能模块,它们是:录入数据、修改数据、删除数据、查询数据、统计数据、显示数据、打印数据、导出数据、导入数据和清空数据。录入数据可以实现学生信息的录入;修改数据可以实现学生信息的修改;删除数据可以实现学生数据的删除;查询数据可以实现学生信息的查询;统计数据可以实现学生人数、党员人数、学生总平均成绩、高数平均成绩、
3、英语平均成绩和 VFP 平均成绩的统计;显示数据可以实现以字段分布和二维表两种方式显示学生信息;打印数据可以实现用报表的形式打印学生的信息;导出数据可以实现学生数据的备份,防止数据丢失;导入数据可以实现学生数据的还原,保证数据的正确性;清空数据可以实现学生数据的清空操作。三、菜单结构框架图四、数据库结构:(可定义表名为 xj.dbf) 字段名 类型 宽度 小数位数 学号 字符型 2 姓名 字符型 6 性别 字符型 2 出生年月 字符型 10 邮编 字符型 6 高数 数值型 5 1英语 数值型 5 1VFP 数值型 5 1是否党员 字符型 2 电话 字符型 8 通信地址 字符型 30 备注 备注
4、型 4 五、具体设计:(给出源代码,表单属性可参照图示在 VFP 属性框中设置,所有程序文件和表单文件均通过 VFP 项目管理器建立)1、学生学籍管理系统主程序源代码(可定义程序名为 main.prg)_SCREEN.WINDOWSTATE=2 &设置窗口规格为第2种系统窗口_SCREEN.CAPTION=“学生学籍管理系统“ &设置窗口标题为“学生学籍管理系统”_SCREEN.CLOSABLE=.T. &去掉关闭按钮_SCREEN.CONTROLBOX=.F. &去掉控制按钮_SCREEN.MAXBUTTON=.F. &去掉最大化按钮_SCREEN.MINBUTTON=.F. &去掉最小化按
5、钮_SCREEN.BACKCOLOR=RGB(50,100,128) &设置窗口的背景色CLOSE ALLCLEAR ALLCLEARSET SYSMENU OFFSET SYSMENU TOSET TALK OFFSET SAFETY OFFSET STATUS BAR OFF &关闭 Visual Foxpro 的状态栏DO FORM A:封面.SCX &调用系统登录“封面”表单READ EVENT &响应用户输入DO A:菜单.MPX &运行系统菜单READ EVENTSET SYSMENU TO DEFAULT &恢复 Visual Foxpro 的系统菜单的默认值SET SYSMEN
6、U ON &显示 Visual Foxpro 的系统菜单SET STATUS BAR ON &显示 Visual Foxpro 的状态栏CLOSE ALL &关闭所有文件CLEAR ALLRETURN &返回2、封面表单源代码(A:封面.sct)PROCEDURE Click &确定按 钮的单击事件过程SET EXACT ON &设置精确比较命令IF THISFORM.text1.VALUE=“8888“ &如果文本框的值是8888THISFORM.RELEASE &那么释放封面表单DO A:菜单.MPX &运行菜单程序ELSE &否则THISFORM.NO=THISFORM.NO+1 &将自
7、定义属性 NO 的值由0加1IF THISFORM.NO=3 &如果自定义属性 NO 的值为3=MESSAGEBOX(“密码三次输错,您不能使用本系统!“,0+16+0,“学生学籍管理系统“) &那么弹出内容为“密码三次输错,您不能使用本系统!”的对话框QUIT &结束程序的运行ELSE &否则=MESSAGEBOX(“密码错误!“,48+0+0,“警告“) &弹出内容为“密码错误!”的对话框THISFORM.text1.VALUE=“ &设置文本框的内容为空THISFORM.text1.SETFOCUS &并将光标定位到文本框中THISFORM.REFRESH &刷新封面表单ENDIFEND
8、IFSET EXACT OFF &设置关闭精确比较命令ENDPROCPROCEDURE Click &取消按钮的单击事件过程THISFORM.RELEASE &释放封面表单CLOSE ALL &关闭所有文件CLEAR EVENTquitVFP 应用程序设计实例-学生学籍管理系统(2)电脑笔记 2007-10-29 16:54:06 阅读3687 评论0 字号:大中小 订阅图23、录入数据表单源代码(A:录入.sct,如图2所示)PROCEDURE Init &录入数据表单的初始化事件过程SET TALK OFFTHISFORMmand4.ENABLED=.f. &设置第四个按钮为不可用状态TH
9、ISFORMmand5.ENABLED=.f. &设置第五个按钮为不可用状态THISFORM.txt 学号.ENABLED=.f. &设置学号文本框为不可用状态THISFORM.txt 姓名.ENABLED=.f. &设置姓名文本框为不可用状态THISFORM.combo1.ENABLED=.f. &设置组合框1为不可用状态THISFORM.combo2.ENABLED=.f. &设置组合框2为不可用状态THISFORM.combo3.ENABLED=.f. &设置组合框3为不可用状态THISFORM.combo4.ENABLED=.f. &设置组合框4为不可用状态THISFORM.txt 邮
10、编.ENABLED=.f. &设置邮编文本框为不可用状态THISFORM.txt 高数.ENABLED=.f. &设置高数文本框为不可用状态THISFORM.txt 英语.ENABLED=.f. &设置英语文本框为不可用状态THISFORM.txtVfp.ENABLED=.f. &设置 VFP 文本框为不可用状态THISFORM.combo5.ENABLED=.f. &设置组合框5为不可用状态THISFORM.txt 电话.ENABLED=.f. &设置电话文本框为不可用状态THISFORM.txt 通信地址.ENABLED=.f. &设置通信地址文本框为不可用状态THISFORM.edt 备
11、注.ENABLED=.f. &设置备注编辑框为不可用状态ENDPROCPROCEDURE Load &录入数据表单的加载事件过程CLOSE DATA &关闭所有数据库USE A:XJ 存 &打开 A 盘中的 XJ.DBF 表文件SET MULTILOCKS ON &设置锁定一组记录=CURSORSETPROP(buffering,5,XJ) &打开开放式表缓冲ENDPROCPROCEDURE InteractiveChange &录入数据表单的交互改变事件过程REPL 出生年月 WITH THISFORM.combo2.displayvalue+“.“+THISFORM.combo3.disp
12、layvalue+“.“+THISFORM.combo4.displayvalue &用组合框的值替换出生年月字段THISFORM.REFRESH &刷新录入数据表单ENDPROCPROCEDURE Command1.Click &单击命令按钮1的事件过程APPEND BLANK &添加一空白记录THISFORM.REFRESH &刷新录入数据表单THISFORMmand1.ENABLED=.f. &设置命令按钮1为不可用状态THISFORMmand2.ENABLED=.f. &设置命令按钮2为不可用状态THISFORMmand3.ENABLED=.f. &设置命令按钮3为不可用状态THISF
13、ORMmand4.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.THISFORM.combo3.ENABLED=.t.THISFORM.combo4.ENABLED=.t.THISFORM.txt 邮编.ENABLED=.
14、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 学号.SETFOCUSENDPROCPROCEDURE Command2.Click &单击命令按钮2的事件过程SET DELETE ON &设置打开删除命令DELETE &删除当前记录Y
15、N=MESSAGEBOX(确实要删除这条记录?,4+32+256,删除确认) &弹出内容为“确实要删除这条记录?”的对话框DO CASE &运行条件判断语句CASE YN=6 &当单击“是”按钮时=TABLEUPDATE(.T.) &执行更新表函数,删除当前记录CASE YN=7 &当单击“否”按钮时RECALL &恢复已作了删除标记的当前记录ENDCASETHISFORM.REFRESHENDPROCPROCEDURE Command3.Click &单击命令按钮3的事件过程THISFORMmand1.ENABLED=.f.THISFORMmand2.ENABLED=.f.THISFORMmand3.ENABLED=.f.THISFORMmand4.ENABLED=.t.THISFORMmand5.ENABLED=.t.
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。