VFP学生信息管理系统
vfp学生管理系统课程设计
vfp学生管理系统课程设计一、教学目标本课程的教学目标是使学生掌握VFP学生管理系统的基本概念、设计方法和实现技巧。
通过本课程的学习,学生将能够:1.知识目标:理解VFP学生管理系统的架构和功能,掌握数据库设计的基本原则,了解VFP编程语言的基本语法。
2.技能目标:能够使用VFP工具进行数据库设计和操作,能够编写VFP程序实现学生管理系统的功能。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决实际问题的能力,培养学生的团队合作精神和创新意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.VFP学生管理系统的基本概念:介绍VFP学生管理系统的定义、功能和应用场景。
2.数据库设计:讲解数据库设计的基本原则,介绍关系型数据库的概念,演示如何使用VFP工具进行数据库设计和操作。
3.VFP编程语言:介绍VFP编程语言的基本语法,讲解如何使用VFP实现学生管理系统的功能。
4.学生管理系统的实现:通过案例分析,讲解如何使用VFP工具和编程语言实现学生管理系统的各个功能模块。
三、教学方法为了达到本课程的教学目标,将采用以下几种教学方法:1.讲授法:用于讲解VFP学生管理系统的基本概念、数据库设计原则和VFP编程语言的基本语法。
2.案例分析法:通过分析实际案例,让学生了解如何使用VFP工具和编程语言实现学生管理系统的功能。
3.实验法:安排实验课,让学生动手操作,实际操作VFP工具进行数据库设计和编程。
4.讨论法:学生进行小组讨论,分享学习心得,互相答疑解惑。
四、教学资源为了支持本课程的教学内容和教学方法的实施,将准备以下教学资源:1.教材:选用《VFP程序设计》作为主教材,为学生提供系统的VFP知识体系。
2.参考书:推荐《VFP数据库应用实例》等参考书籍,为学生提供实际操作案例。
3.多媒体资料:制作PPT课件,为学生提供直观的学习资料。
4.实验设备:准备计算机实验室,为学生提供动手实践的机会。
VFP实验--学生成绩管理系统
实验一建立项目管理器、建立数据库和表、输入部分数据一、实验目的1.熟悉V isual Foxpro 项目管理器的使用;2.熟悉数据库的概念和V isual Foxpro 数据表的概念;3.掌握数据表的建立方法,数据直接输入的方法;4.熟练掌握表文件的打开、浏览、关闭。
二、实验内容;1.建立项目管理器“学生成绩管理系统”2.建立数据库“成绩库”,并创建4个与学生成绩管理系统工作密切相关的数据表“班级号名”、“学生”、“学生选课”、“课程”;3.直接为“班级号名”、“课程”两个数据表输入数据。
三、实验步骤(一)Visual Foxpro 基本操作1. Visual Foxpro 的启动开始→程序→ Visual Foxpro 6.0,或:双击桌面V isual Foxpro 6.0 快捷方式图标。
2. Visual Foxpro 的退出在V isual Foxpro 的命令窗口中键入q uit 或选V isual Foxpro 菜单中文件→退出。
13.工作目录及表单区域的设置·在机房的学生数据盘(例如D:盘)上建一目录,命名为“成绩管理”。
·进入V isual Foxpro,选菜单中的工具→选项→“文件位置”选项卡,找到“默认目录”,如图1-1。
图1-1 选择默认目录·点击“修改”按钮,进入图1-2,再单击按钮,按图1-2 设置后,单击“确定”按钮。
·单击“表单”选项卡,将“最大设计区”选为 1024×768。
·单击“设置为默认值”按钮,再单击“确定”按钮。
注意:如果学生机房安装了还原卡,则每次上机或重新启动后都要重新进行以上第3步“工作目录及表单区域的设置。
”(二)项目管理器和数据库的建立21.项目管理器(1)什么是项目管理器项目管理器是V isual Foxpro 开发应用系统的综合性平台,在这里可以建立数据库、表单、菜单、程序、编译等。
VFP教师备课教案1-1
拓展实践方法二:双击桌面上的“Miscrosoft Visual FoxPro6.0”快捷方式图标。
(2)Visual FoxPro6.0的退出
方法一:单击窗口右上角“关闭”按钮。
方法二:单击“文件”菜单中的“退出”命令。
方法三:快捷键ALT+F4。
方法四:在命令窗口中输入QUIT命令。
方法五:双击标题栏左上角的图标。
练习:Visual FoxPro的启动与退出
三、Visual FoxPro6.0的用户界面
标题栏、菜单栏、工具栏(常用工具栏、自定义工具栏)、窗口工作区、状态栏、命令窗口。
练习:
1.工具栏的打开/关闭
2.命令窗口的打开/关闭
四、Visual FoxPro6.0系统环境配置
Visual FoxPro6.0允许用户设置大量的参数来决定它的工作方式以提高工作效率,如设置默认文件的存储位置、日期和时间的显示格式等。
常用方法:单击“工具”菜单下的“选项”命令,打开“选项”对话框。
强调:设置默认工作目录的方法:
1.工具/选项——文件位置——默认目录
2.“修改”——更改文件位置——选择目录——确定——“设置为默认值”——确定
1.启动Visual FoxPro6.0,在系统界面中打开“调色板”工具栏。
2.设置系统默认工作目录为:d:\学生信息管理系统。
3.将系统日期格式设置为“年月日”的形式。
4.在“学生信息管理系统.pjx”中,新建一个文本文件,名为“姓名.txt”(注:姓名为你自己的具体名字),内容为:我是XXX班的XXX。
5.为文本文件“姓名.txt”添加一个说明信息:这是个人基本信息。
VFP学生管理系统
管理系统中信息技术的应用作业名称:学生信息管理系统作业内容:一、课题的提出:在教育的发展尤其是高等教育的发展情况下,学校为了更加方便管理学生,提高教学质量和教学管理效率,学校需建立学生信息管理系统,以便使学校更好的工作。
二、学生信息管理系统开发概述近年来,随着计算机厂家的不断增多,计算机硬件成本的大幅度下降,加之人们对计算机也不再觉得神秘陌生,计算机已经不再是高档用品,为学校建立学生管理信息系统提供了物质条件。
而现在我国的大部分学校对学生的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
使用学生管理信息系统,有以下几点好处:1、可以存储历届的学生档案,安全、高效;2、只需一到二名录入操作系统,节省大量人力;3、可以迅速查到所需信息,包括学生的基本情况、考试成绩等;4、为将来学校上网做好准备。
现在互联网已经十分普及,一些用人单位希望能在世界的任何一个角落查到学生的信息,本系统为学校将来的上网作了先期工作,比如数据库的建立。
三、总体业务分析1. 学生管理信息系统设计本系统的功能分为如下几大模块:(1)主界面设计该模块提供教务管理系统的主界面,是主系统唯一入口和出口。
该界面提供用户选择并调用各子模块,对于进入系统的用户还要核对用户名和口令。
(2)课程管理模块该模块提供选定学生每学期所修课程界面,然后进行维护工作(增、删、改)。
(3)课程名称模块该模块实现添加所需课程名称的功能,每增加一门课程,课程号自动加1。
(4)成绩管理模块该模块主要用于录入学生各学期各门课成绩。
(5)成绩汇总模块该模块实现汇总所有学生的各门课成绩列表,打印家长通知书和补考通知书。
(6)学籍管理模块该模块实现学生基本情况的浏览、添加、编辑和删除。
(7)学籍查询模块该模块实现学生基本情况的查询,按照学号、姓名、性别、籍贯和生日等进行综合查询,并根据要求浏览结果。
基于VFP的学生管理系统的开发与实现
基于VFP的学生管理系统的开发与实现摘要:vfp是数据库管理系统软件之一,利用它开发的学生管理系统具有较强的实用性,为开发其它数据库应用系统提供了思路与方法。
关键词:vfp 数据库管理系统学生管理系统一、引言vfp是microsoft公司推出的最新可视化数据库管理系统平台,是功能特别强大的32位数据库管理系统。
它提供了功能完备的工具、极其友好的用户界面、简单的数据存取方式、独一无二的跨平台技术,有良好的兼容性、真正的可编译性和较强的安全性,是目前最快捷、最实用的数据库管理系统软件之一。
本文将以学生管理系统的开发过程为例,介绍开发系统的方法和步骤,以及如何利用vfp的项目管理器将应用程序开发所需要的数据表、数据库、表单、报表及菜单等功能模块组织起来,最终生成一个可在windows环境下直接运行的可执行文件。
二、系统开发过程要设计一个高质量的数据库应用系统,必须从软件工程的角度来分析问题和解决问题。
软件开发通常经过需求分析、设计、实施、测试、维护等几个阶段。
(一)分析阶段。
首先必须明确用户的各项要求,并通过对开发项目信息的收集,确定系统目标和软件开发的总体构思。
(二)设计阶段。
通过第一阶段的分析,明确了系统要“做什么”,接下来就要考虑“怎么做”,即如何实现软件开发。
(三)实施阶段。
经过理论上的分析和规划设计后,就要用vfp 来实现上述方案,通常包括数据库设计、菜单设计、表单设计、程序设计等几个方面。
(四)测试阶段。
验证程序是否正确,检验程序是否满足用户的需求。
(五)运行维护阶段。
应用经过测试即可正式运行,并在运行中不断修改、调整和完善。
图1表示了应用程序开发的一般过程。
图1 系统开发过程图三、学生管理系统的开发与实现(一)系统功能分析1、能对与学生管理有关的各类数据进行输入、修改、删除与计算。
2、能根据需要查询学生管理所需要的各类数据。
3、打印数据。
(二)系统模块设计1、数据资源:采用“学生管理”数据库中的“学生”、“成绩”、“课程”3个表。
vfp教学管理系统课程设计
vfp教学管理系统课程设计一、教学目标本课程的教学目标是使学生掌握VFP教学管理系统的原理、设计和应用,具备相应的知识和技能。
知识目标:学生应了解VFP教学管理系统的概念、特点和功能,掌握其基本原理和设计方法。
技能目标:学生应能够使用VFP教学管理系统进行教学管理,包括课程安排、学生管理、成绩统计等,并能够进行相应的系统维护和优化。
情感态度价值观目标:学生应认识到VFP教学管理系统在提高教学效率和质量方面的重要作用,树立正确的信息技术应用观念,增强对教学管理的热爱和责任感。
二、教学内容本课程的教学内容主要包括VFP教学管理系统的原理、设计和应用。
1.VFP教学管理系统的概念、特点和功能。
2.VFP教学管理系统的基本原理和设计方法。
3.VFP教学管理系统的应用,包括课程安排、学生管理、成绩统计等。
4.VFP教学管理系统的维护和优化。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:通过讲解VFP教学管理系统的原理、设计和应用,使学生掌握相关知识。
2.案例分析法:通过分析实际应用案例,使学生更好地理解和掌握VFP教学管理系统的使用和方法。
3.实验法:通过实际操作VFP教学管理系统,使学生掌握系统的应用技巧,提高实际操作能力。
四、教学资源本课程的教学资源包括教材、多媒体资料和实验设备。
1.教材:选用国内权威出版社出版的VFP教学管理系统相关教材,保证内容的科学性和系统性。
2.多媒体资料:制作精美的PPT课件,辅助讲解和展示VFP教学管理系统的原理和应用。
3.实验设备:配置相应的计算机设备和网络设施,为学生提供实际操作VFP教学管理系统的平台。
五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面客观地评估学生的学习成果。
1.平时表现:通过观察学生在课堂上的参与度、提问回答等情况,评估其对VFP教学管理系统的理解和掌握程度。
2.作业:布置与课程内容相关的作业,要求学生独立完成,评估其对知识的应用和实际操作能力。
应用vfp开发高职高专院校学生信息管理系统的经验之我见
2013年第28卷第3期南昌教育学院学报高职教育收稿日期:2013-02-16作者简介:李生成(1973-),男,内蒙古乌兰察布人,中级讲师,从事计算机课程的教学法及计算机实践课程的改革,学校计算机小型应用系统的研究 与开发。
我国的高职高专院校在国家教育部和当地政府的大力扶持下,正在蓬勃向上的发展过程中,大多数院校是靠摸索的方法在发展和完善自己的教学、科研、人才培养、学生管理、网络信息化建设等。
其中,学生信息管理的数据化、网络化还处于滞后的阶段,因为学校的学生信息不仅要上报国家教育部,而且校内的学生管理的实施也必须要借助校园网络。
因此,建立适合自身实际情况、科学的、合理的计算机学生信息管理系统势在必行。
以乌兰察布医学高等专科学校为例,本文主要从以下的几个方面来阐述在设计和开发学生信息管理系统中所经历的关键性过程。
一、学生信息管理的现状掌握学生的信息在学校的教学和学生的管理中起着至关重要的作用,但是现在多数的高职高专院校在学生信息的传递中采取的是纸质的或者是qq 、邮箱、excel 表格等耗时费力的形式。
这些就大大加大了一些相关部门的工作强度和压力,比如学生处、系部、招生就业处、教务处、图文管理处等。
所以,我们必须借助于刚刚起步的校园网络,应用网络的形式借助于学校学生信息管理系统平台对全校的学生信息进行科学化的管理;所以,高职高专院校的学生信息管理系统的开发需要马上进行。
二、系统的开发1.设计思想学生信息管理系统的运行的界面是以表单的形式开始的,使用该系统的用户需要进行用户登录、密码的设置、进入界面、实现各项功能的操作。
在登录时用户需要自己注册用户名(以部门名称为宜),密码自己在系统内部可以修改,但登录时密码录入的容错只有3次。
2.功能模块在该管理系统中,主要包含以下的各个功能模块:A.查询功能在不同的部门,当键入学生信息中一个字段名便可查询到该生的全部信息。
主要包含学生的学号、姓名、性别、出生年月、家庭住址、联系电话、邮编、入学时间、所属系、班级、各门课程成绩等情况。
VFP学生管理系统(FoxPro+SQL)
甘肃广播电视大学金昌分校毕业设计设计题目:学生管理系统入学年月 2001年8月姓名__张琦____学号__017040114_专业_计算机应用_指导教师__陈耀昌完成日期2004年5月目录摘要 (3)第一章前言 (4)第二章设计用软件技术介绍 (4)2.1 FoxPro (4)2.2 SQL (4)第三章学生信息管理系统的具体实现 (5)3.1 学生管理信息系统设计 (5)3.1.1 学生管理信息系统设计 (5)3.1.2 学生管理信息系统功能模块设计 (5)3.2 学生管理信息数据库设计 (6)3.2.1 数据库需求分析 (6)3.2.2 数据库中的关系设计 (7)3.2.3.1 关系设计的原则 (7)3.2.3.2 学生管理信息系统的关系设计 (7)3.3 学生管理信息数据库结构的具体实现 (9)3.3.1 创建数据库、表 (10)3.3.2 创建查询、视图和报表 (10)3.3.3 创建表单 (11)3.3.4 主程序的构造 (12)3.4 学生管理系统运行 (14)第四章结束语及参考文献 (15)摘要本课题设计是为适应信息化的要求,提高教务教学管理水平而设计的。
教务教学管理包括多项内容,本课题设计只是承担了其中的一部分即:学生管理。
本课题设计作为一个数据库应用程序,用到了多项技术,诸如:关系数据库、面向对象编程等。
论文对部分重要内容分别予以简要介绍。
在课题的实现过程中,本人先后几次同指导老师陈耀昌进行沟通,逐步明确所要实现的目标,从而正确的进行设计,并实现了所要达到的功能。
本课题为了要实现功能,建立了一个数据库,包括了五个表:学生基本情况表(dbfjbqk.dbf)用于存储学生基本情况;成绩表(dbfcj.dbf)用于存储学生成绩;成绩总库用于存储学生各门课程(dbfcjzk.dbf)、课程表(dbfkc.dbf)用于存储课程名称;名次表(dbfmc.dbf)用于存储学生成绩名次。
关键字:面向对象(Object)、数据窗口(DataWindow)、信息管理系统(Mis)、学生管理。
基于VFP6.0的学生管理信息系统的设计与实现
魏武 华 ①W e W u u ; 欣 ②C i i i h a崔 u n X
( ①陕 西省行 政学 院 , 安 7 06 西 安职 业 技术 学院 , 西 108② 西安 70 7 ) 10 7
() ani d i sao oeeX' 10 8C ia@X " oaoa Tcnl yC lg ,in70 7 ,hn )  ̄S ax A mn t tnCl g, in706 ,h ; inV ctnl eho g oeeX' 10 7C ia h ir i l a n a i o l a 摘要 : 文详 细论述 了面向学校教 学教 务 管理 者的 学生 管理信 息系统 的设 计 与 实现 , 系统 主要 实现 学生 学籍 管理 和成 绩管 理功 能 , 用 本 本 采
文献标识码 : A
ቤተ መጻሕፍቲ ባይዱ
文章编号 :0 6 4 1 (0 0)2 0 8 — 3 10— 3 12 1 3 — 12 0
功能。⑤系统维护模块。该模块主要实现毕业生成 绩和毕业生基本 随着信 息时代的到来 , 效率 已成为人们所关注的问题 。学校利 信息的备份和删除。⑥退 出系统模块。该模块主要实现退出系统 的 用计算机对学生信息进行管理 , 代以往的手工作业 , 取 能极 大地提 功 能 。 高学生信息管理 工作 的准确性和效率性。本设计开发 了面 向学校 2 系 统 的 实现
O 引言
教 学 教务 管理 者 的学 生信 息 管理 系 统 ,主 要 实 现 学 生 学 籍 管理 和 21数 据 设 计 该 系 统 的 数 据 设 计 部 分 包 含 数 据 库 与 表 的 设 . 成 绩 管理 ,它 的使 用 大 大 方便 了 教 学 教 务 管 理 者 并 提 高 了他 们 的 计 、 查询 设计 和 视 图 设计 。
vf学生成绩管理系统流程图+组织结构设计图+管理职能图-课程设计
vf学生成绩管理系统流程图+组织结构设计图+管理职能图-课程设计目录第1章可行性分析 (4)1.1 成绩管理信息系统开发的必要性 (4)1.2 开发的可行性调查 (4)1.2.1技术方面 (4)1.2.2管理方面 (4)1.2.3经济方面 (4)1.3 可行性调查结果分析 (4)第2章系统分析 (6)2.1 组织机构 (6)2.2 管理职能分析 (6)2.2.1 管理职能图 (6)2.2.2 相关部门的管理职能 (7)2.3 业务流程分析 (7)2.4 数据流程分析 (8)2.5 现行系统评价 (9)2.6 系统优化 (10)2.7 数据字典 (12)2.8 本系统的运行环境 (17)第3章系统设计 (18)3.1 系统目标设计 (18)3.2 新系统功能模块设计 (18)3.2.1 系统主模块 (19)3.2.2 查询模块 (19)3.2.3 维护模块 (19)3.2.4 统计模块 (19)3.2.5 打印模块 (19)3.3 数据库设计 (19)3.3.1 数据库需求分析 (19)3.3.2 数据库概念设计 (19)3.3.3 数据可逻辑设计 (21)3.3.4 数据库结构的实现 (22)3.4 输入设计 (22)3.5 输出设计 (22)3.6 代码设计 (24)3.6.1 学生学号的代码设计 (24)3.6.2 课程号的代码设计 (24)第4章系统实施 (25)4.1 系统源程序 (25)4.2 试运行及结果分析 (27)第5章设计心得 (30)参考文献 (31)《学生成绩管理信息系统》学生成绩管理系统简介:学生成绩管理信息系统是针对学校教务处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。
它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。
VFP设计学生成绩管理系统
6.3查询功能模块查询功能可以按学校、姓名和考号中的任何一种方式,对考生的成绩进行查询。
考生信息导入后,打开的表单,如图6.8所示,在“按学校”的下拉列表框中所列的学校是系统自动将不同的参赛学校列进去的。
用户只要选择一个学校,单击“确定”按钮,即可在表格中列出该学校考生的成绩信息。
同时,单击“导出EXCEL”按钮,可保存该学校考生的成绩单,还可利用本系统提拱的发送电子邮件功能,将该学校考生的成绩单发送给该学校。
另外,只要将光标移到“按考号”或“按姓名”的文本框中,输入考号或姓名,单击“确定”按钮,表格即显示该学生的考试成绩[4]。
图6.8查询表单实现系统自动将不同的参赛学校列进下拉列表框功能,需要在表单Form1的Activate事件中加入如下代码:count to num &&判断记录数go topif num==0 &&无记录messagebox("请先录入考生信息",64,"提示")thisform.releaseelse &&有记录set order to 1 &&打开索引,按学校升序排go topa=学校bo1.additem(a) &&将首记录的学校名加进去skipdo while not eof() &&以下代码完成移动指针的作用,将不同的学校名加入组合框if 学校==askipelsebo1.additem(学校)skipa=学校endifenddoset order to &&关闭索引endif6.4排序功能模块排序功能包括按团体排序和按个人排序,实现对考生成绩的统计、排序等功能。
6.4.1按团体排序功能考生信息导入后,打开的表单,如图6.9所示,这里所说的团体是指学校,一个学校代表一个团体,本系统自动将考生人数十人以上(包括十人)的学校放在一个列表框中,不满足十人的学校放在另一个列表框中,单击学校即可显示该学校的考生人数和总分。
基于VFP的学生信息管理系统的设计与实现
案, 由于 存 在 着诸 多缺 点 , 效 率 低 、 密 性 差 , 间 一 长 , 产 生 楼 号一 > 室 号… > 如: 保 时 将 寝 床号 大 量 的 垃 圾 文 件 和 数 据 , 对 于 查 找 、 新 和 维 护 都 带 来 了 不 少 这 更 () 2 宿舍 调 整 : 以进 行 学 生 宿 舍 的 局 部 调 整 , 可 以 整 幢 可 也 的困难 。 已经无 法适 应 现 代 高 等 教 育 的发 展 需 要 : 用 计 算 机 手 宿舍 统一 调 整 。 利 段 实 现学 生 信 息 的 管 理 。 有 检 索迅 速 、 找方 便 、 具 查 可靠 性 高 、 存 () 3 宿舍 回 收 : 业 生 离 校 或 学 生 因 其 它 原 因离 校 , 收 宿 毕 回 储 量 大 、 密性 好 等 优 点 。 而 极 大 地提 高学 生 管 理 的 效率 , 保 从 为 舍 。 此 , 合 笔 者工 作 实 际 。 发 了基 于 V P的学 生信 息 管 理 系统 。 结 开 F ( ) 舍 查 询 : 询 学 生 宿舍 信 息 , 供 多 种 打 印 格 式 的报 4宿 查 提
14 3
福
建
电
脑
21 0 0年第 4期
基 于 V P的学生信息管理 系统 的设计与实现 F
贺 伟
( 坝 师 范 高等 专 科 学校 电子 信 息 工程 系 四 川 郫 县 6 14 阿 17 1)
【 要 】 随着高校 招生规模 的不断扩 大, 工管理 学生信 . 的方法 已经无法适应现代 高等教 育的发展 , 用计算杌 摘 : 人 g - 利 手段 实 现 学 生信 息 的 查询 与 管理 然 趋 势 ; 章 结 合 实际 工作 , 文 就如 何 实现 这 一 系统 进 行 论 述 。 【 关键词 】 V P 生信息管理 系统 : F;
基于VFP的学生管理信息系统设计思路浅谈
浏览模 块 : 通 过选择班 级名称 ( 列表 ) , 可 以浏 览到全班学 生名单 , 以便 考勤
考 核用 。 .
作 者简 介
肖莹 华 , 女, 苏 州大学 机 电工程 学 院 , 技师 。 从 事教 学管 理及教 务 工作 。
数据 导入模 块 : 可 以授权教 务秘 书导人 以下数 据库 : 统 考成绩 、 实践成 绩 、 多证成 绩 、 论文 成绩 , 可 以授权 教务秘 书导 入交费 注册 数据 、 计划 库数 据 、 学生
库数据 、 考试 成绩 库数 据 。
数据 导 出模块 : 可 以授权班 主任按班级 分类汇 总出学生 的成绩库 及学生 库 两个 库数 据 。
者又 是使 用者 , 利 用理工 科院校 的学 习优 势 , 多方学 习考证 , 发现VF P 是一 个面 向对 象 的数据 库管 理 系统 , 其 封装 性和 隐藏 性特 点使 得 软件具 有 很好 的模 块 性, 使用者 不得接触 源程序 , 因而数据 更加安全 可靠 , 可以作 为本设计 的开 发工
理论广角
I I N "
基于 V F P的学 生管 理信 息 系统 设 计 思路浅 谈
肖莹 华
( 苏州 大学 机 电工 程学 院 2 1 5 0 2 1 ) [ 摘 要] 本 文针 对现 行学 生教 务管 理 系统 存在 的实 用性 差 , 学 生各 类数 据 无法 综合 查询 体现 , 资源 浪 费等 现象 , 设 想设 计 一个 基于VF P 的学 生数 据 查询 系
统, 让使 用 者摆脱 以往 繁琐 复杂 的重 复劳 动 , 降低 劳动 强度 , 大 大提 高工 作效 率 , 提 升了学 校教 务管 理水 平 。
VFP应用程序设计实例
VFP应用程序设计实例--学生学籍管理系统(1)电脑笔记2007-10-29 16:43:36 阅读2795 评论5 字号:大中小图1MIS是英文Management Information System的英文缩写,意思是信息管理系统,该系统可用于中小型企事业单位业务处理和信息交流,从而大大提高了企业运作的效率。
微软公司的VisualFoxPro可视化面向对象的编程软件是一个设计MIS系统即简单又快捷的好软件。
下面,就以VFP 6.0为开发环境,讲述设计学生学籍管理系统的详细设计过程,也为在看过了前面非表单设计的学生学籍管理系统的朋友们继续了解并学习采用表单(Form)的方式设计MIS系统的方法。
一、设计思路:学生学籍管理系统的运行以封面表单开始,如图1所示,要求用户输入登录密码,并设置三次检查功能,若三次输入的密码均有错,则自动退出系统;否则出现系统菜单,接收用户的操作,操作完毕后用户可以从系统菜单中退出系统。
二、系统功能:系统的功能主要分成十个功能模块,它们是:录入数据、修改数据、删除数据、查询数据、统计数据、显示数据、打印数据、导出数据、导入数据和清空数据。
录入数据可以实现学生信息的录入;修改数据可以实现学生信息的修改;删除数据可以实现学生数据的删除;查询数据可以实现学生信息的查询;统计数据可以实现学生人数、党员人数、学生总平均成绩、高数平均成绩、英语平均成绩和VFP平均成绩的统计;显示数据可以实现以字段分布和二维表两种方式显示学生信息;打印数据可以实现用报表的形式打印学生的信息;导出数据可以实现学生数据的备份,防止数据丢失;导入数据可以实现学生数据的还原,保证数据的正确性;清空数据可以实现学生数据的清空操作。
三、菜单结构框架图四、数据库结构:(可定义表名为xj.dbf)字段名类型宽度小数位数学号字符型 2姓名字符型 6五、具体设计:(给出源代码,表单属性可参照图示在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 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 SYSMENU 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 &&将自定义属性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 &&刷新封面表单ENDIFENDIFSET EXACT OFF &&设置关闭精确比较命令ENDPROCPROCEDURE Click &&取消按钮的单击事件过程THISFORM.RELEASE &&释放封面表单CLOSE ALL &&关闭所有文件CLEAR EVENTquitENDPROC (未完)VFP应用程序设计实例--学生学籍管理系统(2)电脑笔记2007-10-29 16:54:06 阅读3360 评论0 字号:大中小图23、录入数据表单源代码(A:\录入.sct,如图2所示)PROCEDURE Init &&录入数据表单的初始化事件过程SET TALK OFFmand4.ENABLED=.f. &&设置第四个按钮为不可用状态mand5.ENABLED=.f. &&设置第五个按钮为不可用状态THISFORM.txt学号.ENABLED=.f. &&设置学号文本框为不可用状态THISFORM.txt姓名.ENABLED=.f. &&设置姓名文本框为不可用状态bo1.ENABLED=.f. &&设置组合框1为不可用状态bo2.ENABLED=.f. &&设置组合框2为不可用状态bo3.ENABLED=.f. &&设置组合框3为不可用状态bo4.ENABLED=.f. &&设置组合框4为不可用状态THISFORM.txt邮编.ENABLED=.f. &&设置邮编文本框为不可用状态THISFORM.txt高数.ENABLED=.f. &&设置高数文本框为不可用状态THISFORM.txt英语.ENABLED=.f. &&设置英语文本框为不可用状态THISFORM.txtVfp.ENABLED=.f. &&设置VFP文本框为不可用状态bo5.ENABLED=.f. &&设置组合框5为不可用状态THISFORM.txt电话.ENABLED=.f. &&设置电话文本框为不可用状态THISFORM.txt通信地址.ENABLED=.f. &&设置通信地址文本框为不可用状态THISFORM.edt备注.ENABLED=.f. &&设置备注编辑框为不可用状态ENDPROCPROCEDURE Load &&录入数据表单的加载事件过程CLOSE DATA &&关闭所有数据库USE A:\XJ存 &&打开A盘中的XJ.DBF表文件SET MULTILOCKS ON &&设置锁定一组记录=CURSORSETPROP('buffering',5,'XJ') &&打开开放式表缓冲ENDPROCPROCEDURE InteractiveChange &&录入数据表单的交互改变事件过程REPL 出生年月 WITHbo2.displayvalue+"."+bo3.displayvalue+"."+ bo4.displayvalue &&用组合框的值替换出生年月字段THISFORM.REFRESH &&刷新录入数据表单ENDPROCPROCEDURE Command1.Click &&单击命令按钮1的事件过程APPEND BLANK &&添加一空白记录THISFORM.REFRESH &&刷新录入数据表单mand1.ENABLED=.f. &&设置命令按钮1为不可用状态mand2.ENABLED=.f. &&设置命令按钮2为不可用状态mand3.ENABLED=.f. &&设置命令按钮3为不可用状态mand4.ENABLED=.t. &&设置命令按钮4为可用状态mand5.ENABLED=.t. &&设置命令按钮5为可用状态mand6.ENABLED=.f. &&设置命令按钮6为不可用状态THISFORM.txt学号.ENABLED=.t.THISFORM.txt姓名.ENABLED=.t.bo1.ENABLED=.t.bo2.ENABLED=.t.bo3.ENABLED=.t.bo4.ENABLED=.t.THISFORM.txt邮编.ENABLED=.t.THISFORM.txt高数.ENABLED=.t.THISFORM.txt英语.ENABLED=.t.THISFORM.txtVfp.ENABLED=.t.bo5.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=MESSAGEBOX('确实要删除这条记录?',4+32+256,'删除确认') &&弹出内容为“确实要删除这条记录?”的对话框DO CASE &&运行条件判断语句CASE YN=6 &&当单击“是”按钮时=TABLEUPDATE(.T.) &&执行更新表函数,删除当前记录CASE YN=7 &&当单击“否”按钮时RECALL &&恢复已作了删除标记的当前记录ENDCASETHISFORM.REFRESHENDPROCPROCEDURE Command3.Click &&单击命令按钮3的事件过程mand1.ENABLED=.f.mand2.ENABLED=.f.mand3.ENABLED=.f.mand4.ENABLED=.t.mand5.ENABLED=.t.mand6.ENABLED=.f.ENDPROCPROCEDURE Command4.Click &&单击命令按钮4的事件过程=TABLEUPDATE(.T.)mand1.ENABLED=.t.mand2.ENABLED=.t.mand3.ENABLED=.t.mand4.ENABLED=.f.mand5.ENABLED=.f.mand6.ENABLED=.t.ENDPROCPROCEDURE Command5.Click &&单击命令按钮5的事件过程=TABLEREVERT(.T.)mand1.ENABLED=.t.mand2.ENABLED=.t.mand3.ENABLED=.t.mand4.ENABLED=.f.mand5.ENABLED=.f.mand6.ENABLED=.t.ENDPROCPROCEDURE Command6.Click &&单击命令按钮6的事件过程SELE 1 &&选择1号工作区USE A:\XJ EXCLUSIVE 打开A盘中的XJ.DBF数据表PACK &&彻底删除已作了删除标记的记录THISFORM.RELEASE &&释放录入数据表单ENDPROCPROCEDURE InteractiveChangeREPL 是否党员 WITH bo5.DISPLAYVALUE &&用组合框的值替换是否党员字段THISFORM.REFRESHENDPROC4、修改数据表单源代码(A:\修改.sct)图3PROCEDURE Command1.ClickIF NOT BOF() &&如果记录指针没有到记录的开头SKIP –1 &&向上跳转一个记录THISFORM.REFRESHmand2.ENABLED=.t.ELSEWAIT WINDOW '已经是第一条记录了!' &&系统给出内容为“已经是第一条记录了!”提示窗口ENDIFENDPROCPROCEDURE Command2.ClickIF NOT EOF() &&如果记录指针没有到记录的结尾SKIP &&向下跳转一个记录THISFORM.REFRESH mand1.ENABLED=.t.ELSEWAIT WINDOW '已经是最后一条记录了!'ENDIFENDPROCPROCEDURE Command3.ClickGO TOP &&将记录指针移到记录的开头THISFORM.REFRESH mand1.ENABLED=.f. mand2.ENABLED=.t.ENDPROCPROCEDURE Command4.ClickGO BOTTOM &&将记录指针移到记录的结尾THISFORM.REFRESH mand1.ENABLED=.t. mand2.ENABLED=.f.ENDPROCPROCEDURE Command5.Click=TABLEUPDATE(.T.) mand1.ENABLED=.t. mand2.ENABLED=.t. mand3.ENABLED=.t. mand4.ENABLED=.t.mand5.ENABLED=.f.mand6.ENABLED=.f.mand7.ENABLED=.t.ENDPROCPROCEDURE Command6.Click=TABLEREVERT(.T.) &&启用表缓冲,放弃表中对所有记录所做的修改函数mand1.ENABLED=.t.mand2.ENABLED=.t.mand3.ENABLED=.t.mand4.ENABLED=.t.mand5.ENABLED=.f.mand6.ENABLED=.f.mand7.ENABLED=.t.ENDPROCPROCEDURE Command7.ClickUSE A:\XJ EXCLUSIVEPACKTHISFORM.RELEASEENDPROCPROCEDURE ClickIF EMPTY(bo1.VALUE) &&如果组合框1的值为空=MESSAGEBOX("请选择学号!",48+0+0,"学生学籍管理系统") &&系统给出内容为“请选择学号!”的对话框ENDIFAA=RECNO() &&用显示记录号的函数将记录号赋给变量AA GO AA &&将记录指针移到当前记录号THISFORM.txt学号.REFRESH &&刷新学号文本框的内容THISFORM.txt姓名.REFRESH &&刷新姓名文本框的内容THISFORM.txt性别.REFRESH &&刷新性别文本框的内容THISFORM.txt出生年月.REFRESH &&刷新出生年月文本框的内容THISFORM.txt邮编.REFRESH &&刷新邮编文本框的内容THISFORM.txt高数.REFRESH &&刷新高数文本框的内容THISFORM.txt英语.REFRESH &&刷新英语文本框的内容THISFORM.txtVfp.REFRESH &&刷新VFP文本框的内容THISFORM.txt是否党员.REFRESH &&刷新是否党员文本框的内容THISFORM.txt电话.REFRESH &&刷新电话文本框的内容THISFORM.txt通信地址.REFRESH &&刷新通信地址文本框的内容THISFORM.edt备注.REFRESH &&刷新备注编辑框的内容mand5.ENABLED=.t.mand6.ENABLED=.t.ENDPROC(未完)VFP应用程序设计实例--学生学籍管理系统(2)电脑笔记2007-10-29 16:54:06 阅读3360 评论0 字号:大中小图23、录入数据表单源代码(A:\录入.sct,如图2所示)PROCEDURE Init &&录入数据表单的初始化事件过程SET TALK OFFmand4.ENABLED=.f. &&设置第四个按钮为不可用状态mand5.ENABLED=.f. &&设置第五个按钮为不可用状态THISFORM.txt学号.ENABLED=.f. &&设置学号文本框为不可用状态THISFORM.txt姓名.ENABLED=.f. &&设置姓名文本框为不可用状态bo1.ENABLED=.f. &&设置组合框1为不可用状态bo2.ENABLED=.f. &&设置组合框2为不可用状态bo3.ENABLED=.f. &&设置组合框3为不可用状态bo4.ENABLED=.f. &&设置组合框4为不可用状态THISFORM.txt邮编.ENABLED=.f. &&设置邮编文本框为不可用状态THISFORM.txt高数.ENABLED=.f. &&设置高数文本框为不可用状态THISFORM.txt英语.ENABLED=.f. &&设置英语文本框为不可用状态THISFORM.txtVfp.ENABLED=.f. &&设置VFP文本框为不可用状态bo5.ENABLED=.f. &&设置组合框5为不可用状态THISFORM.txt电话.ENABLED=.f. &&设置电话文本框为不可用状态THISFORM.txt通信地址.ENABLED=.f. &&设置通信地址文本框为不可用状态THISFORM.edt备注.ENABLED=.f. &&设置备注编辑框为不可用状态ENDPROCPROCEDURE Load &&录入数据表单的加载事件过程CLOSE DATA &&关闭所有数据库USE A:\XJ存 &&打开A盘中的XJ.DBF表文件SET MULTILOCKS ON &&设置锁定一组记录=CURSORSETPROP('buffering',5,'XJ') &&打开开放式表缓冲ENDPROCPROCEDURE InteractiveChange &&录入数据表单的交互改变事件过程REPL 出生年月 WITHbo2.displayvalue+"."+bo3.displayvalue+"."+ bo4.displayvalue &&用组合框的值替换出生年月字段THISFORM.REFRESH &&刷新录入数据表单ENDPROCPROCEDURE Command1.Click &&单击命令按钮1的事件过程APPEND BLANK &&添加一空白记录THISFORM.REFRESH &&刷新录入数据表单mand1.ENABLED=.f. &&设置命令按钮1为不可用状态mand2.ENABLED=.f. &&设置命令按钮2为不可用状态mand3.ENABLED=.f. &&设置命令按钮3为不可用状态mand4.ENABLED=.t. &&设置命令按钮4为可用状态mand5.ENABLED=.t. &&设置命令按钮5为可用状态mand6.ENABLED=.f. &&设置命令按钮6为不可用状态THISFORM.txt学号.ENABLED=.t.THISFORM.txt姓名.ENABLED=.t.bo1.ENABLED=.t.bo2.ENABLED=.t.bo3.ENABLED=.t.bo4.ENABLED=.t.THISFORM.txt邮编.ENABLED=.t.THISFORM.txt高数.ENABLED=.t.THISFORM.txt英语.ENABLED=.t.THISFORM.txtVfp.ENABLED=.t.bo5.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=MESSAGEBOX('确实要删除这条记录?',4+32+256,'删除确认') &&弹出内容为“确实要删除这条记录?”的对话框DO CASE &&运行条件判断语句CASE YN=6 &&当单击“是”按钮时=TABLEUPDATE(.T.) &&执行更新表函数,删除当前记录CASE YN=7 &&当单击“否”按钮时RECALL &&恢复已作了删除标记的当前记录ENDCASETHISFORM.REFRESHENDPROCPROCEDURE Command3.Click &&单击命令按钮3的事件过程mand1.ENABLED=.f.mand2.ENABLED=.f.mand3.ENABLED=.f.mand4.ENABLED=.t.mand5.ENABLED=.t.mand6.ENABLED=.f.ENDPROCPROCEDURE Command4.Click &&单击命令按钮4的事件过程=TABLEUPDATE(.T.)mand1.ENABLED=.t.mand2.ENABLED=.t.mand3.ENABLED=.t.mand4.ENABLED=.f.mand5.ENABLED=.f.mand6.ENABLED=.t.ENDPROCPROCEDURE Command5.Click &&单击命令按钮5的事件过程=TABLEREVERT(.T.)mand1.ENABLED=.t.mand2.ENABLED=.t.mand3.ENABLED=.t.mand4.ENABLED=.f.mand5.ENABLED=.f.mand6.ENABLED=.t.ENDPROCPROCEDURE Command6.Click &&单击命令按钮6的事件过程SELE 1 &&选择1号工作区USE A:\XJ EXCLUSIVE 打开A盘中的XJ.DBF数据表PACK &&彻底删除已作了删除标记的记录THISFORM.RELEASE &&释放录入数据表单ENDPROCPROCEDURE InteractiveChangeREPL 是否党员 WITH bo5.DISPLAYVALUE &&用组合框的值替换是否党员字段THISFORM.REFRESHENDPROC4、修改数据表单源代码(A:\修改.sct)图3PROCEDURE Command1.ClickIF NOT BOF() &&如果记录指针没有到记录的开头SKIP –1 &&向上跳转一个记录THISFORM.REFRESHmand2.ENABLED=.t.ELSEWAIT WINDOW '已经是第一条记录了!' &&系统给出内容为“已经是第一条记录了!”提示窗口ENDIFENDPROCPROCEDURE Command2.ClickIF NOT EOF() &&如果记录指针没有到记录的结尾SKIP &&向下跳转一个记录THISFORM.REFRESH mand1.ENABLED=.t.ELSEWAIT WINDOW '已经是最后一条记录了!'ENDIFENDPROCPROCEDURE Command3.ClickGO TOP &&将记录指针移到记录的开头THISFORM.REFRESH mand1.ENABLED=.f. mand2.ENABLED=.t.ENDPROCPROCEDURE Command4.ClickGO BOTTOM &&将记录指针移到记录的结尾THISFORM.REFRESH mand1.ENABLED=.t. mand2.ENABLED=.f.ENDPROCPROCEDURE Command5.Click=TABLEUPDATE(.T.) mand1.ENABLED=.t. mand2.ENABLED=.t. mand3.ENABLED=.t. mand4.ENABLED=.t.mand5.ENABLED=.f.mand6.ENABLED=.f.mand7.ENABLED=.t.ENDPROCPROCEDURE Command6.Click=TABLEREVERT(.T.) &&启用表缓冲,放弃表中对所有记录所做的修改函数mand1.ENABLED=.t.mand2.ENABLED=.t.mand3.ENABLED=.t.mand4.ENABLED=.t.mand5.ENABLED=.f.mand6.ENABLED=.f.mand7.ENABLED=.t.ENDPROCPROCEDURE Command7.ClickUSE A:\XJ EXCLUSIVEPACKTHISFORM.RELEASEENDPROCPROCEDURE ClickIF EMPTY(bo1.VALUE) &&如果组合框1的值为空=MESSAGEBOX("请选择学号!",48+0+0,"学生学籍管理系统") &&系统给出内容为“请选择学号!”的对话框ENDIFAA=RECNO() &&用显示记录号的函数将记录号赋给变量AA GO AA &&将记录指针移到当前记录号THISFORM.txt学号.REFRESH &&刷新学号文本框的内容THISFORM.txt姓名.REFRESH &&刷新姓名文本框的内容THISFORM.txt性别.REFRESH &&刷新性别文本框的内容THISFORM.txt出生年月.REFRESH &&刷新出生年月文本框的内容THISFORM.txt邮编.REFRESH &&刷新邮编文本框的内容THISFORM.txt高数.REFRESH &&刷新高数文本框的内容THISFORM.txt英语.REFRESH &&刷新英语文本框的内容THISFORM.txtVfp.REFRESH &&刷新VFP文本框的内容THISFORM.txt是否党员.REFRESH &&刷新是否党员文本框的内容THISFORM.txt电话.REFRESH &&刷新电话文本框的内容THISFORM.txt通信地址.REFRESH &&刷新通信地址文本框的内容THISFORM.edt备注.REFRESH &&刷新备注编辑框的内容mand5.ENABLED=.t.mand6.ENABLED=.t.ENDPROC(未完)、查询数据表单源代码(A:\查询.sct)图4PROCEDURE ClickIF EMPTY(bo1.VALUE)=MESSAGEBOX("请选择学号!",48+0+0,"学生学籍管理系统")ENDIFAA=RECNO()GO AATHISFORM.txt学号.REFRESHTHISFORM.txt姓名.REFRESHTHISFORM.txt性别.REFRESHTHISFORM.txt出生年月.REFRESHTHISFORM.txt邮编.REFRESHTHISFORM.txt高数.REFRESHTHISFORM.txt英语.REFRESHTHISFORM.txtVfp.REFRESHTHISFORM.txt是否党员.REFRESHTHISFORM.txt电话.REFRESHTHISFORM.txt通信地址.REFRESHTHISFORM.edt备注.REFRESHENDPROC6、统计数据表单源代码(A:\统计.sct)图5PROCEDURE Click &&单击“统计记录总数”按钮时的事件过程COUNT TO AA FOR 是否党员="是" &&对党员计数,并将计数结果赋给变量AA THISFORM.text5.value=AA &&将变量AA的值赋给文本框5THISFORM.text5.REFRESHENDPROCPROCEDURE Click &&单击“统计英语平均成绩”按钮时的事件过程AVERAGE 英语 TO AA &&对所有记录的英语成绩求平均,并将平均值赋给变量AA THISFORM.text3.value=AA &&将变量AA的值赋给文本框3THISFORM.text3.REFRESHENDPROCPROCEDURE Click &&单击“统计VFP平均成绩”按钮时的事件过程AVERAGE vfp TO AA &&对所有记录的VFP成绩求平均,并将平均值赋给变量AA THISFORM.text4.value=AA &&将变量AA的值赋给文本框4THISFORM.text4.REFRESHENDPROCPROCEDURE Click &&单击“统计总平均成绩”按钮时的事件过程AVERAGE 高数 TO AA &&对所有记录的高数成绩求平均,并将平均值赋给变量AA AVERAGE 英语 TO BB &&对所有记录的英语成绩求平均,并将平均值赋给变量BB AVERAGE vfp TO CC &&对所有记录的VFP成绩求平均,并将平均值赋给变量CC STORE (AA+BB+CC)/3 TO DD &&将三门成绩的平均成绩和除3的总平均成绩赋给DD THISFORM.text6.value=DD &&将变量DD的值赋给文本框6THISFORM.text6.REFRESHENDPROC7、显示数据表单源代码(A:\显示.sct)图6PROCEDURE Command1.Click &&单击“上条”按钮的事件过程IF NOT BOF()SKIP -1THISFORM.REFRESHmand2.ENABLED=.t.ELSEWAIT WINDOW '已经是第一条记录了!'ENDIFENDPROCPROCEDURE Command2.Click &&单击“下条”按钮的事件过程IF NOT EOF()SKIPTHISFORM.REFRESHmand1.ENABLED=.t.ELSEWAIT WINDOW '已经是最后一条记录了!'ENDIFENDPROCPROCEDURE Command3.Click &&单击“首条”按钮的事件过程GO TOPTHISFORM.REFRESHmand1.ENABLED=.f.mand2.ENABLED=.t.ENDPROCPROCEDURE Command4.Click &&单击“末条”按钮的事件过程GO BOTTOMTHISFORM.REFRESHmand1.ENABLED=.t.mand2.ENABLED=.f.ENDPROCPROCEDURE Command5.Click &&单击“返回”按钮的事件过程THISFORM.RELEASEENDPROC8、删除数据表单源代码(A:\删除.sct)图7PROCEDURE Click &&单击“显示”按钮的事件过程IF EMPTY(bo1.VALUE)=MESSAGEBOX("请选择学号!",48+0+0,"学生学籍管理系统") mand2.ENABLED=.f.ELSEmand2.ENABLED=.t.ENDIFAA=RECNO()GO AATHISFORM.txt学号.REFRESHTHISFORM.txt姓名.REFRESHTHISFORM.txt性别.REFRESHTHISFORM.txt出生年月.REFRESHTHISFORM.txt邮编.REFRESHTHISFORM.txt高数.REFRESHTHISFORM.txt英语.REFRESHTHISFORM.txtVfp.REFRESHTHISFORM.txt是否党员.REFRESHTHISFORM.txt电话.REFRESHTHISFORM.txt通信地址.REFRESHTHISFORM.edt备注.REFRESHENDPROCPROCEDURE Click &&单击“删除”按钮的事件过程SET DELETE ONDELETEYN=MESSAGEBOX('确实要删除这条记录?',4+32+256,'删除确认')DO CASECASE YN=6=TABLEUPDATE(.T.)=MESSAGEBOX("记录已成功删除!",0+64+0,'学生学籍管理系统') mand2.ENABLED=.f.bo1.DISPLAYVALUE="请选择"GO TOPCASE YN=7RECALLENDCASETHISFORM.REFRESHENDPROCPROCEDURE Init &&删除数据表单的初始化过程SET TALK OFFmand2.ENABLED=.f.ENDPROCPROCEDURE ClickUSE A:\XJ EXCLUSIVEPACKTHISFORM.RELEASEENDPROC(未完)VFP应用程序设计实例--学生学籍管理系统(4)电脑笔记2007-10-29 16:58:43 阅读3843 评论5 字号:大中小9、导出数据表单源代码(A:\导出.sct)图8PROCEDURE Click &&单击“确定”按钮的事件过程SET SAFETY OFF &&覆盖文件时不提示确认USE A:\XJGO TOPIF EMPTY(bo1.VALUE)=MESSAGEBOX("请选择盘符!",48+0+0,"学生学籍管理系统")ELSEIF EMPTY(THISFORM.text1.VALUE)=MESSAGEBOX("请输入文件名!",48+0+0,"学生学籍管理系统")ELSEIF RECC()>0 &&如果表记录大于0DRIVER=BO1.DISPLAYVALUE &&将组合框1的值赋给变量DRIVERFILENAME=ALLTRIM(THISFORM.TEXT1.TEXT) &&将去掉空格的文件名赋给变量FILENAMECOPY TO &DRIVER\&FILENAME &&将系统表文件复制到选定的盘符和文件名中 =MESSAGEBOX("本系统所有数据已转出完毕!",48,"信息提示")USETHISFORM.RELEASEELSE=MESSAGEBOX("没有任何数据,不能转出",48,"信息提示")USETHISFORM.RELEASEENDIFENDIFENDIFENDPROCPROCEDURE Click &&单击“取消”按钮的事件过程RELEASE THISFORMENDPROC10、导入数据表单源代码(A:\导入.sct)图9PROCEDURE Click &&单击“确定”按钮的事件过程SET SAFETY OFFIF EMPTY(bo1.VALUE)=MESSAGEBOX("请选择要导入的数据表所在的盘符!",48+0+0,"学生学籍管理系统")THISFORM.text1.SETFOCUSELSEIF EMPTY(THISFORM.text1.VALUE)=MESSAGEBOX("请输入要导入的数据表名!",48+0+0,"学生学籍管理系统")ELSEDRIVER=bo1.VALUEFILENAME=ALLTRIM(THISFORM.TEXT1.VALUE)USE A:\XJ? &&打印一空行ON ERROR ? MESSAGE() &&发生找不到文件的错误时,打印错误信息APPEND FROM &DRIVER\&FILENAME &&将选定的文件追加到系统表文件中 =MESSAGEBOX('数据表已成功导入原表!',0+64+0,'学生学籍管理系统')USETHISFORM.RELEASEENDIFENDIFENDPROC11、打印数据表单源代码(A:\打印.sct)图10PROCEDURE Command1.Click??CHR(7)REPORT FORM A:\学生学籍管理表.frx NOEJECT NOCONSOLE TO PRINTERENDPROCPROCEDURE Command2.ClickREPORT FORM A:\学生学籍管理表.frx PREVIEWENDPROCPROCEDURE Command3.ClickTHISFORM.RELEASEENDPROC学生学籍管理系统的开发和应用,可以提高学校的管理水平。
用VFP开发学生平时成绩管理系统
作者简 介 :万九香 (9 5 ) 17 一 ,男 ,讲 师 ,硕 士 ,研究 方 向 数据挖掘 、智 能信息处理 、智能体技 术。
收 稿 日期 :2 1- 0 2 0 1 1— 0
鑫
电脑 编 程 技 巧 与 维 护
su e t ” b ” td n= 5
cs li ( i oi. mb 1 au)= aea tm t s t c l r h f n o o. le ”六班 ” v
“ 停止”按钮代码为 :
t s o m . m e 1.na e =. hif r f i r e bld F. t s o m . t .e o us hif r t 1s f c ex
o h e. l 1i v u = Fd s i 】 S et l , Ce s( ).a e a lLit【 1 l ,
sud nt b3 t e =” ”
绩 1(,), 平 时总成绩 c,) n …, 2 n2 ,其 中点名成绩 、课 堂成绩和 ) 作业成绩的个数可以依据实际的需要确定 。
cs Ur ( s r1 o o. l )= 四班 ” aea tm mi 0i. mb 1 au i f lc v e ”
W AN ix a g J u in (h cec n utr s fro o n h n la ae T eS i ea dC l e t m f n u a o Nac agMityAcdmy, nh n 3 13 ir Nac a g3 0 0 )
Ab t a t T ep p rf s i t d c st e s s m ’ Sd sg d a a d o e al r me a d s se f n to , n t a tea o ae sr c : h a e i t n r u e h y t r o e e in ie n v r l fa , n y t m u cin a d a s lb rt s l
学生成绩管理系统(VFP)
学生成绩管理系统(V F P) -标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII摘要:学生成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
本文简要介绍了本学校学生成绩管理的情况和系统的实现过程,阐述了课题来源,系统及需求分析,系统规划,设计及实现情况。
关键字:控件、窗体、域。
Abstract:Student’s achievement administrative system is a typical information management system(know as MIS), Its development include backstage supporter the foundation and maintain and front the twoes respects of development of application programs of data mainly. As to the former require set up data consistency and integrality strong, data security kind storehouse. Require application program not to be complete, easy to use characteristic of waiting for function the latter.This text has recommended a situation of student’s achievement management of institute and systematic realization course briefly, Having explained the subject source, the system and demand analyse, the system is planned, Design and realize the situation.Key word: Accuse of one, window body, land.目录摘要 (2)一前言 (3)二课题来源 (4)三系统及需求分析 (4)(一)、系统需求 (4)(二)、可行性分析 (4)(三)、VFP5.0以上的中文版概述 (5)四系统规划 (6)(一)、项目规划 (6)(二)、功能框图 (7)(三)、规划数据库 (7)五系统设计和实现 (9)(一)、数据分析与项目的建立 (9)(二)、数据库设计 (9)(三)、模块设计 (10)(四)、系统性能测试 (31)六结束语 (31)参考文献 (32)附录 (3)3一前言Visual FoxPro(简称VFP)是Windows平台下的新一代数据库管理系统,它具有优美的图形用户界面(GUI)、面向对象的开发方式、客户/服务品的数据连接以及通过OLE的数据访问工具等特点。
vf学生成绩管理系统
目录一、前言 (1)二、设计(shèjì)题目 (1)三、开发运行(yùnxíng)环境 (1)四、系统(xìtǒng)设计的一般过程 (4)第二章系统(xìtǒng)的总体设计 (6)第三章系统(xìtǒng)数据库设计 (6)第四章系统功能模块设计 (6)第五章系统实施 (6)一、创建项目 (11)二、创建数据库 (11)三、创建数据库中的表 (11)四、设置数据库中表之间的关系 (11)第六章主要表单及其事件代码的实施 (11)一、使用表单向导创建表单 (11)二、创建自定义的表单 (11)三、表单中的代码 (11)四、创建主界面的表单 (11)五、创建系统的主菜单 (11)六、创建主程序 (11)七、连编编应用程序 (11)八、运行应用程序 (11)结束语 (30)一、前言1、作业(zuòyè)目的本综合(zōnghé)作业的目的是使学生在已有的信息管理理论、计算机应用技术和高级语言程序设计等知识的基础上,运用所学的基础理论、专业知识和基本技能,解决本专业技术中的实际问题(wèntí)。
它既是培养学生综合能力和独立工作能力的教育过程,又是对学生素质的一次全面的检验。
2、作业(zuòyè)内容考生针对实际中的某个问题,或模拟实际应用中的某个问题进行设计开发,所开发的系统应具备基本(jīběn)的信息管理功能(如VFP、Access), 例如:人事管理信息系统、工资管理信息系统、公文管理信息系统、学生学籍管理信息系统等。
3、作业要求(1)、应按照管理信息系统应用项目开发的基本办法进行系统的分析、设计和实施,作业中要求体现出分析、设计过程。
(2)、要求将可重用代码和模块化等设计思想用于设计中。
(3)、设计方面的作业,要有良好的结构,良好的人机界面,正确可靠,可读性好。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
班级:电商092
学号:200936627204 学号:200936627202 姓名:陈家文姓名:岑荣培
学号:200936627227 学号:200936627210 姓名:李木水姓名:冯冠豪
学号:200936627258
姓名:姚子维
.
联系方式:****************
日期:2011-5-31
一.“学生信息管理系统”功能分析。
学生管理系统的主要功能是:可以,查询,添加,删除,修改学生信息。
(流程图)
(数据库中各表关系图)二.系统结构
表单
主表单:
封面.scx
次表单:
查询.scx
修改.scx
添加.scx
删除.scx
(系统结构图)
三.部分程序模块化
1,系统登录界面
由Label、Command、Combo1 和Timer(计时器)控件组成,其中,计时器主要用于控制实现封面表单在3s之后自动关闭
系统登录界面对象的事件过程代码如下:
按钮对象Command1(确认)的Click事件过程代码如下:Lname = ALLTRIM(thisform.text1.Value)
pwd = ALLTRIM(thisform.text2.value)
USE 管理员表&&打开管理员表LOCATE FOR ALLTRIM(用户名)==Lname
IF FOUND().and.ALLTRIM(密码)==pwd
USE &&登陆成功,关闭数据表thisform.Release &&关闭当前表单
DO main.mpr &&执行主菜单程序
ELSE
MESSAGEBOX("用户名或密码错误,请重新输入!",0,"错误") thisform.text2.Value=""
USE
ENDIF
按钮对象Command2(退出)的Click事件过程代码如下:
answer=MESSAGEBOX("是否确定要退出系统",4+32,"确定")
IF answer=6 &&如果用户单击了“确定”按钮thisform.release
QUIT
ELSE
thisform.text1.SetFocus
ENDIF
2,进入后查询:
(1)按学号或姓名查询
按钮对象Command1(开始查询)的Click事件过程代码如下:
sno=ALLTRIM(thisform.text1.value)
SCAN
IF 学生表.学号=sno.or.学生表.姓名=sno
thisform.text1.Value=""
thisform.Refresh
RETURN
ENDIF
ENDSCAN
MESSAGEBOX("该学生不存在!",0,"查找失败")
(2)按学号或课程id查询
按钮对象Command1(开始查询)的Click事件过程代码如下:sno=ALLTRIM(thisform.text1.value)
SCAN
IF 成绩表.学号=sno.or.成绩表.课程id=sno
thisform.text1.Value=""
thisform.Refresh
RETURN
ENDIF
ENDSCAN
MESSAGEBOX("该学生不存在!",0,"查找失败")
(3)按课程id或课程名查询
按钮对象Command1(开始查询)的Click事件过程代码如下:sno=ALLTRIM(thisform.text1.value)
SCAN
IF 课程表.课程id=sno.or.课程表.课程名=sno
thisform.text1.Value=""
thisform.Refresh
RETURN
ENDIF
ENDSCAN
MESSAGEBOX("该学生不存在!",0,"查找失败
(4)数据维护:
按钮对象Command1(修改部分)的Click事件过程代码如下:this.Enabled= .F.
state=2
thisform.grid1.AllowAddNew= .F.
thisform.grid1.ReadOnly= .F.
mand1.Enabled= .F.
mand3.Enabled= .F.
按钮对象Command1(删除部分)的Click事件过程代码如下:answer=MESSAGEBOX("真的要删除当前记录吗?",4+32,"确认删除")
IF answer=6
DELETE
ENDIF
thisform.Refresh
按钮对象Command1(保存部分)的Click事件过程代码如下:
IF state=1.or.state=2 &&如果以前正处于添加或修改状态FLUSH &&将表中的数据存入磁盘
ENDIF
mand1.Enabled= .T.
mand2.Enabled= .T.
mand3.Enabled= .T.
thisform.grid1.ReadOnly= .T.
thisform.grid1.AllowAddNew= .T.
按钮对象Command1(刷新部分)的Click事件过程代码如下:thisform.Refresh
按钮对象Command1(添加部分)的Click事件过程代码如下:this.Enabled= .F.
state=1
thisform.grid1.AllowAddNew= .F.
APPEND &&插入空白记录
thisform.grid1.SetFocus
mand2.Enabled= .F.
mand3.Enabled= .F.
四、连编成应用程序系统
在项目管理器中,单击“连编”,选定“重新编译全部文件”复选框,及“连编
可执行文件”单选项,系统开始连编,生成一个扩展名为EXE的文件Xscjxt.exe (改名为学生信息管理.exe),退出FVP环境,运行学生信息管理.exe即可执行学
生信息管理主程序。
五、系统设计的体会:
1、设计过程遇到的问题与解决方案:
设计过程中遇到的最大问题就是不能照书上的代码编系统,照着书本中的例
子做时,发现书上的代码很多错误,运行后常出错。
检查后发现不是代码写错就
是漏输代码,重写代码后问题得到解决,有些问题通过同学间的讨论交流也得到
解决。
2、系统设计心得:
此次系统设计使我们更了解了数据库的基本知识以及更熟练了VFP的操作,同时更巩固了我们对“技术及应用”课堂内容的知识。
通过系统的制作,更加强了我们的制作能力、合作完成能力、与同学讨论交流的能力、VFP的操作能力以及遇到问题的解决能力等。
但因为是初次制作系统,也受所掌握知识的内容的限制,仍有许多地方不足,如未能使所作系统的功能更全面,像密码的修改功能在系统中没有制作。
这些都要在以后的学习过程中,不断的提高自己的能力。
通过这次课程设计,已经掌握了学习VFP的学习办法,有助于以后继续深化自己。
使自己掌握更多的编程知识。