扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:佚名 来源:动网先锋 2007年10月25日
关键字: Windows
<%@ Language = VBScript%> <% Option Explicit 'Last Updated By Recon On 03/16/2001 Dim m_iPartCnt Dim m_strPrompt Dim m_astrSenPart(), m_astrFileName() Dim m_astrWords(), m_aiOpStatus() '------------------------------------------ '常变量说明 'm_iPartCnt :词汇分类的数目。整型 'm_strPrompt :对文件操作完毕后的提示。字符串型 'm_astrSenPart :词汇分类的名称。字符型数组 'm_astrFileName :记录各类词汇文件的文件名。字符型数组 'm_astrWords :纪录各类词汇。二维字符型数组 'm_aiOpStatus :纪录对各个文件操作后的状态。整型数组 '------------------------------------------ 'ShowMethod m_iPartCnt = 4 m_strPrompt = "" ReDim m_astrSenPart(m_iPartCnt) ReDim m_astrFileName(m_iPartCnt) ReDim m_astrWords(m_iPartCnt) ReDim m_aiOpStatus(m_iPartCnt) '定义各种词汇分类的名称 m_astrSenPart(0) = "主语" m_astrSenPart(1) = "程度状语" m_astrSenPart(2) = "地点状语" m_astrSenPart(3) = "谓语" '定义记载各类词汇文件的名称 m_astrFileName(0) = "Who.txt" m_astrFileName(1) = "How.txt" m_astrFileName(2) = "Where.txt" m_astrFileName(3) = "What.txt" If Request.ServerVariables("REQUEST_METHOD") = "POST" Then '如果页面的请求方式是 POST '************************ '获得客户端的信息 '************************ Dim m_iSenPart Dim m_strOpWay Dim m_bRptedData '------------------------------------------ '常变量说明 'm_iSenPart :表示词汇分类的数字。整型 ' 词汇的分类来自数组m_astrSenPart ' 可能的值有: ' 0:主语 ' 1:程度状语 ' 2:地点状语 ' 3:谓语 'm_strOpWay :文件操作方式。字符串型 ' 可能的值有: ' 1、SAVE :将某类词汇存入文件 ' 2、SAVEALL :将所有类别的词汇存入文件 ' 3、LOAD :从文件中载入某类词汇 ' 4、LOADALL :从文件中载入所有类别的词汇 'm_bRptedData :表示本次提交的表单数据和上次是否相同。布尔型 ' 可能的值有: ' 1、False :表单数据不重复 ' 2、True :表单数据重复(即重复提交表单) '------------------------------------------ 'ShowForm '获得用户请求的操作方式 m_strOpWay = Request.Form("txtOpWay") 'Show("m_strOpWay") '获得各个类别的单词 For m_iCount = 0 To (m_iPartCnt - 1) If Request.Form("txtWords" & m_iCount) <> "" Then m_astrWords(m_iCount) = Split(Request.Form("txtWords" & m_iCount), ",") End If 'Response.Write UBound(m_astrWords(m_iCount)) & "<br>" Next '检测是否重复提交表单 'If Session("FormInf") = Request.Form Then ' '表单是重复提交 ' m_bRptedData = True 'Else ' '表单是非重复提交 ' Session("FormInf") = Request.Form ' m_bRptedData = False 'End If 'Show("m_bRptedData") '************************ '对单词文件进行操作 '************************ 'If m_bRptedData = False Then Dim m_iCount, m_iErrCnt Dim m_strFilePath '------------------------------------------ '常变量说明 'm_iCount :计数器。整型 'm_iErrCnt :发生操作失败的次数。整型 'm_strFilePath :记录各类词汇文件的路径。字符串型 '------------------------------------------ '获得放置词汇文件的路径 m_strFilePath = Request.ServerVariables("PATH_TRANSLATED") m_strFilePath = Left(m_strFilePath, InStrRev(m_strFilePath, "\")) 'm_strFilePath = m_strFilePath & "Words\" 'Show("m_strFilePath") '开始操作文件 'Response.Write "Begin to Operate Word Files<br>" Select Case m_strOpWay Case "SAVE" '保存单词到文件中 m_iSenPart = CInt(Request.Form("txtSenPart")) m_aiOpStatus(m_iSenPart) = SaveFile(m_iSenPart) '根据操作状态,得到提示信息 Select Case m_aiOpStatus(m_iSenPart) Case 0 m_strPrompt = "[" & m_astrSenPart(m_iSenPart) & "]部分单词已成功地被保存到文件中" Case 1 m_strPrompt = "[" & m_astrSenPart(m_iSenPart) & "]部分文件保存失败" End Select Case "SAVEALL" '保存所有类别的单词到文件中 m_iErrCnt = 0 For m_iCount = 0 To (m_iPartCnt - 1) m_aiOpStatus(m_iCount) = SaveFile(m_iCount) If m_aiOpStatus(m_iCount) = 1 Then m_iErrCnt = m_iErrCnt + 1 End If Next '根据操作状态,得到提示信息 Select Case m_iErrCnt Case 0 m_strPrompt = "所有类别的单词都已成功地被保存到文件中" Case m_iPartCnt m_strPrompt = "所有类别的单词文件都保存失败" Case Else m_strPrompt = "其中," For m_iCount = 0 To (m_iPartCnt - 1) If m_aiOpStatus(m_iCount) = 1 Then m_strPrompt = m_strPrompt & "[" & m_astrSenPart(m_iCount) & "]、" End If Next m_strPrompt = Left(m_strPrompt, Len(m_strPrompt) - 1) m_strPrompt = m_strPrompt & "部分文件保存失败" End Select Case "LOAD" '从文件中载入单词 m_iSenPart = CInt(Request.Form("txtSenPart")) m_aiOpStatus(m_iSenPart) = LoadFile(m_iSenPart) '根据操作状态,得到提示信息 Select Case m_aiOpStatus(m_iSenPart) Case 0 m_strPrompt = "[" & m_astrSenPart(m_iSenPart) & "]部分单词已成功地被载入" Case 1 m_strPrompt = "[" & m_astrSenPart(m_iSenPart) & "]部分文件不存在,载入失败" End Select Case "LOADALL" '从各个文件中载入单词 m_iErrCnt = 0 For m_iCount = 0 To (m_iPartCnt - 1) m_aiOpStatus(m_iCount) = LoadFile(m_iCount) If m_aiOpStatus(m_iCount) = 1 Then m_iErrCnt = m_iErrCnt + 1 End If Next '根据操作状态,得到提示信息 Select Case m_iErrCnt Case 0 m_strPrompt = "所有类别的单词都已成功地被载入" Case m_iPartCnt m_strPrompt = "所有类别的单词文件都不存在,载入完全失败" Case Else m_strPrompt = "其中," For m_iCount = 0 To (m_iPartCnt - 1) If m_aiOpStatus(m_iCount) = 1 Then m_strPrompt = m_strPrompt & "[" & m_astrSenPart(m_iCount) & "]、" End If Next m_strPrompt = Left(m_strPrompt, Len(m_strPrompt) - 1) m_strPrompt = m_strPrompt & "部分文件不存在,载入部分失败" End Select End Select 'End If End If 'Response.Write "End to Operate Word Files<br>" 'Response.Write "Begin to Write Client Page<br>" %> <html> <head> <title> 词语搭配游戏 </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <!--风格表--> <style> <!-- /*英文字体1*/ .fontEng1 { font-family: TIMES NEW ROMAN; font-style: ; } /*英文字体2*/ .fontEng2 { font-family: TIMES NEW ROMAN; font-style: ITALIC; } /*强调字体*/ .fontEmp { color: RED; } /*链接*/ .link { font-family: TIMES NEW ROMAN; font-style: ITALIC; text-decoration: NONE; } /*被显示的单词列表*/ .listShown { position: ABSOLUTE; width: 140px; height: 200px; display: INLINE; border: LIGHTCORAL 1px SOLID; background-color: GAINSBORO; } /*被隐藏的单词列表*/ .listHidden { position: ABSOLUTE; width: 140px; height: 200px; display: NONE; border: LIGHTCORAL 1px SOLID; background-color: GAINSBORO; } /*被固定的单词列表*/ .listFixed { position: ABSOLUTE; width: 140px; height: 200px; display: INLINE; border: RED 1px SOLID; background-color: GAINSBORO; } /*被显示的帮助列表*/ .helpShown { position: ABSOLUTE; width: ; height: ; display: block; border: LIGHTCORAL 1px SOLID; background-color: GAINSBORO; } /*被隐藏的帮助列表*/ .helpHidden { position: ABSOLUTE; width: ; height: ; display: NONE; border: LIGHTCORAL 1px SOLID; background-color: GAINSBORO; } /*被固定的帮助列表*/ .helpFixed { position: ABSOLUTE; width: ; height: ; display: block; border: RED 1px SOLID; background-color: GAINSBORO; } /*被强调显示的标签*/ .lblMOver { text-decoration: NONE; color: LIGHTCORAL; background-color: ; } /*正常显示的标签*/ .lblMOut { text-decoration: NONE; color: ; background-color: ; } /*被点击过的标签*/ .lblClicked { text-decoration: UNDERLINE; color: RED; background-color: ; } /*高亮显示的按钮*/ .btnLighted { width: 105px; color: BLUE; background-color: ; } /*正常显示的按钮*/ .btnDelighted { width: 105px; color: ; background-color: ; } /*高亮显示的单词列表项*/ .optLighted { text-decoration: UNDERLINE; color: BLUE; background-color: ; cursor: HAND; } /*正常显示的单词列表项*/ .optDelighted { text-decoration: NONE; color: ; background-color: ; cursor: ; } --> </style> <!--客户端脚本--> <script language="JavaScript"> <!-- //客户端公用及测试函数 //************************ //函数名 :lTrim //功能 :去掉字串左边的空格 //输入 :1、strTemp :要规整的字串。字符串型 //输出 :规整后的字串。字符串型 //************************ function lTrim(strTemp) { var iCount, iLength; //------------------------------------------ //常变量说明 //iCount :计数器。整型 //iLength :字串的长度。整型 //------------------------------------------ iLength = strTemp.length; for (iCount = 0; iCount < iLength; iCount ++) if (strTemp.charAt(iCount) != " ") return strTemp.substring(iCount, iLength); return ""; } //************************ //函数名 :rTrim //功能 :去掉字串右边的空格 //输入 :1、strTemp :要规整的字串。字符串型 //输出 :规整后的字串。字符串型 //************************ function rTrim(strTemp) { var iCount, iLength; //------------------------------------------ //常变量说明 //iCount :计数器。整型 //iLength :字串的长度。整型 //------------------------------------------ iLength = strTemp.length; for(iCount = iLength - 1; iCount >= 0; iCount --) if (strTemp.charAt(iCount) != " ") return strTemp.substring(0, iCount + 1); return ""; } //************************ //函数名 :trim //功能 :去掉字串两边的空格 //输入 :1、strTemp :要规整的字串。字符串型 //输出 :规整后的字串。字符串型 //************************ function trim(strTemp) { return rTrim(lTrim(strTemp)); } //将2位数字转换成2位数字字串 //************************ //函数名 :get2bNumStr //功能 :转换2位的数字成2位的数字字串 //输入 :1、iNumber :要转换的数字。整型 //输出 :转换后得到的数字字串。整型 //************************ function get2bNumStr(iNumber) { var str2bNum; //------------------------------------------ //常变量说明 //str2bNum :数字字串。字符串型 //------------------------------------------ if (parseInt(iNumber) < 10) str2bNum = "0" + iNumber; else str2bNum = "" + iNumber; return str2bNum; } //************************ //函数名 :assignFunc //功能 :指定元素的事件处理函数 //输入 :1、ele :要指定事件处理函数的元素。对象型 // 2、func :事件处理函数。函数型 // 3、event :事件类型。字符串型 //输出 :无 //************************ function assignFunc(ele, func, event) { var iCount, iEleCount; var strEvent; //------------------------------------------ //常变量说明 //iCount :计数器。整型 //iEleCount :同名元素集合中元素的个数。整型 //strEvent :事件类型。字符串型 //------------------------------------------ if (event == null) strEvent = "onclick"; else strEvent = event; iEleCount = ele.length; if (iEleCount == undefined) eval("ele." + strEvent + " = " + func); else for (iCount = 0; iCount < iEleCount; iCount ++) eval("ele[iCount]." + strEvent + " = " + func); } //************************ //函数名 :getEleIndex //功能 :得到发生事件的元素在同名集合中的索引 //输入 :1、eleSrc :发生事件的元素。对象型 //输出 :发生事件的元素在同名集合中的索引 //************************ function getEleIndex(eleSrc) { var colSrc; var iCount, iEleCount; //------------------------------------------ //常变量说明 //colSrc :同名元素集合。对象型数组 //iCount :计数器。整型 //iEleCount :同名元素集合中元素的个数。整型 //------------------------------------------ colSrc = eval(eleSrc.id); iEleCount = colSrc.length; for (iCount = 0; iCount < iEleCount; iCount ++) { if (colSrc[iCount] == eleSrc) return iCount; } return -1; } //显示常变量的值(调试用) //!准备删去 function show(strDef1, strDef2, strDef3, strDef4) { var iCount, iDefCnt; var strShow, strTemp; iDefCnt = 4; strShow = "[常变量值]"; for (iCount = 1; iCount <= iDefCnt; iCount ++) { strTemp = eval("strDef" + iCount); if (strTemp != undefined && strTemp != null) strShow += "\n" + strTemp + ": " + eval(strTemp); } alert(strShow); } //************************ //函数名 :showArray //功能 :显示一维数组的元素(调试用) //输入 :1、array :要显示的一维数组。数组 //输出 :无 //************************ function showArray(array) { var iCount, iEleCount; var strShow; //------------------------------------------ //常变量说明 //iCount :计数器。整型 //iEleCount :数组元素的个数。整型 //strShow :数组元素值构成的字串。字符串型 //------------------------------------------ iEleCount = array.length; strShow = "Array Length: " + iEleCount; strShow += "\n---------------------------------\n"; for (iCount = 0; iCount < iEleCount; iCount ++) { if (typeof(array[iCount]) == "object") strShow += array[iCount].id + " "; else strShow += array[iCount] + " "; } alert(strShow); } //************************ //函数名 :show2DArray //功能 :显示二维数组的元素(调试用) //输入 :1、array :要显示的二维数组。数组 //输出 :无 //************************ function show2DArray(array) { var iX, iY, iLen1, iLen2; var strShow; //------------------------------------------ //常变量说明 //iX :计数器。整型 //iY :计数器。整型 //iLen1 :数组一维的数目。整型 //iLen2 :数组二维的数目。整型 //strShow :数组元素值构成的字串。字符串型 //------------------------------------------ iLen1 = array.length; strShow = "Array 1D Length: " + iLen1; strShow += "\n---------------------------------"; for (iX = 0; iX < iLen1; iX ++) { strShow += "\n"; iLen2 = array[iX].length; for (iY = 0; iY < iLen2; iY ++) strShow += array[iX][iY] + " "; } alert(strShow); } //--> </script> <script language="JavaScript"> <!-- //--------------------函数列表-------------------------- //window_onload // //getWord //reset //save //load // //showList //hideList //fixList //valueList // //showHelp //hideHelp //fixHelp // //resetAll //saveAll //loadAll //assemble // //lightBtn //delightBtn //lightOpt //delightOpt // //makeOpt //removeOpt //----------------------------------------------------------- var m_iPartCnt; var m_astrSenPart, m_astrWords; var m_strPrompt; var m_iListFixed, m_iHelpFixed; //------------------------------------------ //常变量说明 //m_iPartCnt :词汇分类的数目。整型 //m_astrSenPart :词汇分类的名称。字符型数组 //m_astrWords :纪录各类词汇。二维字符型数组 //m_strPrompt :文件操作完毕后的提示信息。字符串型 //m_iListFixed :代表被固定单词列表的数字。整型 // -1表示没有单词列表被固定 //m_iHelpFixed :表示帮助列表固定状态的数字。整型 // -1表示帮助列表没有被固定 //------------------------------------------ window.onload = window_onload; //----------------------------------------------------------- //初始化页面 function window_onload() { var iCount, iEleCnt; var colButton; var strHelp; //------------------------------------------ //常变量说明 //iCount :计数器。整型 //iEleCnt :集合中元素的个数。整型 //colButton :BUTTON元素的集合。对象型数组 //strHelp :帮助文件内容。字符串型 //------------------------------------------ m_iPartCnt = <%= m_iPartCnt%>; m_strPrompt = "<%= m_strPrompt%>"; m_iListFixed = -1; m_iHelpFixed = -1; m_astrSenPart = new Array(); m_astrWords = new Array(); //alert("m_iPartCnt: " + m_iPartCnt + "\nm_strPrompt: " + m_strPrompt); //得到词汇分类的名称和已载入的各类词汇 <%For m_iCount = 0 To (m_iPartCnt - 1)%> //得到已载入的各类词汇 <%If IsEmpty(m_astrWords(m_iCount)) = True Then%> m_astrWords[<%= m_iCount%>] = new Array(); <%Else%> m_astrWords[<%= m_iCount%>] = "<%= Join(m_astrWords(m_iCount), ",")%>".split(","); <%End If%> //得到词汇分类的名称 m_astrSenPart[<%= m_iCount%>] = "<%= m_astrSenPart(m_iCount)%>"; <%Next%> //show2DArray(m_astrWords); //showArray(m_astrSenPart); //将已载入的各类词汇写入到页面中 for (iCount = 0; iCount < m_iPartCnt; iCount ++) valueList(m_astrWords[iCount], iCount); //载入帮助文件 //strHelp = tblHelp.outerHTML; //strHelp = divHelp1.innerHTML; //tblHelp.outerHTML = ""; //divHelp.innerHTML = strHelp; //tblHelp.style.display = ""; //divHelp.style.display = "NONE"; //divHelp.style.left = divHelp1.style.left; //alert("left: "+divHelp.style.left + "\nleft: " + divHelp1.style.left); //alert("pixelleft: "+divHelp.style.pixelLeft + "\npixelleft: " + divHelp1.style.pixelLeft); //alert("posLeft: "+divHelp.style.posLeft + "\nposLeft: " + divHelp1.style.posLeft); //alert("offsetLeft : "+divHelp.offsetLeft + "\noffsetLeft : " + divHelp1.offsetLeft ); //alert("clientLeft : "+divHelp.clientLeft + "\nclientLeft : " + divHelp1.clientLeft ); //指定页面元素的事件处理函数 assignFunc(txtWord, getWord, "onkeypress"); assignFunc(btnGetWord, getWord); assignFunc(btnReset, reset); assignFunc(btnSave, save); assignFunc(btnLoad, load); assignFunc(lblWordList, showList, "onmouseover"); assignFunc(lblWordList, hideList, "onmouseout"); assignFunc(lblWordList, fixList); assignFunc(lblHelp, showHelp, "onmouseover"); assignFunc(lblHelp, hideHelp, "onmouseout"); assignFunc(lblHelp, fixHelp); assignFunc(btnResetAll, resetAll); assignFunc(btnSaveAll, saveAll); assignFunc(btnLoadAll, loadAll); assignFunc(btnAsb, assemble); colButton = document.all.tags("BUTTON"); iEleCnt = colButton.length; //showArray(colButton); //alert("iEleCnt: " + iEleCnt); for (iCount = 0; iCount < iEleCnt; iCount ++) { assignFunc(colButton[iCount], lightBtn, "onmouseover"); assignFunc(colButton[iCount], delightBtn, "onmouseout"); } //设置页面初始状态 if (m_strPrompt != "") alert(m_strPrompt); txtWord[0].focus(); } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者