⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmdotest.frm

📁 自测考试系统
💻 FRM
📖 第 1 页 / 共 3 页
字号:
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   210
         Index           =   0
         Left            =   300
         TabIndex        =   14
         Top             =   600
         Width           =   315
      End
   End
   Begin VB.Frame frmAnswer 
      Caption         =   "问答题答案"
      Height          =   5160
      Index           =   4
      Left            =   6120
      TabIndex        =   6
      Top             =   360
      Width           =   3945
      Begin VB.TextBox txtanswer 
         Height          =   4485
         Left            =   180
         ScrollBars      =   3  'Both
         TabIndex        =   7
         Top             =   510
         Width           =   3585
      End
      Begin VB.Label lblanswer 
         AutoSize        =   -1  'True
         Caption         =   "答案"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   240
         Left            =   120
         TabIndex        =   8
         Top             =   240
         Width           =   480
      End
   End
   Begin VB.TextBox txtTest 
      Height          =   6330
      Left            =   240
      MultiLine       =   -1  'True
      ScrollBars      =   2  'Vertical
      TabIndex        =   3
      Text            =   "frmdotest.frx":0000
      Top             =   405
      Width           =   5625
   End
   Begin VB.PictureBox picNavigation 
      AutoSize        =   -1  'True
      BorderStyle     =   0  'None
      Height          =   360
      Left            =   480
      ScaleHeight     =   360
      ScaleWidth      =   5100
      TabIndex        =   2
      Top             =   6960
      Width           =   5100
      Begin VB.ComboBox cmbtype 
         Height          =   300
         ItemData        =   "frmdotest.frx":0006
         Left            =   1935
         List            =   "frmdotest.frx":0019
         TabIndex        =   35
         Text            =   "cmbType"
         Top             =   0
         Width           =   1350
      End
      Begin VB.CommandButton cmdMove 
         Caption         =   "后一题"
         Height          =   300
         Index           =   2
         Left            =   3300
         Style           =   1  'Graphical
         TabIndex        =   34
         Top             =   0
         Width           =   870
      End
      Begin VB.CommandButton cmdMove 
         Caption         =   "末尾题"
         Height          =   300
         Index           =   3
         Left            =   4200
         Style           =   1  'Graphical
         TabIndex        =   33
         Top             =   15
         Width           =   870
      End
      Begin VB.CommandButton cmdMove 
         Caption         =   "第一题"
         Height          =   300
         Index           =   0
         Left            =   150
         Style           =   1  'Graphical
         TabIndex        =   32
         Top             =   0
         Width           =   870
      End
      Begin VB.CommandButton cmdMove 
         Caption         =   "前一题"
         Height          =   300
         Index           =   1
         Left            =   1035
         Style           =   1  'Graphical
         TabIndex        =   31
         Top             =   0
         Width           =   870
      End
   End
   Begin VB.CommandButton cmdSubmit 
      Caption         =   "交卷"
      Height          =   300
      Left            =   6660
      TabIndex        =   1
      Top             =   7050
      Width           =   870
   End
   Begin VB.CommandButton cmdEsc 
      Cancel          =   -1  'True
      Caption         =   "放弃"
      Height          =   300
      Left            =   7770
      TabIndex        =   0
      Top             =   7065
      Width           =   870
   End
   Begin VB.Label lblType 
      AutoSize        =   -1  'True
      Caption         =   "Label1"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   210
      Left            =   240
      TabIndex        =   5
      Top             =   120
      Width           =   720
   End
   Begin VB.Label lblNews 
      AutoSize        =   -1  'True
      Caption         =   "Label5"
      Height          =   180
      Left            =   6240
      TabIndex        =   4
      Top             =   5640
      Width           =   540
   End
End
Attribute VB_Name = "dotest"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Option Base 1                       '定义数组下标从1开始
Dim objTest As Recordset            '用于保存考试记录数据
Dim objjudge As Recordset           '用于保存判断题题库数据
Dim objselone As Recordset          '用于保存单项选择题题库数据
Dim objselmany As Recordset         '用于保存多项选择题题库数据
Dim objfill As Recordset            '用于保存程序填空题题库数据
Dim objanswer As Recordset          '用于保存问答题题库数据
Dim objCn As Connection             '用于建立数据库连接
Dim strTest() As String             '用于表存学生答题信息
Dim ij%, iso%, ism%, ifl%, ians%, iTotal% '用于保存小题数和总题数
'Dim studentcode As String



Private Sub Cmbtype_Click()
    '显示对应题型的第小题
    Select Case cmbtype.ListIndex
        Case 0
            '显示判断题第一小题
            cmdMove(0).Value = True     '使第一条记录成为当前记录
        Case 1
            '显示单项选择题第一小题
            cmdMove(0).Value = True     '使第一条记录成为当前记录
            objTest.Move ij - 1         '使最后一道判断题成为当前记录
            cmdMove(2).Value = True     '使第一道单项选择题成为当前记录
        Case 2
            '显示多项选择题第一小题
            cmdMove(0).Value = True     '使第一条记录成为当前记录
            objTest.Move ij + iso - 1   '使最后一道判断题成为当前记录
            cmdMove(2).Value = True     '使第一道单项选择题成为当前记录
        Case 3
            '显示填空第一小题
            cmdMove(0).Value = True                '使第一条记录成为当前记录
            objTest.Move ij + iso + ism - 1        '使最后一道程序阅读题成为当前记录
            cmdMove(2).Value = True                '使第一道程序填空题成为当前记录
          Case 4
            '显示问答题第一小题
            cmdMove(0).Value = True                '使第一条记录成为当前记录
            objTest.Move ij + iso + ism + ifl - 1  '使最后一道程序阅读题成为当前记录
            cmdMove(2).Value = True                '使第一道程序填空题成为当前记录
    End Select
End Sub

Private Sub cmdEsc_Click()
    If MsgBox("真的放弃本次考试码?", vbQuestion + vbYesNo, _
            "Basic自测考试") = vbYes Then
        Unload Me
        End  '结束程序运行
    End If
End Sub

Private Sub cmdmove_Click(Index As Integer)
  Dim i%, strdata$, n%, p%
    With objTest
        '保存当前试题所作答案
        Select Case .AbsolutePosition
            Case 1 To ij
                '保存判断题答案
                If optYesNo(0) = True Then strTest(.AbsolutePosition, 2) = "TRUE"
                If optYesNo(1) = True Then strTest(.AbsolutePosition, 2) = "FALSE"
                optYesNo(0) = False
                optYesNo(1) = False
            Case ij + 1 To ij + iso
                '保存单项选择题答案
                For i = 0 To 3
                    If optSO(i) = True Then strTest(.AbsolutePosition, 2) = Str(i)
                    optSO(i) = False
                Next
             Case ij + iso + 1 To ij + iso + ism
                '保存多项选择题答案
                For i = 0 To 3
                    If chksm(i) = 1 And InStr(strTest(.AbsolutePosition, 2), i + 1) = 0 Then strTest(.AbsolutePosition, 2) = strTest(.AbsolutePosition, 2) & "," & CStr(i + 1)
                    chksm(i) = False
                Next
            Case ij + iso + ism + 1 To ij + iso + ism + ifl
                '保存填空题答案
                p = (.AbsolutePosition - ij - iso - ism - 1) * 3
                strTest(.AbsolutePosition + p, 2) = Trim(txtBlank(0))
                txtBlank(0) = ""
                strTest(.AbsolutePosition + p + 1, 2) = Trim(txtBlank(1))
                txtBlank(1) = ""
                strTest(.AbsolutePosition + p + 2, 2) = Trim(txtBlank(2))
                txtBlank(2) = ""
                strTest(.AbsolutePosition + p + 3, 2) = Trim(txtBlank(3))
                txtBlank(3) = ""
            Case ij + iso + ism + ifl + 1 To ij + iso + ism + ifl + ians
                '保存问答题答案
                p = ifl * 3
                strTest(.AbsolutePosition + p, 2) = Trim(txtanswer)
                txtanswer = ""
        End Select
        
        '该变当前记录
        Select Case Index           '切换当前记录
            Case 0                  '使第一个记录成为当前记录
                If .RecordCount > 0 Then .MoveFirst
            Case 1                  '使上一个记录成为当前记录
                If .RecordCount > 0 And Not .BOF Then
                    .MovePrevious
                    If .BOF Then .MoveFirst
                End If
            Case 2                  '使下一个记录成为当前记录
                If .RecordCount > 0 And Not .EOF Then
                    .MoveNext
                    If .EOF Then .MoveLast
                End If
            Case 3                  '使最后一个记录成为当前记录
                If .RecordCount > 0 Then .MoveLast
                
        End Select
        
        '显示当前试题内容
        Select Case .AbsolutePosition
            Case 1 To ij
                '显示判断题内容及所作答案
                lblType = "一、判断题"
                cmbtype = "判断题"
                txtTest = Trim(Str(.AbsolutePosition)) & "、"
                objjudge.MoveFirst
                objjudge.Find "编号=" & .Fields("编号") & ""
                txtTest = txtTest & objjudge.Fields("题干")
                If strTest(.AbsolutePosition, 2) = "TRUE" Then optYesNo(0) = True
                If strTest(.AbsolutePosition, 2) = "FALSE" Then optYesNo(1) = True
                frmAnswer(0).Visible = True
                frmAnswer(1).Visible = False
                frmAnswer(2).Visible = False
                frmAnswer(3).Visible = False
                frmAnswer(4).Visible = False
            Case ij + 1 To ij + iso
                '显示单项选择题内容以及所作答案
                cmbtype = "单项选择题"
                lblType = "二、单项选择题"
                txtTest = Trim(Str(.AbsolutePosition - ij)) & "、"
                objselone.MoveFirst
                objselone.Find "编号=" & .Fields("编号") & ""
                txtTest = txtTest & objselone.Fields("题干")
                txtTest = txtTest & vbCrLf & " (A)" & objselone.Fields("选项a")
                txtTest = txtTest & vbCrLf & " (B)" & objselone.Fields("选项b")
                txtTest = txtTest & vbCrLf & " (C)" & objselone.Fields("选项c")
                txtTest = txtTest & vbCrLf & " (D)" & objselone.Fields("选项d")
                frmAnswer(0).Visible = False
                frmAnswer(1).Visible = True
                frmAnswer(2).Visible = False
                frmAnswer(3).Visible = False
                frmAnswer(4).Visible = False
                For i = 0 To 3
                    If strTest(.AbsolutePosition, 2) = Str(i) Then optSO(i) = True
                Next
              Case ij + iso + 1 To ij + iso + ism
                '显示多项选择题内容以及所作答案

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -