📄 auto_execute.asp
字号:
<!--#include file ="../include.asp"-->
<%
StartPage "自动组卷考试首页",3
%>
<!--
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY onload ="StartTime()" oncontextmenu=self.event.returnValue=false leftmargin=150 rightmargin=150 topmargin=30>
-->
<form name = "Next" action = "" method = "post">
<%
Subject = Request.Form ("Subject")
ExamineTime = Request.Form ("Time")
TableName = Subject + "题目表"
m_strChar ="<center>"+ Subject +"模拟考试试卷<br>"
Response.Write (m_strChar)
m_strChar = "考试时间为:"+ExamineTime+"分钟</center>"
Response.Write (m_strChar)
IntTime = Cint(ExamineTime) * 60
ExamineTime = cstr(IntTime)
m_strExamineTime = "<input type = hidden name = Examine value = "+ExamineTime+">"
Response.Write (m_strExamineTime)
m_strSubject = "<input type = hidden name = Subject value = "+Subject+">"
Response.Write (m_strSubject)
dim themeArray(5)
int ArrayCount = 0
set conn = Server.CreateObject ("adodb.connection")
conn.Open "NetExamine","sa",""
set userconn = Server.CreateObject ("adodb.recordset")
sqlstr = "select * from "+TableName
userconn.Open sqlstr,conn
while not userconn.EOF
themeArray(ArrayCount) = userconn.Fields ("题目名")
ArrayCount = ArrayCount + 1
userconn.MoveNext()
wend
%>
<table border=1 width=100%>
<%
CalculateCount = 0
dim CycleArray(20)
while CalculateCount < ArrayCount
userconn.Close ()
Response.Write "<tr><td>"
sqlstr = "select * from "+TableName +" where 题目名 = '" + themeArray(CalculateCount) +"'"
userconn.Open sqlstr,conn
CalculateCount = CalculateCount +1
Select Case CalculateCount
Case 1
Response.Write "一 "
Case 2
Response.Write "二 "
Case 3
Response.Write "三 "
Case 4
Response.Write "四 "
Case 5
Response.Write "五 "
Case 6
Response.Write "五 "
End Select
Response.Write (userconn.Fields("题目名"))
Response.Write "(本题共" +cstr(userconn.Fields("题目总分"))+"分,每小题"+cstr(userconn.Fields("小题得分"))+"分)"
Response.Write (userconn.Fields("题目描述"))
wearNumber = cint(userconn.Fields("题目总分")) \ cint(userconn.Fields("小题得分"))
SmallSorce = userconn.Fields("小题得分")
AllTableName = Subject + Rtrim(userconn.Fields("题目名"))+"表"
userconn.Close()
sqlstr = "select * from "+AllTableName
userconn.Open sqlstr,conn
wearhouse = 0
while not userconn.EOF
wearhouse = wearhouse+1
userconn.MoveNext()
wend
for i = 0 to 19
CycleArray(i) = -1
next
for cycle = 1 to wearNumber
userconn.Close()
Randomize()
k = Rnd()*wearhouse
m_strIsSame = false
while m_strIsSame = false
while round(k) = 0
Randomize()
k = Rnd()*wearhouse
wend
for intocycle = 0 to cycle-1
if CycleArray(intocycle) = round(k) then
m_strIsSame = false
exit for
end if
next
if intocycle = cycle then
CycleArray(cycle -1) = round(k)
m_strIsSame = true
else
Randomize()
k = Rnd()*wearhouse
m_strIsSame = false
end if
wend
sqlstr = "select * from "+AllTableName+" where 索引号 = "+ cstr(round(k))
'Response.Write (cstr(round(k)))
'Response.End ()
userconn.Open sqlstr,conn
Select Case Rtrim(themeArray(CalculateCount - 1))
case "单选题"
if cycle = 1 then
NumberName = Rtrim(themeArray(CalculateCount - 1)) + "个数"
m_strNumber = "<input type =hidden name ="+NumberName+" value = "+cstr(wearNumber)+">"
Response.Write (m_strNumber)
NumberName = Rtrim(themeArray(CalculateCount - 1)) + "小题得分"
m_strNumber = "<input type =hidden name ="+NumberName+" value = "+cstr(SmallSorce)+">"
Response.Write (m_strNumber)
end if
QuestionName = Rtrim(themeArray(CalculateCount - 1)) + cstr(cycle)
Response.Write "</td></tr><tr><td> " +cstr(cycle) +":"
Response.write (userconn.Fields("题目内容"))
Response.Write "</td></tr><tr><td> <INPUT type=radio name="+QuestionName+" value = A>A "
Response.write (userconn.Fields("选择项一"))
Response.Write "<br> <INPUT type=radio name="+QuestionName+" value = B>B "
Response.write (userconn.Fields("选择项二"))
Response.Write "<br> <INPUT type=radio name="+QuestionName+" value = C>C "
Response.write (userconn.Fields("选择项三"))
Response.Write "<br> <INPUT type=radio name="+QuestionName+" value = D>D "
Response.write (userconn.Fields("选择项四"))
CorrectName = Rtrim(themeArray(CalculateCount - 1))+"答案" + cstr(cycle)
m_strHidden = "<input type = hidden name ="+CorrectName+" value = "+cstr(userconn.Fields("正确选项"))+">"
Response.Write (m_strHidden)
Response.Write "</td></tr>"
case "填空题"
if cycle = 1 then
NumberName = Rtrim(themeArray(CalculateCount - 1)) + "个数"
m_strNumber = "<input type =hidden name ="+NumberName+" value = "+cstr(wearNumber)+">"
Response.Write (m_strNumber)
NumberName = Rtrim(themeArray(CalculateCount - 1)) + "小题得分"
m_strNumber = "<input type =hidden name ="+NumberName+" value = "+cstr(SmallSorce)+">"
Response.Write (m_strNumber)
end if
Response.Write "</td></tr><tr><td> " +cstr(cycle) +":"
Response.write (userconn.Fields("题目内容"))
Response.Write "</td></tr><tr><td> 答案填写处:"
QuestionName = Rtrim(themeArray(CalculateCount - 1)) + cstr(cycle)
Response.Write "<input type = text name = "+QuestionName+">"
CorrectName = Rtrim(themeArray(CalculateCount - 1))+"答案" + cstr(cycle)
m_strHidden = "<input type = hidden name ="+CorrectName+" value = "+userconn.Fields("题目答案")+">"
Response.Write (m_strHidden)
Response.Write "</td></tr>"
case "问答题"
if cycle = 1 then
NumberName = Rtrim(themeArray(CalculateCount - 1)) + "个数"
m_strNumber = "<input type =hidden name ="+NumberName+" value = "+cstr(wearNumber)+">"
Response.Write (m_strNumber)
NumberName = Rtrim(themeArray(CalculateCount - 1)) + "小题得分"
m_strNumber = "<input type =hidden name ="+NumberName+" value = "+cstr(SmallSorce)+">"
Response.Write (m_strNumber)
end if
Response.Write "</td></tr><tr><td> " +cstr(cycle) +":"
Response.write (userconn.Fields("题目内容"))
Response.Write "</td></tr><tr><td> 答案填写处:"
QuestionName = Rtrim(themeArray(CalculateCount - 1)) + cstr(cycle)
'Response.Write "<input type = text name = "+QuestionName+">"
Response.Write "<textarea name = "+QuestionName+" cols = 50 rows = 10 ></textarea>"
CorrectName = Rtrim(themeArray(CalculateCount - 1))+"答案" + cstr(cycle)
m_strHidden = "<input type = hidden name ="+CorrectName+" value = "+userconn.Fields("题目答案")+">"
Response.Write (m_strHidden)
Response.Write "</td></tr>"
case "计算题"
if cycle = 1 then
NumberName = Rtrim(themeArray(CalculateCount - 1)) + "个数"
m_strNumber = "<input type =hidden name ="+NumberName+" value = "+cstr(wearNumber)+">"
Response.Write (m_strNumber)
NumberName = Rtrim(themeArray(CalculateCount - 1)) + "小题得分"
m_strNumber = "<input type =hidden name ="+NumberName+" value = "+cstr(SmallSorce)+">"
Response.Write (m_strNumber)
end if
Response.Write "</td></tr><tr><td> " +cstr(cycle) +":"
Response.write (userconn.Fields("题目内容"))
Response.Write "</td></tr><tr><td> 答案填写处:"
QuestionName = Rtrim(themeArray(CalculateCount - 1)) + cstr(cycle)
'Response.Write "<input type = text name = "+QuestionName+">"
Response.Write "<textarea name = "+QuestionName+" cols = 50 rows = 10 ></textarea>"
CorrectName = Rtrim(themeArray(CalculateCount - 1))+"答案" + cstr(cycle)
m_strHidden = "<input type = hidden name ="+CorrectName+" value = "+userconn.Fields("题目答案")+">"
Response.Write (m_strHidden)
Response.Write "</td></tr>"
end select
'Response.Write (round(k))
next
Response.Write "</tr></td>"
wend
userconn.Close ()
set userconn = nothing
conn.Close()
set conn = nothing
%>
<tr>
<td align=center><input type = "button" value = "提交" onclick ="Check()"></td>
</tr>
<OPTION></OPTION>
</SELECT>
</table>
<!--
</form>
</BODY>
</HTML>
-->
<%
EndPage
%>
<script language="JavaScript">
var timerID = null;
var timerRunning = false;
var ExamineTime = 0;
var stardate = new Date();
var startime = gettotalsecond(stardate);
function gettotalsecond(getdate)
{
var hours = getdate.getHours();
var minutes = getdate.getMinutes();
var seconds = getdate.getSeconds();
var gettotalsecond = seconds + minutes * 60 + hours * 3600
return(gettotalsecond)
}
function StopTime()
{
if(timerRunning)
{
clearTimeout(timerID);
timerRunning = false;
}
ExamineTime = parseInt(document.Next.Examine.value);
//parseInt
}
function CalculateTime()
{
var now = new Date();
var timeValue = gettotalsecond(now);
var UsedTime = timeValue - startime;
var LastTime = ExamineTime - UsedTime;
timerID = setTimeout("CalculateTime()",1000)
if (LastTime == 20)
{
alert("考试时间只剩下最后20秒!");
}
if (LastTime == 0)
{
clearTimeout(timerID);
document.Next.action = "ShowExaminetRsequet.asp";
document.Next.submit ();
alert("考试完毕请交卷!");
}
}
function StartTime()
{
StopTime();
CalculateTime();
}
function Check()
{
clearTimeout(timerID);
document.Next.action = "ShowExaminetRsequet.asp";
document.Next.submit ();
}
</script>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -