|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
主要功能为:在聊天室中,每隔5分钟,向显示对话页面,发送一道题,所有用户都可答题。 答对者加相应的分值。 详细实现:在聊天室框架中加入一隐含帧, 此帧每5分钟刷新一次。 隐含帧内的ASP页内容如下: <%@ LANGUAGE=VBs cript%> <%Response.Expires=0%> <% Dim Conn,Rs Application.Lock application("CanswerName")=application("answerName") \\'保存答对题用户的名字 application("answerName")="" application("TanswerName")="" \\'清除答错题用户的名子 set Conn=server.createobject("ADODB.Connection") accessdb="db1.mdb" \\'题库的连接 myDSN="DRIVER={Microsoft Access Driver (*.mdb)};" myDSN=myDSN & "DBQ=" &server.mappath(accessdb) Conn.Open myDSN Set Rs = Server.CreateObject("ADODB.Recordset") Rs.CursorLocation=3 Rs.open "select * from QUESTION ",Conn Randomize \\'随机取得一道题的ID r=Rs.RecordCount ID=int((r-1)*Rnd)+1 Rs.Close set Rs=Nothing Set Rs = Server.CreateObject("ADODB.Recordset") Rs.open "select * from QUESTION where questionID="&ID,Conn application("questionName")=Rs("questionName") \\'题目 application("questionID")=Rs("questionID") \\'题的ID application("questionCent")=Rs("questionCent") \\'题的分数 application("questionClass")=Rs("questionNotes")\\'题的说明 Rs.close Set Rs = Nothing Set Ra = Server.CreateObject("ADODB.Recordset") Ra.open "select * from ANSWER where questionID="&ID,Conn application("answerA")=Ra("answerA") \\'题的选项 application("answerB")=Ra("answerB") application("answerC")=Ra("answerC") application("answerD")=Ra("answerD") application("answerTrue")=Ra("answerTrue") \\'题的准确答案 Ra.close set Ra=Nothing Conn.Close set Conn=Nothing application("questionTime")=Now() Application.UnLock %> <HTML> <head> <meta http-equiv=\\'Content-Type\\' content=\\'text/html; charset=gb2312\\'> <Link Rel=\\'stylesheet\\' Href=\\'../Style.Css\\' Type=\\'text/css\\'> <meta http-equiv="refresh" content="300;url=question.asp"> <title><%=Application("V")%></title> <s cript Language="Javas cript"> parent.ShowSays.document.write("******系统消息:******<br>"); //向聊天室显示对话窗口写入问题 parent.ShowSays.document.write("**上题答对者为:<%=application"CanswerName")%><br>"); parent.ShowSays.document.write("问题::<%=application("questionName")%>"); parent.ShowSays.document.write(" <%=application("questionCent")%>分(1分钟之内,回答输入‘#答案’)<%=Time()%><br>"); parent.ShowSays.document.write("A::<%=application("answerA")%><br>"); parent.ShowSays.document.write("B::<%=application("answerB")%><br>"); parent.ShowSays.document.write("C::<%=application("answerC")%><br>"); parent.ShowSays.document.write("D::<%=application("answerD")%><br>"); </s cript> </head> <body bgcolor=\\'#FFFFFF\\'> </Body> </html> 处理答题部分略!!! 答案处理部分,放在处理发送对话信息的程序中即可。下面是答案处理的代码部分: if mid(FStr,i,1)="#" then \\'FStr是保存对话信息的字符串变量 TFstr=mid(FStr,i+1,1) if CInt(DateDiff("n",application("questionTime"),Now()))<=1 then \\'判定时间1分钟内答题有效 if LCase(TFstr)=LCase(application("answerTrue")) then \\'判定答题是否准确 if instr(1,application("answerName"),session("USER_USERNAME"))>0 then \\'判定用户是否已经答过题了 TFstr=session("USER_USERNAME")&"已经答过这道了!!!" else TFstr=session("USER_USERNAME")&"答题准确!" Session("USER_EXP") =Session("USER_EXP")+application("questionCent") \\'给答对题的用户加分 application("answerName")=application("answerName")&session("USER_USERNAME")&" " \\'保存答对题用户的名字 end if else if instr(1,application("TanswerName"),session("USER_USERNAME"))>0 then \\'\\'判定用户是否已经答过题了 TFstr=session("USER_USERNAME")&"已经答过这道了!!!" else application("TanswerName")=application("TanswerName")&session("USER_USERNAME")&" " \\'保存答错题用户的名字 end if end if end if 返回类别: 教程 上一教程: win2000 server 全部安全补丁 下一教程: .NET让新一代因特网变成现实(2) 您可以阅读与"用ASP实现聊天室中的在线答题游戏"相关的教程: · 实现聊天室在线人员无刷新所需要的JavaScript技术 - 1 · 实现聊天室在线人员无刷新所需要的JavaScript技术 - 2 · 实现聊天室在线人员无刷新所需要的JavaScript技术 - 3 · XMLHTTP+JAVASCRIPT+ASP写得聊天室,无刷新实现(一) · XMLHTTP+Javascript+Asp写得聊天室,无刷新实现(四) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |