当前位置:文档之家› Visual Foxpro 6.0在试题库管理系统中的应用

Visual Foxpro 6.0在试题库管理系统中的应用

Visual Foxpro 6.0在试题库管理系统中的应用
Visual Foxpro 6.0在试题库管理系统中的应用

Visual Foxpro 6.0在试题库管理系统

中的应用

一、问题的提出

目前,大多数学校在进行期末考试时,基本上是由任课教师自行手工出题,要求A、B 卷各一份,且付标准答案。对于教师而言,每次都要查找大量资料,精心选题,花费很多时间,重复做同样的工作,如果每门课都建立了试题库,能根据需要自动生成相应的试题和标准答案,这不但能减轻教师的负担,又为教考分离带来了更多的方便和公正。

Visual FoxPro 6.0作为XBASE数据库家族的新成员,由于具有强大的查询与管理功能,有多种命令和函数,提供了“项目管理器”并引入了数据库表的新概念,使自由表之间有了相互联系。同时它扩大了对SQL语言的支持(8种),大量使用可视化的界面操作工具,支持面向对象的程序设计,允许用户对“对象”和“类”定义并编写相应代码它还支持网络应用,可以与W及E在内的微软其它应用软件共享数据等优点。

所以用它来建立一些课程的数据库,的确很实用,本文主要论述它在小型试题库管理系统中的设计过程。

二、系统分析

试题库管理系统只少应包括以下几个方面的内容:

(一)统中建立各种题型的数据库。如填空题库、简答题库、计算题库、选择题库、分析题库等。

(二)利用本系统能完成如下操作:随机试卷自动生成;手工试卷抽取;试卷抽取后打印。

(三)系统对数据库中的数据的管理,包括浏览、添加、查询、插入、删除、修改、编辑、统计及打印等。

(四)试卷生成后,能够自动产生标准答案。

(五)试卷批改完后,据输入成绩,能够产生相关的数据分析和图表分析。

据以上分析,笔者画出了如下的试题库管理系统流程图,它概括了各个模块功能及作用,是进行设计的依据:

三、系统设计

(一)自由表的建立(.dbl表)

根据各学科的考核特点,编写相应的数据库,题型的种类即为数据库的个数,并且每个数据库的字段名、数据类型及长度如下:

TNO(题号)(C,5)NANDU(难度)(C,1)

XGXS(相关系数)(C,2)TIMU(题目)(M字段)

DAAN(答案)(M字段)

每类题库以TNO为普通索引,以TNO为升序排列,其中NANDU分为a、b、c、d 四种,XGXS的设置是防止相同内容在不同题型中出现。

(二)数据库表的建立

上述自由表之间无任何关系,应使之建成为数据库表,这对表单的建立有很大帮助,它可以提供表单运行的数据环境。具体方法是:单击菜单按钮,选择新建数据库,然后将各题库自由表添入数据库表中,并保存下来,取名为试题库.dbc。

(三)试题库管理系统各大模块程序设计

这其中包含了表单的设计、编程,报表的设计以及和总菜单项的结合。限于篇幅,现对主要模块简单介绍一下。

1.自动选题子模块。进入VFP6.0,新建一表单,添加入表单抽取试题的数据环境———数据库表:试题库,运用表单的操作工具,向表单元加入需要的文本框、组合框、命令按钮等。在每类的题型后面,添入“微调控件”,形如:“Spinner1”规定每类“微调控件”的属性范围,即每类题型相应规定的抽题量,点击每类微调控件,设置其属性的

Spinner High Value 和Spinner Low Value 的值,如填空题:Spinner High Value=20,Spinner Low Value =0,双击“Spinner1”按钮,进入编程过程“Click”事件。源程序略。相应的生成题目放在临时表Ls1.dbf中。(其它题型如选择题,简答题……分别放在临时表

Ls2.dbf,Ls3.dbf,……中),此表还有两个命令按钮:“试卷生成”、“取消”;其中“试卷生成”的Click命令源程序是把Ls1.dbf,Ls2.dbf,Ls3.dbf,……等全部临时表赋给新建临时表文件名为临时.dbf,为试卷打印做准备。“取消”按钮不进行任何操作,其“click”事件源程序为:Thisform .release (释放内存)。

建立完后,取名为:自动选题.scx并保存,该模块执行时将呈现出一表单,可以通过提示操作“数码器”设置各种题型的选择数量,设置完毕后,点击“试卷生成”按钮,即可生成一份试卷。点击“取消”按钮可退出本次操作。

2.试题库管理模块。充分利用VFP6.0提供的简单、有效的表单向导设计器,设计出管理各种题库的表单模块,具体操作可以参照有关书籍,例如填空题的表单设计:点击VFP6.0新建按钮,选择新建表单项,点击向导图标按钮,选择表单向导,再点击“确定”。进入步骤1,选择先前已建立的数据库表“试题库.dbf”,在其中选择如“填空题.dbf”,选择其全部字段,有题号,难度,相关系数,题目,答案;依次完成步骤2;步骤3;步骤4。建立完表单向导后,打开它,运用各种工具进行排版,使其美观化。

(1)字体为9号字,TIMU,NANDU字段后的列表框拉长,满足显示要求。

(2)单击属性框中“Picture”一项,插入一背景图。

(3)表单命令为:填空题管理.scx

该模块运行后呈现出一表单,其中包括“第一个”、“前一个”、“下一个”、“最后一个”共四个浏览记录的按钮,通过操作可清晰再现每道题的题号、相关系数、难度、题目内容及答案。还有“查找”、“打印”、“添加”、“编辑”、“删除”、“退出”等命令按钮,可实现对每个题型库的管理。

3.报表打印模块。主要用来打印整个试题库及答案,首先将六大题库合并为一个试题库,新建两个基本表,分别为试题.dbf和答案.dbf,以此两个表为基础,再与向导和类库结合,分别新建两个报表试题.frx和答案.frx,运行报表预览效果,也可进行打印输出。

4.菜单设计。新建一下拉式菜单,第一层主菜单有:选题,试题库管理,打印,成绩统计,帮助,退出,下面各层又有子菜单,具体菜单如下:

菜单和各个模块之间的链接是通过简单编程来实现的,现以选题菜单来说明,在菜单设计器窗口中选择菜单名称“选题”,在“结果”框中选择“子菜单”选项,并单击其右侧的“创建”按钮进入过程区,编程:Do Form C: \* * * \form\ 自动选题.scx。其它子菜单项类似,编程如下:

手工选题:Set default to c: \* * * \form

Do Form 手工选题.scx

打印试卷:Set default to c: \* * * \form

Do Form 打印试卷.scx

………

5.其它设计。核心的模块设计完之后,就要考虑给整个试题库管理系统添上一个精美的封面和一个密码表单,封面主要是用来登陆和退出,密码是授权合法者使用,防止非法侵入,现给出密码表单的源程序。

I=I+1

If I<=3

If Thisform.Text.value=“###””

Clear

Set default to c: \* * * \Menu

Do 菜单 .mpr

Thisform release

Else

MessageBox(“密码错,请重新输入!”)

Thisform.Text.value=“”

Thisform.Text.Setfocus

Endif

Else

MessageBox(“禁止进入系统”

QuitEndif

6.主程序设计。主程序是试题库管理系统各个部分连接的核心,源程序如下:

Set talk off

Set default to c: \* * *

Set path to c: \* * * \Date;c: \* * * \Form;

C: \* * * \Menu;\* * * \Report

Clear

Do Form 封面

Modi wind screen titl“试题库管理系统”

Clear

*以上为初始化环境代码

Read Event

Quit

*恢复环境代码设置在“退出”菜单项

7.项目建立。利用项目管理器对试题库管理系统中所有内容进行统一管理。步骤是:将所建的数据库表;自由表;表单;报表;用到的VFO6.0类库wizstnd、wizbase、wizbitns;程序;菜单;图片文件一并加入项目管理器中。(注意:务必设置系统运行的主程序)

8.连编。连编可执行文件,成功连编后,取名为,再将其拖至桌面,这样一个完整的试题库管理系统就基本上设计完毕。

四、结语

数据库的设计是一项复杂的系统工程,本文仅从小范围内的应用来论述了它的整个设计过程,可以说是“麻雀虽小,五脏俱全”,对计算机专业学生的课程设计和毕业设计,掌握相关技术大有裨益;同时试卷自动化将在以后的考试改革中占有重要的一席,推广应用Visual Foxpro 6.0在试题库管理系统中的应用,对各校公正地考核教学质量,提高管理水平也能起到重要的作用。

相关主题
文本预览
相关文档 最新文档