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

📄 auto_execute.asp

📁 一个网上的考试系统
💻 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>&nbsp;" +cstr(cycle) +":"
					Response.write (userconn.Fields("题目内容"))
					Response.Write "</td></tr><tr><td>&nbsp;&nbsp;<INPUT type=radio name="+QuestionName+" value = A>A &nbsp;"
					Response.write (userconn.Fields("选择项一"))
					Response.Write "<br>&nbsp;&nbsp;<INPUT type=radio name="+QuestionName+" value = B>B &nbsp;"
					Response.write (userconn.Fields("选择项二"))
					Response.Write "<br>&nbsp;&nbsp;<INPUT type=radio name="+QuestionName+" value = C>C &nbsp;"
					Response.write (userconn.Fields("选择项三"))
					Response.Write "<br>&nbsp;&nbsp;<INPUT type=radio name="+QuestionName+" value = D>D &nbsp;"
					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>&nbsp;" +cstr(cycle) +":"
					Response.write (userconn.Fields("题目内容"))
					Response.Write "</td></tr><tr><td>&nbsp;&nbsp;答案填写处:"
					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>&nbsp;" +cstr(cycle) +":"
					Response.write (userconn.Fields("题目内容"))
					Response.Write "</td></tr><tr><td>&nbsp;&nbsp;答案填写处:"
					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>&nbsp;" +cstr(cycle) +":"
					Response.write (userconn.Fields("题目内容"))
					Response.Write "</td></tr><tr><td>&nbsp;&nbsp;答案填写处:"
					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 + -