

(1)题库维护模块实现5个主要功能:选择题维护,填空题维护,简答题维护,程序设计维护和章节表维护。
(2)题库维护模块的窗体设计效果如图4.10所示。
A.整个窗体的初始化处理。处理过程:首先设置数据库的连接,然后对各题型界面的初始化,最后完成对界面各个控件的初始化。
B.各题型的属性页的初始化处理。处理过程:读取题库中的试题记录,将记录信息显示到界面的数据网格中供用户浏览,当用户选择其中某条记录时,在数据的编辑区域中显示数据的详细内容,供用户查看以及修改和删除。
4.6.1 选择题的操作
选择题的修改操作。处理过程:检查用户输入数据的合法性,确认无误后,将数据更新到数据库的选择题信息表中,并提示用户更新成功,否则提示用户更新失败。
选择题的删除操作。处理过程:将用户选择的选择题目从数据库中删除。
选择题的查询操作。过程处理:根据用户输入的查询条件,从数据库的选择题表中查询符合条件的选择题,并显示到界面上。
4.6.2 填空题的操作
填空题的修改操作。处理过程:检查用户输入数据的合法性,确认无误后,将数据更新到数据库的填空题信息表中,并提示用户更新成功,否则提示用户更新失败。
填空题的删除操作。处理过程:将用户选择的填空题目从数据库中删除。
填空题的查询操作。处理过程:根据用户输入的查询条件,从数据库的填空题表中查询符合条件的填空题,并显示在界面上。
(1)试卷生成模块实现两个主要功能:将用户选择的试题加入到试卷中,以及最后形成完整的试卷,并保存到数据库中。
(2)试卷生成模块的窗体设计效果如图4.13所示。
(3)试卷生成。
功能:从试题库中读取所有有效试题,并按章节,题型显示到界面中,供用户选择,用户选择需要的题目后,生成试卷。
输入试题编号,分值。
处理
A.生成窗体启动。
B.从试题库中读取全部试题,并按章节,题型显示。
C.待用户选择试题,并为试题设置分值后,将试题加入试卷表。
D.将试卷入库。
输出试卷信息表。
4.8 试卷抽取模块
试卷抽取模块负责在试卷生成模块的试卷库中抽取试题,并以Word形式输出试卷以及试卷答案,同时也负责删除试卷库中已废除的试卷记录。试卷抽取模块功能树如4.14所示。
(1)取模块实现4个主要功能:浏览试卷题型比例,预览并输出试卷,预览并
输出试卷答案和删除试卷。
(2)试卷抽取模块的窗体设计效果如图4.15所示。
(3)试卷抽取模块。
功能:从试卷库中抽取试卷,并将试卷和答案输出到Word文档中,同时也负责
从试卷库中删除试卷。
输入试卷代号。
A.试卷抽取窗体。
B.显示试卷中各种类型题的分值比例。
C.输出用户选择的试卷到Word文档中供用户预览。
D.输出试卷相应的答案到Word文档中供用户预览。
E.如果用户选择删除试卷,则将用户指定的试卷从试卷库中删除。
输出试卷和试卷答案。
(4)抽取模块的主要代码(uDep.pas)
A.该单元使用的其他单元文件udata。
B.窗体创建时的一些初始化操作。处理过程:首先设置数据库连接,然后初始化界面显示内容,主要是从试卷库中查出所有试卷,显示在试卷网格中。
//抽取试卷模块 初始化工作
Procedure TfrmSJCQ.FormCreate(Sender: TObject);
Begin
SJ_ADOQ.Connection := dmPer.acPer ;
SJT_ADOQ.Connection := dmPer.acPer ;
SJTXX_ADOQ.Connection := dmPer.acPer;
XT_ADOQ.Connection := dmPer.acPer;
init;
end;
Procedure TfrmSJCQ.init;
Begin
SJ_ADOQ.Close; //查出现有的试卷
预览试卷后自动生成的Word文档。
E.预览并输出试卷答案。处理过程:首先检查是否生成试卷,若没有生成,则提示用户在生成后才能预览/输出试卷答案;在确认试卷生成后,建立与Word 文档的连接并设置Word文档的输出格式,然后根据此前抽取的试卷,从试题库中读取相应的试题答案,按照试题的类型输出到Word文档中。
F.删除试卷的处理,处理过程:首先提示用户删除操作不可恢复,在用户确认删除后,根据用户选择的试卷代号,将该试卷以及相关的试题从试题库中删除,并提示试卷删除成功。
4.9调试分析
4.9.1 测试目的
为保证软件的质量和可靠性,测试验证“试卷生成系统”是否达到了设计指标。
4.9.2 测试项目表
4.9.3 测试结论
通过对系统的所有模块进行测试,系统运行正常,达到预期需求和设计目的。但系统不够安全,代码的处理也不是很精简,有待进一步的完善。
5 关键技术
5.1 数据库连接
本系统采用ADO技术动态连接数据库。ADO(ActiveX Data Objects)是微软提供的一种对多种数据格式的高层接口,该接口已经逐渐成为了一种访问数据库的新标准,许多高级编程语言都提供了对ADO接口的支持。Delphi中提供了ADO组件用于通过ADO接口访问数据库。
一个基于ADO的数据库应用程序通常由以下几个部分组成:
A.用户界面:用户主要通过用户界面对数据源进行访问,其主要部件是数据敏感控件,例如TDBGrid和TDBEdit等。也可以通过程序实现所有数据的访问,此时数据敏感控减是可选的。
B.连接构件:连接构件用于连接到ADO数据库,在数据集构件和数据库之间提供通道。可以使用数据集控件的ConnectionString属性设置连接,也可以直接设置TADOConnection组件,然后通过数据集控件的Connection属性和TADOConnection控件相连接。
C.数据集构件:数据集构件可以是一个或多个,它用于从数据库引入数据,例如使用TADOTable控件从ADO数据表中读取数据。
D.TdataSource:一个或几个TdataSource构件,用于连接数据集与数据控件。
正是因为ADO的众多优点,近几年来通过ADO连接的数据库应用程序成为了开发热点和主流,而BDE正在逐渐退出主流。
5.2 Delphi与Word之间的融合技术
Delphi程序启动Word采用CreateOleObjects的方法来启动Word,调用VBA代码,具体实现过程为:
首先使用GetActiveOleObject(''Word.Application'')判断当前内存中是否存在Word程序,如果存在,则直接连接,如果没有Word程序,则使CreateOleObject(''Word.Application'')启动Word。
Delphi程序新建Word文稿
格式:WordDocuments.Add(Template,NewTemplate,DocumentType,Visible)
Template: 使用模板的名称,
NewTemplate: 新建文档的类型,True表示为模板,False表示为文档
DocumentType: 文档类型,默认为空白文档
Visible: 打捞的窗口是否可见
Delphi程序打开Word文稿
格式:WordDocuments.Open(FileName,ConfirmConversions,ReadOnly,PassWordDocument,PasswordTemplate,Revent,WritePasswordDocument,WritePassWordTemplate,Format,Encoding,Visible)
FileName: 文档名(包含路径)
Confirmconversions: 是否显示文件转换对话框
ReadOnly: 是否以只读方式打开文档
AddToRecentFiles: 是否将文件添加到"文件"菜单底部的最近使用文件列表中
PassWordDocument: 打开此文档时所需要的密码
PasswordTemplate: 打开此模板时所需要的密码
Revert: 如果文档已经,是否重新打开文档
WritePasswordDocument: 保存对文档更改时所需要的密码
WritePasswordTemplate: 保存对模板进行更改时所需要的密码
Format: 打开文档时所需使用的文件转换器
Encoding: 所使用的文档代码页
Visible: 打开文档的窗口是否可见
转贴于 酷文网-论文下载中心 http://www.coolwen.net