![学生成绩管理系统(VFP)_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-5/7/600b4c46-e0f5-4bac-8e65-f30febcb2481/600b4c46-e0f5-4bac-8e65-f30febcb24811.gif)
![学生成绩管理系统(VFP)_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-5/7/600b4c46-e0f5-4bac-8e65-f30febcb2481/600b4c46-e0f5-4bac-8e65-f30febcb24812.gif)
![学生成绩管理系统(VFP)_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-5/7/600b4c46-e0f5-4bac-8e65-f30febcb2481/600b4c46-e0f5-4bac-8e65-f30febcb24813.gif)
![学生成绩管理系统(VFP)_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-5/7/600b4c46-e0f5-4bac-8e65-f30febcb2481/600b4c46-e0f5-4bac-8e65-f30febcb24814.gif)
![学生成绩管理系统(VFP)_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-5/7/600b4c46-e0f5-4bac-8e65-f30febcb2481/600b4c46-e0f5-4bac-8e65-f30febcb24815.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要:学生成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护 以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全 性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本文简要介绍了本学校学生成绩管理的情况和系统的实现过程,阐述了课题来源,系统 及需求分析,系统规划,设计及实现情况。关键字:控件.窗体、域。Abstract:Student s achievement administrative system is a typical information management system(know as MIS), Its
2、development include backstage supporter the foundation and mai nt ain and fro nt the t woes respec ts of development of applies tion 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 c
3、omplete, easy to use characteristic of waiting for function the latterThis text has recommended a situation of student s achievement management of institut己 and systematic realization course briefly, Having explained the subject source, the system and demand analyse, the system is planned, Design an
4、d realize the situation.Key word: Accuse of one, window body, land.摘要.2一 前言. 3二课题来源 . .4三系统及需求分析 . .4(一) .、系统需求4(二) .、可行性分析 4(三) .、VTP5. 0以上的中文版概述5四系统规划 . .6(一).、项目规划. 6(二) .、功能框图 7(三) .、规划数据库 7五系统设计和实现. .9(一).、数据分析与项目的建立. 9(二) .、数据库设计 9(三) .、模块设计 10(四) .、系统性能测试 31六结束语 .31参考文献 .3233Visual FoxPro (简称
5、VFP)是Windows平台下的新一代数据库管理系统,它具有优美的 图形用户界面(GUI)、面向对象的开发方式、客户/服务品的数据连接以及通过OLE的数据 访问工具等特点。最新推出了 VFP6.0、VFP7.0,它在VFP5. 0的基础上更加重了项目管理 器、向导、生成器、查询与视图、OLE连接、ActiveX集成、帮助系统制作、数据导入和导 出等方面的功能。“学生成绩管理系统”就是在这样一个优秀的数据库管理系统卞开发而成的,可以在VFP5. 0 以上的版本上运行,也可以生成自身的.EXE文件运行。本系统的特点是:易用性、先进性 和广泛性强,可用性和实用性高,良好的用户界面,几乎没有专业和业余
6、的区别,普通用户 只要懂得使用WINDOWS操作系统及VFP数据库管理就能使用该系统。本书以怎样建立学生成绩管理系统为主线,全面而系统地介绍了系统的各种功能模块的建立 和操作方法。全书分为六章,全面系统地介绍了在VFP数据库管理系统中建立学生成绩管理 的项目管理器及其使用,数据表与数据库的建立,查询与视图,表单设计,报表,工作坏境 的设置方法与步骤等内容。“学生成绩管理系统”是目前学校应该普遍需要使用的学生管理系统之一,鉴于这种情况, 提出问题、分析问题,也是我这次毕业论文设计的基本目的。二课题来源计算机已经成为我们学习和工作的得力助手,今天,计算机的价格已经十分低廉,性能却有 了长足的进步。
7、它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方 面:首先,计算机可以代替人工进行许多繁杂的劳动:其次,计算机可以节省许多资源;第三,计算机可以大人的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全,等等。由于我校每个学期都要进行期终考试,每期的考试成绩又要进行登记入册,原来学校是 由教务处的一位老师专门管理这件事,主要是进行手写登记,费时又费心,而且有时还出现 很多错误登记。现在我校学生成绩管理水平还停留在纸介质的基础上,这样的机制已经不能 适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计 算机为基础的信息管理所取代。作为计算机应用的
8、一部分,使用计算机对学生成绩进行管理,具有着手工管理所无法比拟的 优点。例如:不易出错、查找方便、可靠性高、存储量人、保密性好、寿命长、成本低等。 这些优点能够极大地提高学生成绩管理的效率,也是学校的科学化、正规化管理,与世界接 轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。三系统及需求分析(一) 、系统需求尽量采用学校现有软硬件坏境,及先进的管理系统开发方案,从而达到充分利用学校现有 资源,提高系统开发水平和应用效果的目的。系统应符合学校学生成绩管理的规定,满足对学校学生成绩管理的需要,并达到操作过程 中的直观、方便、实用、安全等要求。系统采用模块化程序设计方法,既便于系统功能
9、的各种组合和修改,又便于未参与开发的 技术维护人员补充、维护。系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操 作。通过调查,要求系统需要有以下功能:1、由于操作人员的计算机知识普遍较差,要求有良好的人机界面,可以存储历届的学生成 绩,安全、高效;2、原始数据修改简单方便:3、数据查询方便;4、删除数据方便简单,数据稳定性好;5、数据计算自动完成,尽量减少人工干预;6、强大的报表打印功能:7、退出系统。(二) 、可行性分析由于本系统管理的对象单一,且每个班级的学生数据内容基本是一致的,涉及的计算中 心过程不是很复杂。因此,比较适合于采用数据库管理。在存储量、速度方
10、面都能满足数据 库运行的要求。在技术难度方面,由于有指导老师和相关参考文献,特别是网上资料,以及 学校给我提供的各种数据要求,完全可以实现。VFP5.0以上的中文版作为一个关系型数据 库系统,它提供了面向对彖的编程技术,可简化数据库管理,使开发应用程序这项艰辛的工 作就象堆枳木那样简单方便。另外,用VFP5. 0以上的中文版开发的应用程序可以独立运行 于Windows平台。(三) 、VFP5. 0以上的中文版概述1、概述VFP5. 0以上的中文版,它是运行于Windows 9X/2000及Windows NT平台的32位的数据库 系统,充分发挥了 32位微处理器强大的32位数据处理性能。它功能
11、强人,直观易用,支持 客户/服务器结构和面向对彖编程,提供多种可视化编程工具,支持最新Internet技术,W 数据库的设计,最新流行的ActiveX等。VFP5.0以上的中文版完全支持OOP (面向对彖)的 应用程序设计方法,VFP使用了真正的类,包括继承性,封装性和多态性。用可视方式创建 类、查看类及类代码;利用表单向导进行专业级界面设计;对表关系进行可视化查看:可利 用OLE自动化来包含其他软件Excel.Word)中的对彖并使用这些软件。通过TisualFoxPro 对象和事件模型,用户可以快速创建和实现无模式(modeless)的应用程序;利用生成器和 工具栏,开发人员可以快速开发应
12、用程序,而省去编写人量的代码、定义繁多的属性。总之, VFP5. 0以上的中文版是一种适用于专业人员的开发工具。2、数据库概念的发展在FoxPro2. X中一个表就是数据库,实际上是真正的数据库中表的概念。在Visual FoxPro 中,数据库指的是可以存储一个或者多个表(.DBF)及视图的关系数据库,这才是真正的关 系型数据库的概念。对于一个大型的信息管理系统,它很可能需要对不同的用户各自创建一 个人型的文件系统,它包扌舌许多表,而属于一个用户的一套表与属于另一个用户的一套表实 际上是相同的,只是名称有所不同,而在FoxPro2. X中,需要建立大量的代码来区别和维护 属于不同用户的一套表
13、,这套表的数量可能是非常庞人的,维护编码也是非常庞人的。然而 VisualFoxPor中引入的真正的数据库的概念,使这一问题的解决变得非常的容易,设计人 员只要为不同的用户创建不同的数据库,然后在这些数据库卞建立用户自己的表就可以很容 易对每个用户进行区别和维护了。而且,这样的数据库的关系能力更加强人,更加稳定可靠。3、其他新特性VisualFoxPor5. 0的面向对彖编程,一个很重要的部分是通过使用类体现出来的,类具有对 象的继承、封装的特性和一切使用对彖编程的优点。可以大人简化编程,在本系统的设计中 就充分利用了这种优点(如:自动转换中英文输入法的gstextbox的自定义, Visua
14、lFoxPor5. 0自带的可视类库WIASTYLE. VCX中的searchclass类等等),町以按照需要 给自己的数据库定制相应的菜单样和工具栏。重新设计了项目管理器(ProjectManager), 其最简单的用途是作为一种组织工具,保存属于特定应用程序所有文件的列表,而且根据文 件类型将这些文件进行划分。它所提供的多页框界面,使对项目文件的添加、建立和编程更 加容易。1998年最新推出了 VFP6. 0中文版,它在VFP5.0的基础上更加重了项目的管理器、 向导、生成器、查询与视图、OLE连接、ActiveX集成、帮助系统制作、数据导入和导出等 方面的功能。可以与OFFICE软件集成
15、。四系统规划(一)、项目规划学生成绩管理系统是一个典型的数据库应用程序,由用户设置模块、数据处理模块、成 绩输入模块、成绩管理模块、成绩查询模块、报表打印模块等部分组成,特规划功能模块如 下:1、用户设置模块该模块主要包括添加用户、修改密码和删除用户。2、数据处理模块该模块的主要功能是建立登分册和负贵录入学生数据。(1)建立登分册:是指建立考试的名称。(2)学生管理:主要负贵录入学生的信息,如录入学生的学号、年级、班次、姓名和性别。 由于数据量大,所以该模块的设计也发点应从方便用户操作的角度出发,如采用中英文自动 切换。3、成绩输入模块该模块的主要功能是负责录入学生的成绩,并且可以选择要输入成
16、绩的科目。4、成绩管理该模块的主要功能是对学生成绩自动核算,总分、排名。5、成绩查询模块查询模块是一个数据库系统中所必须的模块。方便学校对每个学生的学生成绩查询和对每个 班全部学生成绩的查询。6、报表打印模块该模块包括打印成绩和打印设置两个子菜单。(1)打印成绩模块:打印学生平时及毕业要打印他们的数据,于是设置了打印学生个人成 绩,打印班级学生成绩和打印班级平均分的报表,以便学生对平时成绩的查询及毕业入档时 学生成绩打印入册的原始凭证。(2)页面设置模块:是对打印页面进行设置,如果没有安装打印机,将会提示安装打印机, 此时应该点“否”并选“忽略”,否则系统将会产生错误。7、退出功能模块退出功能
17、模块用于结束所有操作,退出学生成绩管理系统。根据以上分析,本系统将建立以下功能模块。学生成绩管理系统主界面用户设置添加用户修改密码删除用户数据处理建立登分册学生管理成绩输入成绩管理学生成绩管理系统主界面成绩查询打印报表打印成绩页面设置退出(二)、功能框图根据系统功能要求,可以将系统分解成几个功能模块来分别设计,功能模块如下图:(三)、规划数据库1、分析数据需求数据库是管理系统的基础,只有建立了反映实际情况的数据库,才可能提供各种有价值的信 息,为决策作出依据。在学生成绩管理系统中建立的数据库为:成绩库2、确定数据库由于VTP5. 0的以上版本的数据库管理比较完善,在设计数据库时,不同主题的信息
18、应存储在不同的表中,并遵循下列规则:(1)同一信息只保存一次;(2)防止删除有用信息;只有在同一信息只保存一次的前提下,才能减少数据冗余性和出错的可能性,而是为了防止 删除有用的信息,最好的解决方法仍然是把不同主题的信息放在不同的表中。根据以上分析,时间2005011220050112学生成绩管理数据库中建立了以下几个表:学生表、考试库、课程表、用户。(1)学生表学生表的结构。字段名类型宽度小数学号字符型11年级字符型4考号字符型8班次字符型10姓名字符型8性别字符型3学生表的记录。假设在学生表中输入3条记录,则为:学号年级考号班次姓名性别20011928高一12912321谭仲杰男20011
19、086高一10207321文淑华女20011553高一12607321王俊敏女(2)考试库考试库的结构。字段名类型宽度小数名称字符型50时间字符型8考试库的记录。假设在考试库中输入2条记录,则为:名称2004年高一期末成绩2001年高二期末成绩字段名类型宽度小数科目字符型20最高分数值型3课程表的记录 。假设在课程表中输入3条记录,科目最高分语文115数学98历史96(4)用户用户的结构。字段名类型宽度用户名字符型16密码字符型16用户的记录。假设在用户中输入2条记录,则为用户名密码admin1yxl123456小数则为:(3)课程表课程表的结构。五系统设计和实现(一)、数据分析与项目的建立1
20、、数据分析主要是分析各种数据的用途及相互之间的关联,分析数据的类型、数量发生频 度和使用频度,并具体弄清楚每个数据所需的范I韦I和位数及来源的时间性,为数据库、文件 设计及输出、输入设计提供依据,也为制定合理的数据处理方法提供依据。编码是一项基础 工作,编码必须唯一,编码设计的目的是为了便于数据的存储和检索,提高处理的效率和精 度,节省处理时间和减少存储空间且方便使用。2、项目的建立项目管理器是“项目”二个字的含义指的就是我们想要编制的应用程序。成名思义,项目管 理器就是用于建立应用程序的集成开发环境,它帮助我们设计、修改、运行一些应用程序级 件。为了开发“学生成绩管理系统”,首先就要启动项目
21、管理器,创建一个新项目。启动项 目管理器,创建新项目一一学生成绩管理系统的操作步骤是:第 1 步:启动 Microsoft Visual FoxPro6. 0 进入 “Microsoft Visual FoxPro开发环 境。第2步:单击“文件”,单击“新建”,弹出“新建”窗口。第3步:选中“项目”,单击“新建文件”按钮,弹出“创建”窗口。第4步:把所有要开发的“学生成绩管理系统”项目保存在一个文件中,本系统保存在E: 学生成绩管理系统目录下,在“项目文件”里输入“学生成绩管理系统”,作为该项目的文 件名。在“存为类型”中选取“项目”,单击“保存”按钮,弹出“项目管理器”窗门。(二)、数据库设
22、计1、怎样建立“学生成绩管理系统”中的数据库?在Visual FoxProG. 0中,数据库由表、视图以及它们之间的关系集合而成。创建一个新数 据库的操作步骤如下:第1步:在项目管理器窗I中,选中“数据”选项卡,单击选中“数据库”图标。第2步:单击“新建”按钮,再单击“新建数据库”,弹出“创建”窗I,在“数据库名” 框中输入“成绩库”,作为学生成绩管理的数据库文件名,在“存为类型”栏中,选中“数 据库”,并将该文件保存在E:学生成绩管理系统data中。第3步:单击“保存”按钮,弹出数据库设计器一成绩库”窗门,显示出了一空的数据库 设计窗口,并且“数据库设计器”变为有效。至此,我们创建了一个空的
23、学生成绩管理数据库。2、怎样创建数据库中的表?下面我们在成绩库中创建学生表、考试库、课程表、用户。(1)建立学生表建立学生表的操作步骤如下:第1步:在“数据库设计器”窗I的工作表中,单击鼠标右键,弱出一个“命令”菜单。第2步:单击“新建表”,弹出新建表”窗口。第3步:单击新建表”按钮,弹出“创建”窗口,在“保存在”框中,选中“data”文件 夹,在“输入表中”中输入“学生表”,在“存为类型”框中,选中“表/DBF”。第4步:单击“保存”按钮,弹出“表设计器一学生表.DBF”窗I,在“字段”选项卡中, 输入学生表每个字段的字段名、类型、宽度、小数位数,完成表的结构。第6步:单击“否”按钮,返回到
24、“数据库设计器一成绩库”窗口。 至此,在“数据库设计器一成绩库”窗门中,可以看到创建了一个“学生表”。(2)建立考试库、用户、课程表的操作方法跟建立学生表的操作方法相同。(三)、模块设计1、用户登录窗口功能模块如果没有进行特殊设置,每次进入系统都将 显示登录界面(如右图),它对操作员进行【I令 验证,防止非法用户进入系统,任意增加、修改 和删除数据。在选择或输入用户并提供正确的密 码后,点“确定”按钮即可进入系统,点“取消” 放弃登录,退出系统。如果不能提供正确密码, 在点“确定”按钮后会有相应提示,如果连续 三次都输入了错误的密码,系统将自行关闭。2、用户设置模块,在本模块中了建立三个子模块
25、,即添加用户、修改密码、删除用户。(1)添加用户功能模块。其程序代码如下:Command1 click use 用户 excl public ul, pwl ul=alIt(thisform text 1 value) pwl=allt(thisform text2 value) if empty(thisfonn textl value) messagebox (用户名不能为空! , 48+0,添加新用户) t hisform textl. set focuselselocate for allt (用户名)=ulif found 0messagebox(用户名已经存在,请输入其他用户名!
26、, 48+0,添加新用户)thisform textl. setfocuselseif thisform text2 value二二thisform text3 valuetempstr二Jfor i=l to len(trim(pwl)tempchr=bitxor(asc(subs(pwl, i, 1), 123) tempstr二tempstr+chr (tempchr)endfordimension b(1,2)bl, l=ulb -1, 2= tempstrappend from array bmessagebox (,z成功添加新用户! ”, 64+0,添加新用户) release
27、thisformelsemessagebox(z,请输入相同密码!,48+0,添加新用户) thisform text3 setfocus 用Caabo |- n口今T.xill-i-.r添加新用户endifendif endifcommand2 click release thisform text3. KeyPressLPARAMETERS nKeyCode, nShiftAltCtrlif nkeycode=13&enterthisform command1 clickendif(2)修改密码功能模块。其程序代码如卞:Combol InteractiveChangethisform re
28、freshTextl. KeyPressLPARAMETERS nKeyCode, nShiftAltCtrlif nkeycode=13thisform command1 clickendifCommand1 Clickpublic uu=allt(thisform combol value)tempstr二八for i=l to len(allt(trim(thisform. textl. value)tempchr=bitxor(asc(subs(thisform textl. valu己,i, 1), 123) tempstr=tempstr+chr(tempchr)endforloc
29、ate for allt (用户名)=allt (thisform. combol. value) and allt (密码)=tempstr if found ()do form changepw2elsemessagebox(密码有误,请重新输入! ,48+0,修改密码) thisform textl. setfocusendifCommand2 Clickrelease thisformForm1. Init*main. olel simpletext二this captionuse 用户 exclText2. KeyPressLPARAMETERS nKeyCode, nSh辻tAlt
30、Ctrl if nkeycode=13&enterthisform command1 clickendifCommand1 Clickuse 用户 exclpublic pwpw=alIt(thisform text 1 value)if pwalIt (thisform text2 value)tempstr=,!for i=l to len(trim(pw)tempchr=bitxor(asc (subs(pw? i,1),123)tempstr二tempstr+chr(tempchr)endforloca for allt (用户名)=allt (u)if found () thenre
31、pl 密码 with tempstrrelease thisformmessagebox (密码修改成功! ,64+0,修改密码)endifelsemessagebox (密码未被确认,请输入相同密码! ”,48+0,修改密码) thisform text2 setfocusendifCommand2 Clickrelease thisformForm1. Initmain. ole1 simpletext二this captionForm1. Unloadmain. olel. simpletext二修改密码release pwreturn(3)删除用户功能模块。其程序代码如卞:Form1.
32、 Inittempstr=,Jfor i=l to len(t:rini(thisforni txtl value)tempchr=bitxor(asc(subs(thisfotmtextl. value, i, 1), 123)tempstr=tempstr+chr(tempchr)endforloca te for allt(用 户名)二二 al lt(t hisform .comb ol value)if found0 and allt (密码)=tempstra二messageboxC确实要删除此用户吗? ”, 32+1,删除用户) if a=ldeletepackmessagebox
33、(z,成功删除用户! ”, 64+0, 删除)thisform combol value二thisform text 1 value二endifelsemessagebox(z,密码有误,请重新输入! ,48+0,删除用户) thisform textl. setfocusendifendifCommand 1 GotFocusthis picture=mypath+picture册lj除 focus bmpCommand 1 LostFocusthis picture=mypath+picture册lj除 but. bmpCommand2 Clickrelease thisformComma
34、nd2 LostFocusthis picture=mypath+picture取,肖 bmpCommand2 GotFocusthis picture=mypath+picture取)肖 focus bmpTextl. KeyPressLPARAMETERS nKeyCode, nShiftAltCtrlif nkeycode=13thisform command1 clickendif3、数据处理模块数据处理菜单下面的子菜单有:建立登分册和学生管理。(1)建立登分册,是指建立考试的名称。其程序代码如下:Form1. Initt hisform tex tl set focusthis au
35、tocenter二.tCommand1 Clicksjk=allt(thisform textl value)if empty(sjk)MESSAGEBOX (请输入考试名称)t hisform tex tl set focusreturnendifs jk=/zdata,z+s jkclear國建丈登分册匸回X&kemu n(3)总分n(4) 班名n 校名nset path to data close data all use 学生表 in a copy to &sjk use &sjk use课程表 jls=recc 0 for i=l to jls use课程表 go i kemu二科目
36、 ALTER TABLE (sjk) ADD close data all endforALTER TABLE (sjk) ADD ALTER TABLE (sjk) ADD ALTER TABLE (sjk) ADD close data all messagebox(s jk+z,建立,0, 成绩管理)Command2 Clickuse data考试库f iledbf=alIt (thisform textl value) + dbf if file(filedbf) thenloca for allt (名称)=f iledbfif found 0 messagebox (/z此考试库己
37、存在! , 0,成绩管理。elseappe blankrepl 名称 with filedbfmessagebox (filedbf+,/也成功添加到考试库! ,0,成绩管理) endifelsemessagebox (请先建立成绩表! ”, 0,成绩管理)thisform textl. setfocusendifCommand3 Clickthisform releaseCommand! Clickdaan二messagebox(此操作将清空考试库里的成绩项目! ,4+32,成绩管理)if daan=6 thenuse data考试库 zapendif(2)学生管理。主要负责录入学生的信息,
38、如录入学生的学号、年级、班次、姓名和性别。 其程序代码如下:Command1 Click thisform command3 enabled二.tthisform command4 enabled二.tgo topthisform refreshthis enabled二.fthisform command? enabled二.ft hisform grid 1 set focusCommand 1 Refreshif reccountO 二0this enabled二 fendifCommand2 Clickthisform command3 enabled二.tthisform comma
39、nd4 enabled二.tskip -1if recno()=lgo topthis enabled二 fthisform command1 enabled二.f.endifthisform refreshthisform grid1 setfocusCommand2 Refreshif reccountO二0this enabled二 fendifCommand3 Refreshif reccountO二0this enabled二 fendifCommand3 Clickthisform command1 enabled二.t thisform command? enabled二.t s
40、kip +1if eof ()go bottomthis enabled二 fthisform command! enabled二.f.endifthisform refreshthisform grid1 setfocusCommand! Refreshif reccountO 二0this enabled二.fendifCommand! Clickthisform command1 enabled二.tthisform command? enabled二.tgo bottomthisform refreshthis enabled二.fthisform command3 enabled二.
41、ft hisform grid 1 set focusCommands Clickdel二messagebox(清空此学生表中所有数据吗? ”, 32+4,修改记录)if del=6 thenuse in学生表use data、学生表 exclzapuse data、学生表 shareendifCommand6 ClickThisform closable二.Fdel二messagebox (添加学生吗? ”, 32+4,添加记录)if del二6xingm=allt(thisform textl value)xingb二thisform combol valuenianj=thisform
42、combo2 valuebanc=alIt(thisform text3 value)if not empty (xingm) and not empty(xingb) and not empty(nianj) then calc max (学号)to xiaohappe blankrepl 姓名 with xingmrepl 性别 with xingbrepl 年级 with nianjrepl 班次 with bancrepl 学号 with allt (str (val (xiaoh)+1)elsemessagebox (z,任何一项不能为空! , 0,添加记录)t hisform te
43、x tl set focusreturnendifthisform grid 1 recordsource二thisform grid 1 recordsource二学生表thisform refreshendift hisform grid 1 set focusCommand9 Clickdel二messagebox(删除当前记录吗? ,32+4, 删除记录)if del二6nrec=recn()thisform grid 1 recordsource二use in学生表use data学生表 exclthisform textl value二recn()go nrecdeletepack
44、if nrecrecn()go nreclelsego nrecendifthisform refreshthisform grid 1 recordsource二学生表thisform grid 1 recordsourcetype=lt hisform grid 1 set focusendifCommand9 Refreshif reccount()二0this enabled= fendifCommand7. Refreshif reccount()二0this enabled= fendifCommand7. ClickThisform closable二.Fdel二messageb
45、ox (修改此学生信息吗? “,32+4,修改记录)if del二6xingm=allt(thisform textl value)xingb二thisform combol valuenianj=thisform combo2 valuebanc=alIt(thisform text3 value)xiaoh=allt(thisform text2 value)if not empty(xingm) and not empty(xingb) and not empty(nianj) then repl 姓名 with xingm repl 性别 with xingb repl 年级 with
46、 nianjrepl 班次 with bancrepl 学号 with allt (str (val (xiaoh)+l)elsemessagebox (,z任何一项不能为空! “, 0,修改记录)t hisform tex tl set focusreturnendifthisform refreshendift hisform grid 1 set focusThisform refreshCombol Initthis value二thislist (1)Combo2 Clickthisform text2 value二this valueCombo2Initthis value二thi
47、slist (1)Textl GotFocusthisform. textl. value=姓名thisform combol value二fl:另ljthisform combo2 value二彳彳二级thisform text3 valuw二班次thisform text2 valu己二学 4*Textl Clickthisform. textl. value=姓名thisform combol value二fl:另ljthisform combo2 value二彳彳二级thisform text3 valuw二班次thisform text2 valu己二学 4*Textl GotFoc
48、usthisform. textl. value=姓名thisform combol value二fl:另ljthisform combo2 value二彳彳二级thisform text3 valuw二班次thisform text2 valu己二学 4*Command 10 Clickdel二messagebox(此操作将更新原来所有的学号? “, 32+4, 批量添加学号)if not del=6returnendifxiaoh=allt(thisform text4 value)numt二.tif len(xiaoh)8 thenmessagebox(z,现在学号的长度为(str (l
49、en(xiaoh) +z,位长度必须为8位,0)return endifif subs (xiaoh, 1, 1)二0messagebox(z,学号第一位不能为0, 0):returnendiffor i=l to len(xiaoh)if not ISDIGIT(subs(xiaoh, i, 1)numt=fexitendifendforif not numt thenmessagebox(学号必须为数字!, 0):returnendifrepl all 学号 with allt (str (val (xiaoh) +recn 01)Text4Initthis. value=alIt(str
50、(year(date()+0001Commands Clickrelease thisform4、成绩输入。该模块的主要功能是负贵录入学生的成绩,并且可以选择要输入成绩的科目。 其程序代码如下:Form1. Initthis autocenter二.tCommand1 Clickmypath=sys(5)+sys (2003)zaigrid二.fif empty (thisform. listl value)messagebox (z,请选择成绩表、0, thisform listl value)returnendifsjk=mypath+data+thisform. listl valueu
51、se &sjkthisform releasedo form shurulshuru1. showCommand2 Clickthisform releaseListlInitclose data allif used(考试库)then处.入use in考试库endifuse data、考试库.dbffor i=l to recc 0go ithis, add item (名称) endforthis value二thislist(1) use in考试库Form1. Initthisform cont setall (value,1) thisform width=750 this auto
52、center二.this showwindow二2Command1 Clickmypath=sys(5)+sys (2003) zaigrid二.f*close data all*sele bFOR EACH oProj IN thisform. objects if upper(oProj Name)=upper(gridl) then thisform removeobject (gridl) endifENDFORthisform addobject(gridl, grid) thisform grid 1 visible二.f with thisform gridl* recordso
53、urce=JUSTFNAME(sjk)*RecordSourceType=2top二100.left=10width二thisform width一40 height = 250* columnl enabled二.fcheck二FOR 1=1 TO THISFORM. cont. ControlCount if THISFORM. cont. Controls (i) value=l check=check+,z “+THISFORM cont. Controls (i) caption endif endfor for i=l to ColumnCount if columns(i) he
54、aderl captionScheck总分、排名。其程序代码如下:columns(i) enabled二.t elsecolumns (i) enabled二.f. endif endforendwiththisform grid1 visible= tthisform grid1 setfocusthisform refreshthisform command3 enabled二.tthisform command4 enabled二.tCommand2 Clickusethisform releaseCommand3 Clickdaan二messagebox (此操作将要清空已输入成绩中的
55、所有数据! “, 32+4,清空数据)if daan=7 thenreturnendifcheck二语文数学英语物理化学生物 地理政治历史for i=l to fcountOif fiel(i)$check thenkemu=fiel (i)repl all &kemu with 0endifendforCommand! Clickdaan二messagebox(此操作将要清空已输入成绩中的所有数据,并产生测试数据! ,32+4, 测试)if daan=7 thenreturnendif check/语文数学英语物理化学生物地理政治历史 for i=l to fcountOif fiel(i)
56、$check thenkemu=fiel (i)repl all &kemu with rand0*100endif endfor5、成绩管理。该模块的主要功能是对学生成绩的核算,Command1 ClickCLOSE data allmypath=sys(5)+sys (2003)sjk=mypath+data+thisformlistl valueIF file(sjk)IF DATE O-FDATE(sjk) =0tianshu=allt(str(date()FDATE(sjk)Message二此表修改的口期离今天有+tianshu+天MESSAGEBOX(message, 0)daan
57、二 MESSAGEBOX(数据库表正确吗(y/n) , 4+32, hao)ELSEdaan二6ENDIF*ENDIFIF daan=6ELSEMESSAGEBOX0,数据库表不对,请重新打开)returnCLOSE all dataENDIFELSEMESSAGEBOX(-, 0,数据库表不存在,请打开数据库!):returnENDIFSET excl on* close data allSET safe offSET talk offUSE &sjk &卞面这段程序排班名zonghe=for i=l to fcount0if fiel(i)$语文数学英语物理化学生物地理历史政治 zongh
58、e=zonghe+,+,/+f i e 1 (i)endifendforif empty(zonghe)messagebox(z,没有找到单科成绩字段,请重新打开数据库! , 0, 成绩管理):returnelsezonghe=allt(zonghe)zonghe=subs (zonghe, 2)endifwait zongheREPL all 总分 with &zongheUSE &sjk&下面这段程序排班名SORT on 班次,总分/d to abcdexyz_. dbfUSE abcdexyz_ dbfCOPY to &sjkUSE &sjkrepl all 班名 with 0ERAS
59、abcdexyz_ dbfGO 1q sb二班次do while tN=1DO while t.REPL 班名 with nskipN=n+1IF 班次qsbqsb二班次EXITENDIFENDDOIF eof()EXITENDIFenddo&结束排班名&下面排校名USE &sjkSORT on 总分/d to abcdexyz_. dbfUSE abcdexyz_ dbfREPL all 校名 with recnOSORT on 班次,校名 to &sjkUSE &sjk&结束排校名*wait 名次己排好! timeout 0. 5 messagebox (总分及名次已排好! “) use
60、&sjk share thisform release *set defa to c:ListlInitclose data allif used(考试库)thenuse in考试库endifuse data、考试库.dbffor i=l to recc 0go ithis, add item (名称)endforthis value二thislist(1)use in考试库Command2 Clickthisform release6、成绩查询。该模块的功能是对每个学生的学生成绩查询和对每个班全部学生成绩的查询。其代码如下:Combol Initclose data allif used(考
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木工班合同(二次结构)
- 2025年度办事处装修与办公家具采购及维护服务合同
- 2025年度办公室文件消毒与消毒剂研发与品牌合作合同
- 2025年度安全生产应急处理与事故处理服务合同
- 报社阳台照明设备节能改造合同2025
- 2025年也门文版办公室租赁合同(含品牌形象推广)
- 艺术馆花园整修合同样本
- 消防二次改造施工合同
- 三农村医疗卫生服务规范指南
- 三农田管理最佳实践方案与指南
- 数 学2024-2025学年人教版七年级数学上册有理数混合运算100题
- 2024年银行考试-农村信用社考试近5年真题附答案
- 人教版小学数学四年级下册第一单元测试卷附答案(共9套)
- 二年级上册100以内加减法竖式计算题200道及答案
- 新沪科版八年级物理第三章光的世界各个章节测试试题(含答案)
- 人教版五年级上册四则混合运算300道及答案
- 非遗国粹川剧变脸的传统文化知识了解原创模板
- 统编版六年级下册道德与法治1-学会尊重-课件(54张课件)
- 5.5.1三角恒等变换(第一课时)课件高一上学期数学人教A版
- 中国智慧物流发展报告
- 导演聘用合同正式(2024版)
评论
0/150
提交评论