您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > VFP数据库系统开发实例(附图)
VFP基本数据库系统开发实例(附图)西南大学计信院导学在VisualFoxpro中开发一个应用系统应该包括需求分析、项目创建、模块设计、运行调试、保存发布到建立帮助等,下面介绍如何把各个模块集成起来,并创建一个应用程序。11.1系统需求分析传统的学生成绩管理方法不仅浪效率低,而且由于管理不规范容易导致各种错误的发生。因此实现一个智能化、系统化的公共计算机成绩管理系统是十分必要和不可缺少的。它将大大减轻管理者的劳动强度,降低出错率,提高管理的效率。该系统可以实现如下功能:1.数据需求通过调查,总结出该应用程序对数据的需求大致有如下这些:(1)学生信息包括学号,姓名,性别,出生日期,系科,备注,照片(2)管理员信息包括用户名,密码,管理员姓名,权限,说明信息(3)学生成绩信息主要包括学号,课程编号,平时成绩,笔试成绩,上机成绩,总评成绩,审核否(4)课程信息包括课程编号,课程名称2.功能需求功能分析的任务是了解用户对数据的处理方法和输出格式。(1)基本数据录入基本数据包括学生信息、管理员信息、学生成绩休息和课程信息等。要求系统能够录入这些数据,并且可以进行修改。在数据录入和修改过程中应保持数据的参照完整性。(2)查询能够查询出学生成绩,和补考人员名单等。(3)学生和管理员信息的维护要求能够根据需要对学生和管理员信息进行维护修改等。(4)成绩的审核根据学生的总评成绩审核学生的计算机成绩是否通过。(5)打印输出打印学生成绩表和补考人员名单等。11.2系统设计1.程序总体结构设计在开始程序设计之前,首先应该将程序的总体结构以层次图的形式表示出来,便于对程序分层设计和实现。图1所示为公共计算机成绩管理系统的功能模块图。图1公共计算机成绩管理系统功能模块2.数据库逻辑设计进行数据库设计的依据有三个:第一是在进行系统调查时由成绩管理员提供的各种处理数据;第二是功能设计结果;第三是数据库设计规范化理论。数据库设计是系统设计的一项基本工作,其效果的好坏,对后续设计、调试、使用、维护等工作关系极大,因此,一定要高度重视这一部分工作。当然,我们不能简单地将数据库设计理解为在计算机上用可视化的方法建立表的过程,其主要工作是建立一种完整、规范的数据模型以支持整个应用系统对数据的要求。根据对实际情况进行分析建立关系模型1)学生信息表(学号,姓名,性别,出生日期,系科,备注,照片)2)管理人员信息表(用户名,密码,管理员姓名,权限,说明信息)3)学生成绩表(学号,课程编号,平时成绩,笔试成绩,上机成绩,总评成绩,审核否)4)补考名单表(学号,姓名,总评成绩,补考成绩)5)课程表(课程编号,课程名称)11.3创建项目VisualFoxpro推荐在项目管理器中开发应用程序,因为项目管理器会为开发工作带来很多方便。在项目管理器中创建一个项目后,应用程序就具备了一个开发框架,然后在这个框架中,再利用项目管理器所提供的强大功能,按照需求来实现应用程序的设计。用户可以启动VisualFoxpro,选择【文件】|【新建】命令,在打开的对话框中,选择“项目”单选按钮,然后单击“新建文件”按钮,接着在“创建”对话框中,输入项目文件名并确定项目路径(本例使用的路径为D:\公共计算机成绩管理系统),然后单击“保存”按钮,即可启动项目管理器。一个完整的应用程序,即使规模不大,也会涉及到多种类型文件,如dbc数据库、dbf表以及菜单、表单、报表、位图等。为了以后的修改、维护工作方便进行,就需要把这些文件放在不同的文件夹中便于管理维护,例如一般把dbc数据库文件、dbf表文件和cdx索引文件放在DATE目录,表单、报表、标签等放在FORMS目录等。11.4数据库的物理设计a)数据库名为公共计算机成绩管理.dbcb)数据表i.学生信息表.dbf学号/C/10,姓名/C/10,性别/L/1,出生日期/D/8,系科/C/30,备注/M/4,照片/G/4ii.管理人员信息表.dbf用户名/C/10,密码/C/10,管理员姓名/C/10,权限/C/4,说明信息/C/20iii.学生成绩表.dbf学号/C/10,课程编号/C/2,平时成绩/N/6/2,笔试成绩/N/6/2,上机成绩/N/6/2,总评成绩/N/6/2,审核否/L/1iv.补考名单表学号/C/10,姓名/C/10,总评成绩/N/6/2,补考成绩/N/6/2v.课程表课程编号/C/2,课程名称/C/14图2公共计算机成绩管理数据库及其表结构11.5界面设计1)创建启动表单下面设计应用程序的封面,主要由一个表单来实现,其效果如图10.4所示。在项目管理器中,打开“文档”选项卡,选择“表单”选项,单击“新建”按钮,在打开的对话框中单击“新建表单”按钮,这时,将弹出一个表单设计器和表单Form1。单击表单设计器工具栏中的标签和命令按钮,分别在表单中添加一个标签控件(采用系统默认名称Labell)和两个命令按钮控件(采用系统默认名称command1和command2)。下面分别设置各对象的主要属性。属性设置见表10.6所示。设置command1对象的click事件代码为:doform密码.scx*打开“密码”表单设置command2对象的click事件代码为:thisform.release*释放本表单Quit*清除事务处理退出VF2)创建身份验证表单在项目管理器中,与主表单的创建方法相类似,可以创建“身份验证”表单的界面如图10.5所示。首先通过表单控件工具栏在表单上添加二个标签控件、一个文本框控件及两个命令按钮控件。其中“密码”表单中各对象的属性设置情况如表10.7所示:设置密码表单的init事件为:Thisform.text1.SetFocus()Thisform.text1.passwordchar='*'设置密码表单的load事件为:SELE1USE密码设置option1对象的click事件代码为:PUBLICM.权限,M.密码sele1SETEXACONLOCAFOR密码=ALLTRIM(Thisform.text1.Value)IFFOUND()M.密码=密码M.权限=权限KUAN=1thisform.releaseELSEThisform.text1.passwordchar=''Thisform.text1.Value='密码错误!'A=INKEY(1)Thisform.text1.Value=''THISFORM.OPTIONGROUP1.VALUE=0Thisform.text1.SetFocus()Thisform.text1.passwordchar='*'KUAN=0ENDIF设置option2对象的click事件代码为:thisform.release*释放本表单clearevent11.6主菜单设计下面利用VisualFoxPro的菜单功能设计应用程序的子系统,其结构示意如图10.8所示。图10.8打开项目管理器中的“其他”选项卡,选中【菜单】项,然后单击“新建”按钮,在弹出的对话框中单击“菜单”按钮,参照总体结构图10.8,在打开的菜单设计器中,设计主菜单,如图10.9所示。图10.9单击菜单项后的“创建”按钮,即可在打开的菜单设计器窗口中创建该菜单项的子菜单。如果要设置命令的快捷键,可以单击其后的选项按钮,然后在打开的对话框中,输入快捷键的名称,如图10.10所示。图10.10最后单击确定按钮,返回到菜单设计器窗口,在“退出”菜单项的文本框中,输入clearevents,然后单击关闭按钮,将菜单保存为“主菜单.mnx”。运行该菜单,其效果如图10.11所示。图10.11接着,创建应用程序的主文件,将其保存为“主程序.prg”。在代码编辑窗口中,输入以下代码:_screen.windowstate=2_screen.caption=公共计算机成绩管理系统_screen.closable=.f._screen.picture=图片\news_2003816214445.jpgcloseallclearallclearsetsysmenuoffbrsetsysmenutosettalkoffsetsafetyoffsetstatusbaroffdoform封面.scxDO菜单1.MPXreadeventsetsysmenutodefaultsetsysmenuonsetstatusbaroncloseallclearallreturn图10.12如图10.12所示,在项目管理器中,将“主程序.prg”设置为主文件,然后选中“主程序.prg”并单击“运行”按钮,即可得到如图10.13所示的效果。图10.13运行主程序后的效果11.7表单设计为了实现和完善“公共计算机成绩管理系统”应用程序的功能,下面通过表单的调用来实现某些特定的底层功能。在此,我们主要介绍“学生信息输入”表单、“成绩查询”表单、“学生信息维护”表单的制作过程,其他的表单制作过程与此类似,读者可以自己完成。1)“学生信息输入”表单(学生信息输入.scx)“学生信息输入”表单主要用于输入学生的信息。首先创建“学生信息输入”表单,然后选择【显示】|【数据环境】命令,在打开的“添加表或视图”对话框中添加“学生信息表”表到数据环境设计器中,如图10.14所示。图10.14接着,设置“学生信息输入”表单的属性,见表10.9所示。然后设置标签和文本框。从数据环境设计器中,将下列字段拖放到表单中规定的位置,生成相应的标签和文本框:“学生信息表”表中的学号、姓名、性别、系科、出生日期、备注等字段。从数据环境直接拖动到表单中定义标签和文本框不仅速度快,而且标签的Coption和Name属性、文本框的Name属性都会自动设置与源字段有关的名字,文本框也会自动与源表中的源字段绑定,效果如图10.15所示。图10.15最后,设置命令按钮组与事件代码。从表单控件工具栏中单击“命令按钮组”工具,在窗口的相应位置单击,创建命令按钮组控件。在属性窗口,分别设置各个command的属性,并且在编辑状态下,对按钮命令组中的command进行排列与设定。双击该控件,在打开的代码编辑窗口中,输入Click事件的代码。Command1的Click事件的代码:select学生信息表appendblankthisform.refresh()Command2的Click事件的代码:SETEXACTonIFALLTRIM(学号)=''DELETEPACKENDIFIFthisform.Optiongroup1.Option1.value=1REPLACE性别with.t.ELSEREPLACE性别with.f.endifCommand3的Click事件的代码:if!bof()SKIP-1elsegotopENDIFIF性别thisform.Optiongroup1.Option1.value=1thisform.Optiongroup1.Option2.value=0ELSEthisform.Optiongroup1.Option1.value=0thisform.Optiongroup1.Option2.value=1endifthisform.refresh()Command4的Click事件的代码:if!eof()skipelsegobottomENDIFIF性别thisform.Optiongroup1.Option1.value=1thisform.Optiongroup1.Option2.value=0ELSEthisform.Optiongroup1.Option1.value=0thisform.Optiongroup1.Option2.value=1endifthisform.refresh()Command5的Click事件的代码:SETEXACTonGOtopscanIFALLTRIM(姓名)=''DELETEPACKENDIFendscanusereleasethisform关闭该窗口,保存代码,然后单击项目管理器中的运行按钮,可以得到如图10.16所示的表
本文标题:VFP数据库系统开发实例(附图)
链接地址:https://www.777doc.com/doc-5596731 .html