学籍管理之VFP应用程序设计实例

发布时间 : 星期一 文章学籍管理之VFP应用程序设计实例更新完毕开始阅读

VFP应用程序设计实例--学生学籍管理系统(1)

图1

MIS是英文Management Information System的英文缩写,意思是信息管理系统,该系统可用于

中小型企事业单位业务处理和信息交流,从而大大提高了企业运作的效率。微软公司的Visual FoxPro可视化面向对象的编程软件是一个设计MIS系统即简单又快捷的好软件。下面,就以VFP 6.0 为开发环境,讲述设计学生学籍管理系统的详细设计过程,也为在看过了前面非表单设计的学生学 籍管理系统的朋友们继续了解并学习采用表单(Form)的方式设计MIS系统的方法。

一、设计思路:学生学籍管理系统的运行以封面表单开始,如图1所示,要求用户输入登录密码, 并设置三次检查功能,若三次输入的密码均有错,则自动退出系统;否则出现系统菜单,接收用户的 操作,操作完毕后用户可以从系统菜单中退出系统。

二、系统功能:系统的功能主要分成十个功能模块,它们是:录入数据、修改数据、删除数据、查 询数据、统计数据、显示数据、打印数据、导出数据、导入数据和清空数据。录入数据可以实现学生 信息的录入;修改数据可以实现学生信息的修改;删除数据可以实现学生数据的删除;查询数据可以 实现学生信息的查询;统计数据可以实现学生人数、党员人数、学生总平均成绩、高数平均成绩、英 语平均成绩和VFP平均成绩的统计;显示数据可以实现以字段分布和二维表两种方式显示学生信息; 打印数据可以实现用报表的形式打印学生的信息;导出数据可以实现学生数据的备份,防止数据丢 失;导入数据可以实现学生数据的还原,保证数据的正确性;清空数据可以实现学生数据的清空操 作。

三、菜单结构框架图

四、数据库结构:(可定义表名为xj.dbf)

字段名 学号 姓名 性别 出生年月 邮编 高数 英语 VFP 是否党员 电话 通信地址 备注 均通过VFP项目管理器建立)

1、学生学籍管理系统主程序源代码(可定义程序名为main.prg) _SCREEN.WINDOWSTATE=2 &&设置窗口规格为第2种系统窗口

_SCREEN.CAPTION=\学生学籍管理系统\设置窗口标题为“学生学籍管理系统” _SCREEN.CLOSABLE=.T. &&去掉关闭按钮 _SCREEN.CONTROLBOX=.F. &&去掉控制按钮 _SCREEN.MAXBUTTON=.F. &&去掉最大化按钮 _SCREEN.MINBUTTON=.F. &&去掉最小化按钮

_SCREEN.BACKCOLOR=RGB(50,100,128) &&设置窗口的背景色 CLOSE ALL CLEAR ALL

类型 字符型 字符型 字符型 字符型 字符型 数值型 数值型 数值型 字符型 字符型 字符型 备注型 宽度 2 6 2 10 6 5 5 5 2 8 30 4 小数位数 1 1 1 五、具体设计:(给出源代码,表单属性可参照图示在VFP属性框中设置,所有程序文件和表单文件

CLEAR

SET SYSMENU OFF SET SYSMENU TO SET TALK OFF SET SAFETY OFF

SET STATUS BAR OFF &&关闭Visual Foxpro的状态栏 DO FORM A:\\封面.SCX &&调用系统登录“封面”表单 READ EVENT &&响应用户输入 DO A:\\菜单.MPX &&运行系统菜单 READ EVENT

SET SYSMENU TO DEFAULT &&恢复Visual Foxpro的系统菜单的默认值 SET SYSMENU ON &&显示Visual Foxpro的系统菜单 SET STATUS BAR ON &&显示Visual Foxpro的状态栏 CLOSE ALL &&关闭所有文件 CLEAR ALL RETURN &&返回

2、封面表单源代码(A:\\封面.sct)

PROCEDURE Click &&确定按 钮的单击事件过程 SET EXACT ON &&设置精确比较命令

IF THISFORM.text1.VALUE=\如果文本框的值是8888 THISFORM.RELEASE &&那么释放封面表单 DO A:\\菜单.MPX &&运行菜单程序 ELSE &&否则

THISFORM.NO=THISFORM.NO+1 &&将自定义属性NO的值由0加1 IF THISFORM.NO>=3 &&如果自定义属性NO的值为3

=MESSAGEBOX(\密码三次输错,您不能使用本系统!\学生学籍管理系统\那么弹出内容为“密码三次输错,您不能使用本系统!”的对话框 QUIT &&结束程序的运行 ELSE &&否则

=MESSAGEBOX(\密码错误!\警告\弹出内容为“密码错误!”的对话框 THISFORM.text1.VALUE=\设置文本框的内容为空 THISFORM.text1.SETFOCUS &&并将光标定位到文本框中 THISFORM.REFRESH &&刷新封面表单 ENDIF ENDIF

SET EXACT OFF &&设置关闭精确比较命令 ENDPROC

PROCEDURE Click &&取消按钮的单击事件过程 THISFORM.RELEASE &&释放封面表单 CLOSE ALL &&关闭所有文件 CLEAR EVENT quit

VFP应用程序设计实例--学生学籍管理系统(2)

图2

3、录入数据表单源代码(A:\\录入.sct,如图2所示) PROCEDURE Init &&录入数据表单的初始化事件过程 SET TALK OFF

THISFORM.commandgroup1.command4.ENABLED=.f. &&设置第四个按钮为不可用状态 THISFORM.commandgroup1.command5.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邮编.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备注.ENABLED=.f. &&设置备注编辑框为不可用状态 ENDPROC

PROCEDURE Load &&录入数据表单的加载事件过程 CLOSE DATA &&关闭所有数据库

USE A:\\XJ存 &&打开A盘中的XJ.DBF表文件 SET MULTILOCKS ON &&设置锁定一组记录

=CURSORSETPROP('buffering',5,'XJ') &&打开开放式表缓冲

联系合同范文客服:xxxxx#qq.com(#替换为@)