📄 modifypaper.vb
字号:
Me.OptEssayQ.ForeColor = System.Drawing.SystemColors.ControlText
Me.OptEssayQ.Cursor = System.Windows.Forms.Cursors.Default
Me.OptEssayQ.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.OptEssayQ.Appearance = System.Windows.Forms.Appearance.Normal
Me.OptEssayQ.TabStop = True
Me.OptEssayQ.Checked = False
Me.OptEssayQ.Visible = True
Me.OptEssayQ.Name = "OptEssayQ"
Me.OptMulSel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.OptMulSel.Text = "多选题"
Me.OptMulSel.Size = New System.Drawing.Size(81, 17)
Me.OptMulSel.Location = New System.Drawing.Point(314, 32)
Me.OptMulSel.TabIndex = 4
Me.OptMulSel.CheckAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.OptMulSel.BackColor = System.Drawing.SystemColors.Control
Me.OptMulSel.CausesValidation = True
Me.OptMulSel.Enabled = True
Me.OptMulSel.ForeColor = System.Drawing.SystemColors.ControlText
Me.OptMulSel.Cursor = System.Windows.Forms.Cursors.Default
Me.OptMulSel.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.OptMulSel.Appearance = System.Windows.Forms.Appearance.Normal
Me.OptMulSel.TabStop = True
Me.OptMulSel.Checked = False
Me.OptMulSel.Visible = True
Me.OptMulSel.Name = "OptMulSel"
Me.OptSglSel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.OptSglSel.Text = "单选题"
Me.OptSglSel.Size = New System.Drawing.Size(81, 17)
Me.OptSglSel.Location = New System.Drawing.Point(220, 32)
Me.OptSglSel.TabIndex = 3
Me.OptSglSel.CheckAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.OptSglSel.BackColor = System.Drawing.SystemColors.Control
Me.OptSglSel.CausesValidation = True
Me.OptSglSel.Enabled = True
Me.OptSglSel.ForeColor = System.Drawing.SystemColors.ControlText
Me.OptSglSel.Cursor = System.Windows.Forms.Cursors.Default
Me.OptSglSel.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.OptSglSel.Appearance = System.Windows.Forms.Appearance.Normal
Me.OptSglSel.TabStop = True
Me.OptSglSel.Checked = False
Me.OptSglSel.Visible = True
Me.OptSglSel.Name = "OptSglSel"
Me.OptRorW.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.OptRorW.Text = "判断题"
Me.OptRorW.Size = New System.Drawing.Size(81, 17)
Me.OptRorW.Location = New System.Drawing.Point(126, 32)
Me.OptRorW.TabIndex = 2
Me.OptRorW.CheckAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.OptRorW.BackColor = System.Drawing.SystemColors.Control
Me.OptRorW.CausesValidation = True
Me.OptRorW.Enabled = True
Me.OptRorW.ForeColor = System.Drawing.SystemColors.ControlText
Me.OptRorW.Cursor = System.Windows.Forms.Cursors.Default
Me.OptRorW.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.OptRorW.Appearance = System.Windows.Forms.Appearance.Normal
Me.OptRorW.TabStop = True
Me.OptRorW.Checked = False
Me.OptRorW.Visible = True
Me.OptRorW.Name = "OptRorW"
Me.OptFill.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.OptFill.Text = "填空题"
Me.OptFill.Size = New System.Drawing.Size(81, 17)
Me.OptFill.Location = New System.Drawing.Point(32, 32)
Me.OptFill.TabIndex = 1
Me.OptFill.CheckAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.OptFill.BackColor = System.Drawing.SystemColors.Control
Me.OptFill.CausesValidation = True
Me.OptFill.Enabled = True
Me.OptFill.ForeColor = System.Drawing.SystemColors.ControlText
Me.OptFill.Cursor = System.Windows.Forms.Cursors.Default
Me.OptFill.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.OptFill.Appearance = System.Windows.Forms.Appearance.Normal
Me.OptFill.TabStop = True
Me.OptFill.Checked = False
Me.OptFill.Visible = True
Me.OptFill.Name = "OptFill"
Me.Controls.Add(MainFrame)
Me.Controls.Add(CmdReport)
Me.Controls.Add(CmdExit)
Me.Controls.Add(FrameSel)
Me.MainFrame.Controls.Add(OptFrame)
Me.MainFrame.Controls.Add(AddQ)
Me.MainFrame.Controls.Add(DelQ)
Me.MainFrame.Controls.Add(QstList)
Me.MainFrame.Controls.Add(DataLib)
Me.MainFrame.Controls.Add(LblPaper)
Me.MainFrame.Controls.Add(LblTestLib)
Me.OptFrame.Controls.Add(CmdLast)
Me.OptFrame.Controls.Add(CmdNext)
Me.OptFrame.Controls.Add(CmdPrev)
Me.OptFrame.Controls.Add(CmdFirst)
Me.OptFrame.Controls.Add(CmdFilter)
Me.FrameSel.Controls.Add(OptEssayQ)
Me.FrameSel.Controls.Add(OptMulSel)
Me.FrameSel.Controls.Add(OptSglSel)
Me.FrameSel.Controls.Add(OptRorW)
Me.FrameSel.Controls.Add(OptFill)
CType(Me.DataLib, System.ComponentModel.ISupportInitialize).EndInit()
End Sub
#End Region
#Region "升级支持"
Private Shared m_vb6FormDefInstance As frmModifyPaper
Private Shared m_InitializingDefInstance As Boolean
Public Shared Property DefInstance() As frmModifyPaper
Get
If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then
m_InitializingDefInstance = True
m_vb6FormDefInstance = New frmModifyPaper()
m_InitializingDefInstance = False
End If
DefInstance = m_vb6FormDefInstance
End Get
Set
m_vb6FormDefInstance = Value
End Set
End Property
#End Region
Dim dbrs As ADODB.Recordset
'UPGRADE_WARNING: 数组 QName 的下限已从 1 更改为 0。 单击以获得更多信息:“ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1033"”
Dim QName(5) As String
Dim Ttype As Byte
Private Sub AddQ_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles AddQ.Click
Dim r As Boolean
Dim QSerial As Integer
If Not dbrs.EOF And Not dbrs.BOF Then '判断游标位置的记录不为空
QSerial = QPaper.LastQSerial + 1 '题目的试题编号为最后1题的编号加1
'调用QPaper的AddQuestion方法向试卷中添加题目
r = QPaper.AddQuestion(QSerial, dbrs.Fields("QuestionID").Value, Ttype, dbrs.Fields("Score").Value)
If Not r Then
MsgBox("添加试题发生错误,请检查试卷中是否已经有该题目", MsgBoxStyle.Critical, "添加失败")
Else
ListQst() '更新列表框的显示
End If
Else
MsgBox("请正确选择要加入试卷的题目", MsgBoxStyle.Critical, "添加失败")
End If
End Sub
Private Sub cmdCancel_Click()
Me.Close()
End Sub
Private Sub CmdExit_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CmdExit.Click
Me.Close()
End Sub
Private Sub CmdFilter_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CmdFilter.Click
frmQuerryS.DefInstance.dbrs = dbrs '设置查询窗体的数据集
frmQuerryS.DefInstance.ShowDialog() '显示查询窗体
dbrs.Filter = frmQuerryS.DefInstance.QuerryString '将查询窗体的设置结果作为数据集的过滤条件
If dbrs.RecordCount < 1 Then
MsgBox("没有满足查询条件的记录", MsgBoxStyle.Critical, "操作无法完成")
dbrs.Filter = ""
End If
frmQuerryS.DefInstance.Close() '移除查询窗体
End Sub
Private Sub CmdFirst_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CmdFirst.Click '关闭当前的数据集游标将其移至第1条记录
If dbrs.RecordCount > 0 Then
dbrs.MoveFirst()
End If
End Sub
Private Sub CmdLast_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CmdLast.Click '将当前数据集的游标移至最后1条记录
If dbrs.RecordCount > 0 Then
dbrs.MoveLast()
End If
End Sub
Private Sub CmdNext_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CmdNext.Click '将当前的数据集游标后移
If Not dbrs.EOF Then
dbrs.MoveNext()
End If
End Sub
Private Sub CmdPrev_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CmdPrev.Click '将当前的数据集游标前移
If Not dbrs.BOF Then
dbrs.MovePrevious()
End If
End Sub
Private Sub ListQst()
dbrs.Close() '关闭用户正在访问的题库
QstList.Items.Clear() '清空试卷列表框
Dim iCount As Integer
Dim Qstring As String
For iCount = 1 To QPaper.LastQSerial '依次向试卷列表框中加入试卷题目
Qstring = QPaper.GetQuestion(iCount)
If Qstring <> "" Then
QstList.Items.Add(Qstring)
End If
Next
dbrs.Open() '题库打开
DataLib.DataSource = dbrs '显示当前的题库
DataLib.CtlRefresh()
End Sub
Private Sub CmdReport_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CmdReport.Click
Me.Hide() '将试题修改窗体隐藏
dbrs.Close() '关闭当前题库的数据集
QPaper.ReportToFile("varFile.tmp") '调用QPaper类的ReportToFile方法,将试卷输出到文件
frmReport.DefInstance.FileName = "varFile.tmp" 'frmReport窗体显示已生成的文件
Kill("varFile.tmp") '删除文件
frmReport.DefInstance.ShowDialog() '显示frmReport窗体
dbrs.Open() '打开题库数据集
Me.ShowDialog() '显示试卷修改窗体
End Sub
Private Sub DelQ_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles DelQ.Click
If QstList.SelectedIndex < 0 Then '如果没有选中列表框中的选项
MsgBox("请选择要删减的题目", MsgBoxStyle.Critical, "错误")
Exit Sub
End If
Dim S As String
Dim p As Short
Dim RCount As Integer
S = QstList.Text '获取列表框控件的选中项
p = InStr(S, ".") '查找选项中的"."位置
RCount = Val(VB.Left(S, p - 1)) '获取试题的编号
QPaper.DelQuestion(RCount) '调用QPaper对象的DelQuestion方法删除题目
QstList.Items.RemoveAt(QstList.SelectedIndex) '从列表框中删除掉相应选项
End Sub
Private Sub frmModifyPaper_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
QName(1) = "填空题"
QName(2) = "判断题"
QName(3) = "单选题"
QName(4) = "多选题"
QName(5) = "问答题"
MainFrame.Text = "试题选择"
dbrs = DataEnv.rsFillingQ '设定要访问的数据集为填空题数聚集
dbrs.Open() '打开数据库
DataLib.DataSource = dbrs '显示当前数据集的内容
DataLib.CtlRefresh()
OptFill.Checked = True '选中第1个单选按钮
Ttype = 1
ListQst() '在列表框中列出试卷的题目
End Sub
'UPGRADE_WARNING: Form 事件 frmModifyPaper.Unload 具有新的行为。 单击以获得更多信息:“ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup2065"”
Private Sub frmModifyPaper_Closed(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Closed
dbrs.Close()
'UPGRADE_NOTE: 在对对象 dbrs 进行垃圾回收前,不可以销毁该对象。 单击以获得更多信息:“ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup1029"”
dbrs = Nothing
End Sub
'UPGRADE_WARNING: 初始化窗体时可能激发事件 OptEssayQ.CheckedChanged。 单击以获得更多信息:“ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup2075"”
Private Sub OptEssayQ_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles OptEssayQ.CheckedChanged
If eventSender.Checked Then
dbrs.Close()
dbrs = DataEnv.rsEssayQ
dbrs.Open()
DataLib.DataSource = dbrs
DataLib.CtlRefresh()
LblTestLib.Text = "问答题题库"
Ttype = 5
End If
End Sub
'UPGRADE_WARNING: 初始化窗体时可能激发事件 OptFill.CheckedChanged。 单击以获得更多信息:“ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup2075"”
Private Sub OptFill_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles OptFill.CheckedChanged
If eventSender.Checked Then
dbrs.Close()
dbrs = DataEnv.rsFillingQ
dbrs.Open()
DataLib.DataSource = dbrs
DataLib.CtlRefresh()
LblTestLib.Text = "填空题题库"
Ttype = 1
End If
End Sub
'UPGRADE_WARNING: 初始化窗体时可能激发事件 OptMulSel.CheckedChanged。 单击以获得更多信息:“ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup2075"”
Private Sub OptMulSel_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles OptMulSel.CheckedChanged
If eventSender.Checked Then
dbrs.Close()
dbrs = DataEnv.rsMultiSelQ
dbrs.Open()
DataLib.DataSource = dbrs
DataLib.CtlRefresh()
LblTestLib.Text = "多选题题库"
Ttype = 4
End If
End Sub
'UPGRADE_WARNING: 初始化窗体时可能激发事件 OptRorW.CheckedChanged。 单击以获得更多信息:“ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup2075"”
Private Sub OptRorW_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles OptRorW.CheckedChanged
If eventSender.Checked Then
dbrs.Close()
dbrs = DataEnv.rsRorWQ
dbrs.Open()
DataLib.DataSource = dbrs
DataLib.CtlRefresh()
LblTestLib.Text = "判断题题库"
Ttype = 2
End If
End Sub
'UPGRADE_WARNING: 初始化窗体时可能激发事件 OptSglSel.CheckedChanged。 单击以获得更多信息:“ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup2075"”
Private Sub OptSglSel_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles OptSglSel.CheckedChanged
If eventSender.Checked Then
dbrs.Close()
dbrs = DataEnv.rsSingleSelQ
dbrs.Open()
DataLib.DataSource = dbrs
DataLib.CtlRefresh()
LblTestLib.Text = "单选题题库"
Ttype = 3
End If
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -