论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
4.6 抽取现有试卷
为了让用户能很方便的已生成的试卷,本系统增加了抽取现有试卷这个功能模块。用户能通过这个模块能很方便的对现有试卷进行删除和预览,同时也能预览用户所选择的试卷的答案。其主要过程如下:
(1)用户进入抽取现有试卷界面,系统自动搜索数据库表SJ中信息,显示现有试卷的“代号”,“试卷创建者”,“试卷难度”。
(2)用户选择一份已有试卷,系统自动从数据库表SJT中搜索该试卷试题的“编号”, “分值”, “难度”。
(3)预览试卷,系统根据数据库表SJT中信息搜索题库试题内容,并按设置好的试卷模板导入Word中,生成一份完整的试卷,并以*.doc文件的形式打开。
(4)保存答案,系统根据数据库表SJT中信息搜索题库试题答案,并按试卷模板以 *.doc文件的形式打开。
(5)删除试卷,系统删除试卷在数据库表SJT中的信息,系统显示“删除试卷成功”。
抽取现有试卷算法的具体流程可用图4-11直观说明。
SHAPE \* MERGEFORMAT
图4-11 抽取现有试卷流程图
本系统是一个试卷生成管理系统,重点在于组卷,所以主要是对关于试卷生成的实现的说明。本系统包括抽取现有试卷,自动生成试卷和手动生成试卷三大功能。
5.1 登录模块
登录界面是用户最先看到的系统的界面,所以直观上给用户的感觉很重要,所以做一个好的界面,提高软件的亲和力。本管理系统登录界面如图5-1所示。
登陆功能实现的核心代码如下。
图5-1 系统登陆界面
Private Sub cmdOK_Click() ''进入..确定
On Error GoTo Err
Dim txtSql As String
UserName = ""
If Trim(txtUserName.Text) = "" Then ''判断用户名是否为空
MsgBox "请输入帐号!", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Exit Sub
End If
If Trim(txtPassword.Text) = "" Then '判断密码是否为空
MsgBox "请输入密码!", vbOKOnly + vbExclamation, "警告"
txtPassword.SetFocus
Exit Sub
End If
''判断是否有这个用户
txtSql = "select * from 用户信息表 where 用户名称 = '" & txtUserName.Text & "'"
If rs.State Then rs.Close
rs.Open txtSql, CN, adOpenStatic, adLockOptimistic
If rs.EOF = True Then ''如果没有这个用户
MsgBox "没有这个帐号,请重新输入帐号!", vbOKOnly + vbExclamation, "警告"
txtUserName.Text = ""
txtPassword.Text = ""
txtUserName.SetFocus
如果输入的用户名和密码正确,将对用户的权限进行判断,如果是管理员就进入到管理员模式;如果是教务管理员就进入到教务管理员模式;如果是教师就进入到教师模式;如果用户没有权限,则会警告。具体代码如下:
If Trim(rs.Fields(1)) = Trim(txtPassword.Text) Then
''判断权限
UserPrivs = ""
If Trim(rs.Fields(2)) = "管理员" Then ''管理员权限
IsUserMode = 1
ElseIf Trim(rs.Fields(2)) = "教务管理员" Then ''教务管理员权限
IsUserMode = 2
ElseIf Trim(rs.Fields(2)) = "教师" Then ''教师权限
IsUserMode = 3
Else ''无权
IsUserMode = 0
MsgBox "你没有权限!", vbExclamation, "警告"
End
End If
UserPrivs = Trim(rs.Fields(2))
UserName = Trim(txtUserName.Text)
Unload Me
Mainfrm.Show
Exit Sub
rs.Close
miCount = miCount + 1
If miCount = 3 Then ''三次错误,自动退出程序
登录系统后进入主界面如图5-2所示。
图5-2 软件主界面
软件主界面是各个功能模块的调用接口,主要有以下功能:
(1)题库已有试卷:点击后进入抽取现有试卷的功能界面。
(2)自动生成试卷:点击后进入自动生成试卷的功能界面。
(3)手动生成试卷:点击后进入手动生成试卷界面。
(4)题库录入: 点击后进入试题录入界面。
(5)数据备份:点击后自动备份数据库。
(6)关于菜单:对于本系统版权的说明。
5.2 试卷生成管理
试卷生成管理分为三个部分:题库已有试卷、自动生成试卷和手动生成试卷。下面详细讨论各部分功能的实现。
1. 题库已有试卷
如果题库中已经存在试卷,可以直接从已经存在的试卷中抽取试卷,包括如下操作:
v 试卷预览:通过WORD文档打开试卷,可以浏览已有试卷模版。
v 保存答案:保存所选试卷的答案。
v 删除试卷:彻底清除已存试卷的任何信息。
其界面如图5-3所示。
图5-3 抽取现有试卷
删除试卷的核心代码段如下:
Private Sub Command3_Click() '删除试卷
Dim rst As Recordset
If MsgBox("是否删除该试卷?", vbYesNo, "确认") = vbYes Then
strSQl = "select * from SJ where SJDH= '" & MStry1.TextMatrix(MStry1.RowSel, 0) & "'"
'确定操作的表和方式
Set rst = QueryExt(strSQl)
rst.Delete
rst.Close
strSQl = "select * from SJT where SJDH= '" & MStry1.TextMatrix(MStry1.RowSel, 0) & "'"
'确定操作的表和方式
Set rst = QueryExt(strSQl)
Do Until rst.EOF
rst.Delete
rst.MoveFirst
Loop
rst.Close
MsgBox "删除成功", vbExclamation
InitGrid1
InitGrid2