//------------------------------------------
//常变量说明
//eleSrc :发生事件的元素
//iIndex :表示词汇分类的数字。整型
//iNxtWrdIdx :新单词在单词数组中的索引。整型
//strWord :用户输入的单词。字符串型
//------------------------------------------ 
eleSrc = window.event.srcElement;
                iIndex = getEleIndex(eleSrc); //获得索引
  strWord = trim(txtWord[iIndex].value); //获得用户输入的单词
  
  //检测输入的单词是否合法
  //若是非法的单词则退出
  if (strWord == "")
  {
  //若输入的单词为空或空格字符串
  alert("单词不能为空或空格字符串");
  txtWord[iIndex].select();
  return;
  }
  
  if (strWord.indexOf(",") != -1 || strWord.indexOf(" ") != -1)
  {
  //若输入的单词包含逗号或空格
  alert("单词不能包含逗号或空格");
  txtWord[iIndex].select();
  return;
  }
//将单词保存到词汇数组中
                iNxtWrdIdx = m_astrWords[iIndex].length;
  m_astrWords[iIndex][iNxtWrdIdx] = strWord;
  //showArray(m_astrWords[iIndex]);
  
  //将单词写入到页面中
  valueList(m_astrWords[iIndex], iIndex);
  txtWord[iIndex].value = "";
  txtWord[iIndex].focus();
  }
//-----------------------------------------------------------
                //将当前类别所有的单词从内存中删去
                function reset()
  {
  var eleSrc;
  var iIndex, iCount;
  var strPrompt;
  
  //------------------------------------------
  //常变量说明
  //eleSrc :发生事件的元素
  //iIndex :表示词汇分类的数字。整型
  //iCount :计数器。整型
  //strPrompt :操作提示。字符串型
  //------------------------------------------
eleSrc = window.event.srcElement;
                iIndex = getEleIndex(eleSrc);
  strPrompt = "您确定要从内存中清除[" + m_astrSenPart[iIndex] + "]部分所有的单词吗?";
  if (window.confirm(strPrompt) == false) return;
  
  m_astrWords[iIndex] = new Array();
  valueList(m_astrWords[iIndex], iIndex);
  //showArray(m_astrWords[iIndex]);
strPrompt = "单词清除完毕";
                alert(strPrompt);
                txtWord[iIndex].select();
                }
//-----------------------------------------------------------
                //将所选类别的当前词汇保存进文件中
                function save()
  {
  var eleSrc;
  var iIndex, iCount;
  
  //------------------------------------------
  //常变量说明
  //eleSrc :发生事件的元素
  //iIndex :表示词汇分类的数字。整型
  //iCount :计数器。整型
  //------------------------------------------
eleSrc = window.event.srcElement;
                iIndex = getEleIndex(eleSrc);
                
                if (m_astrWords[iIndex].length == 0)
  {
  //如果所选类别的当前单词个数为零
  var strPrompt;
  strPrompt = "[" + m_astrSenPart[iIndex] + "]部分现在一个可选单词也没有,您确定要保存吗?";
  strPrompt += "\n(这样将生成一个空的新文件)"; 
  if (window.confirm(strPrompt) == false) return;
  }
  
  //保存当前内存中所有的单词
  for (iCount = 0; iCount < m_iPartCnt; iCount ++)
  eval("frmWords.txtWords" + iCount).value = m_astrWords[iCount].join(",");
  
  frmWords.txtSenPart.value = iIndex;
  frmWords.txtOpWay.value = "SAVE";
  frmWords.submit();
  }
//-----------------------------------------------------------
                //从文件中读取所选类别的单词纪录
                function load()
  {
  var eleSrc;
  var iIndex, iCount;
  
  //------------------------------------------
  //常变量说明
  //eleSrc :发生事件的元素
  //iIndex :表示词汇分类的数字。整型
  //iCount :计数器。整型
  //------------------------------------------
eleSrc = window.event.srcElement;
                iIndex = getEleIndex(eleSrc);
  
  //保存当前内存中所有的单词
  for (iCount = 0; iCount < m_iPartCnt; iCount ++)
  eval("frmWords.txtWords" + iCount).value = m_astrWords[iCount].join(",")
frmWords.txtSenPart.value = iIndex;
                frmWords.txtOpWay.value = "LOAD";
                frmWords.submit();
                }
//-----------------------------------------------------------
                //显示词汇列表
                function showList(iIndex)
  {
  //如果未给定参数 iIndex
  //获得 iIndex
  if (iIndex == undefined)
  {
  //如果已有单词列表被固定,退出函数
  if (m_iListFixed != -1) return;
  
  var eleSrc;
  var iIndex;
  
  //------------------------------------------
  //常变量说明
  //eleSrc :发生事件的元素
  //iIndex :表示词汇分类的数字。整型
  //------------------------------------------
eleSrc = window.event.srcElement;
                iIndex = getEleIndex(eleSrc);
  }
  //alert("iIndex: "+iIndex);
  
  //显示词汇列表
  //lblWordList[iIndex].innerText = "[" + lblWordList[iIndex].innerText + "]";
  //lblWordList[iIndex].innerText = lblWordList[iIndex].innerText + ">";
  lblWordList[iIndex].className = "lblMOver";
  divWordList[iIndex].className= "listShown";
  }
//-----------------------------------------------------------
                //隐藏词汇列表
                function hideList(iIndex)
  {
  //如果未给定参数 iIndex
  //获得 iIndex
  if (iIndex == undefined)
  {
  //如果已有单词列表被固定,退出函数
  if (m_iListFixed != -1) return;
var eleSrc;
                var iIndex;
  
  //------------------------------------------
  //常变量说明
  //eleSrc :发生事件的元素
  //iIndex :表示词汇分类的数字。整型
  //------------------------------------------
eleSrc = window.event.srcElement;
                iIndex = getEleIndex(eleSrc);
  }
  //alert("iIndex: "+iIndex);
  
  //隐藏词汇列表
  //lblWordList[iIndex].innerText = lblWordList[iIndex].innerText.slice(0, -1);
  lblWordList[iIndex].className = "lblMOut";
  divWordList[iIndex].className= "listHidden";
  }
//-----------------------------------------------------------
                //固定词汇列表
                function fixList()
  {
  var eleSrc;
  var iIndex;
  
  //------------------------------------------
  //常变量说明
  //eleSrc :发生事件的元素
  //iIndex :表示词汇分类的数字。整型
  //------------------------------------------
eleSrc = window.event.srcElement;
                iIndex = getEleIndex(eleSrc);
  
  switch (m_iListFixed)
  {
  case -1:
  //如果还没有单词列表被固定
  //固定当前列表
  m_iListFixed = iIndex;
  lblWordList[iIndex].className = "lblClicked";
  divWordList[iIndex].className= "listFixed";
  break;
  
  case iIndex:
  //如果被固定单词列表是当前列表
  //解固当前列表
  m_iListFixed = -1;
  lblWordList[iIndex].className = "lblMOver";
  divWordList[iIndex].className= "listShown";
  break;
default:
                //如果被固定单词列表不是当前列表
                //解固被固定列表
                hideList(m_iListFixed);
                m_iListFixed = -1;
  lblWordList[iIndex].className = "lblMOver";
  showList(iIndex);
  break;
  }
//alert("m_iListFixed: " + m_iListFixed + "\niIndex: " + iIndex);
                }
//-----------------------------------------------------------
                //写入某类词汇已载入的单词
                function valueList(aWords, iSenPart)
  {
  var iCount, iWrdCnt;
  var strListPpt;
  
  //------------------------------------------
  //常变量说明
  //iCount :计数器。整型
  //iWrdCnt :某类词汇单词的数目。整型
  //strListPpt :单词列表中的提示。字符串型
  //------------------------------------------
//数据准备
                iWrdCnt = aWords.length;
                lblWordCount[iSenPart].innerText = iWrdCnt;
  strListPpt = "<div><span  RED; font-style: Italic; font-size: 10.5pt;'>";
  strListPpt += "双击单词将其删除</span></div>";
  
  //将单词写入列表
  if (iWrdCnt != 0)
  {
  divWordList[iSenPart].innerHTML = strListPpt;
  for (iCount = 0; iCount < iWrdCnt; iCount ++)
  divWordList[iSenPart].innerHTML += makeOpt(aWords[iCount], iCount);
  }
  else
  divWordList[iSenPart].innerHTML = strListPpt;
  }
//-----------------------------------------------------------
                //显示帮助列表
                function showHelp()
  {
  //如果帮助列表已被固定,退出函数
  if (m_iHelpFixed == 0) return;
//显示帮助
                lblHelp.className = "lblMOver";
                divHelp.className = "helpShown";
                }
//-----------------------------------------------------------
                //隐藏帮助列表
                function hideHelp()
  {
  //如果帮助列表已被固定,退出函数
  if (m_iHelpFixed == 0) return;
//隐藏帮助
                lblHelp.className = "lblMOut";
                divHelp.className = "helpHidden";
                }
//-----------------------------------------------------------
                //固定帮助列表
                function fixHelp()
  {
  if (m_iHelpFixed == -1)
  {
  //如果帮助列表还未被固定
  //固定它
  m_iHelpFixed = 0;
  lblHelp.className = "lblClicked";
  divHelp.className = "helpFixed";
  }
  else
  {
  //如果帮助列表已被固定
  //解固它
  m_iHelpFixed = -1;
  lblHelp.className = "lblMOver";
  divHelp.className = "helpShown";
  }
  }
//-----------------------------------------------------------
                //重置页面至初始状态
                function resetAll()
  {
  var iCount;
  //------------------------------------------
  //常变量说明
  //iCount :计数器。整型
  //------------------------------------------
for (iCount = 0; iCount < m_iPartCnt; iCount ++)
  {
  txtWord[iCount].value= "";
  m_astrWords[iCount] = new Array(); //将单词数组清空
  valueList(m_astrWords[iCount], iCount);
  }
txtSentence.value = "";
                txtWord[0].focus();
                }
//-----------------------------------------------------------
                //把所有类别的单词都存入文件
                function saveAll()
  {
  var iCount, iEmptyCnt;
  var strPrompt;
  
  //------------------------------------------
  //常变量说明
  //iCount :计数器。整型
  //iEmptyCnt :单词数目为0的类别个数。整型
  //strPrompt :操作提示。字符串型
  //------------------------------------------
iEmptyCnt = 0;
                for (iCount = 0; iCount < m_iPartCnt; iCount ++)
  {
  //保存当前内存中所有的单词
  eval("frmWords.txtWords" + iCount).value = m_astrWords[iCount].join(",");
  if (m_astrWords[iCount].length == 0)
  iEmptyCnt ++;
  }
  //alert("iEmptyCnt: " + iEmptyCnt);
  
  if (iEmptyCnt > 0)
  {
  switch (iEmptyCnt)
  {
  case m_iPartCnt:
  strPrompt = "所有类别的词汇单词个数都为0,操作将会产生" + m_iPartCnt + "个空文件";
  strPrompt += "\n您确定要这样做吗?";
  break;
default:
                strPrompt = "其中,";
                for (iCount = 0; iCount < m_iPartCnt; iCount ++)
  if (m_astrWords[iCount].length == 0)
  strPrompt += "[" + m_astrSenPart[iCount] + "]、";
  strPrompt = strPrompt.slice(0, -1);
  strPrompt += "部分单词个数为0";
  strPrompt += "\n操作将会产生" + iEmptyCnt + "个空文件";
  strPrompt += ",您确定要这样做吗?";
  }
if (window.confirm(strPrompt) == false) return;
  }
  
  frmWords.txtOpWay.value = "SAVEALL";
  frmWords.submit();
  }
//-----------------------------------------------------------
                //从文件中载入所有类别的单词
                function loadAll()
  {
  var iCount;
  //------------------------------------------
  //常变量说明
  //iCount :计数器。整型
  //------------------------------------------
//保存当前内存中所有的单词
                for (iCount = 0; iCount < m_iPartCnt; iCount ++)
  eval("frmWords.txtWords" + iCount).value = m_astrWords[iCount].join(",")
  
  frmWords.txtOpWay.value = "LOADALL";
  frmWords.submit();
  }
//-----------------------------------------------------------
                //进行词汇搭配,得到一个句子
                function assemble()
  {
  var iCount, iWrdCnt, iRndIndex;
  var strSentence;
  
  //------------------------------------------
  //常变量说明
  //iCount :计数器。整型
  //iWrdCnt :某类词汇单词的个数。整型
  //iRndIndex :随机产生的单词索引。整型
  //strSentence :由各个类别词汇中的随机单词组成的句子。字符串型
  //------------------------------------------
strSentence = "";
                for (iCount = 0; iCount < m_iPartCnt; iCount ++)
  {
  //如果当前类别词汇的个数为0
  //给出提示,并中止搭配
  iWrdCnt = m_astrWords[iCount].length;
  if (iWrdCnt == 0)
  {
  var strPrompt;
  //------------------------------------------
  //常变量说明
  //strPrompt :操作提示。字符串型
  //------------------------------------------
strPrompt = "[" + m_astrSenPart[iCount] + "]部分一个可选单词也没有";
                strPrompt += "\n请至少输入一个单词";
                alert(strPrompt);
                txtWord[iCount].select();
                return;
                }
                
                //随机抽取当前类别词汇中的一个单词
                //加入到句子中
                iRndIndex = Math.floor(Math.random()*iWrdCnt);
  strSentence += m_astrWords[iCount][iRndIndex];
  //alert("iWrdCnt: " + iWrdCnt + "\niRndIndex: " + iRndIndex);
  }
  
  strSentence += "。";
  txtSentence.value = strSentence;
  }
//使鼠标移到之处的按钮
                //产生“点亮”的效果
                function lightBtn()
                {
                var eleSrc;
  //------------------------------------------
  //常变量说明
  //eleSrc :发生事件的元素
  //------------------------------------------
eleSrc = window.event.srcElement;
                while (eleSrc.tagName.toUpperCase() != "BUTTON")
                eleSrc = eleSrc.parentElement;
                eleSrc.className = "btnLighted";
                }
//使鼠标离开的按钮
                //还原为初始状态
                function delightBtn()
                {
                var eleSrc;
  //------------------------------------------
  //常变量说明
  //eleSrc :发生事件的元素
  //------------------------------------------
eleSrc = window.event.srcElement;
                while (eleSrc.tagName.toUpperCase() != "BUTTON")
                eleSrc = eleSrc.parentElement;
                eleSrc.className = "btnDelighted";
                }
//在列表中,使鼠标移到之处的单词
                //产生“点亮”的效果
                function lightOpt(ele)
                {
                var eleSrc;
//------------------------------------------
//常变量说明
//eleSrc :发生事件的元素
//------------------------------------------ 
eleSrc = ele;
                eleSrc.className = "optLighted";
                }
//在列表中,使鼠标离开的单词
                //还原为初始状态
                function delightOpt(ele)
                {
                var eleSrc;
  //------------------------------------------
  //常变量说明
  //eleSrc :发生事件的元素
  //------------------------------------------
eleSrc = ele;
                eleSrc.className = "optDelighted";
                }
//得到定义过的将加入列表的单词
                function makeOpt(strWord, iWrdIdx)
                {
                var strOptHead, strOptFoot;
  var strOptWord;
  
  //------------------------------------------
  //常变量说明
  //strOptHead :重定义单词头。字符串型
  //strOptFoot :重定义单词尾。字符串型
  //strOptWord :重定义单词。字符串型
  //------------------------------------------
strOptHead = "<div class='optDelighted' " + iWrdIdx + "'>";
  strOptFoot = "</div>";
  strOptWord = strOptHead + strWord + strOptFoot;
  //alert(strOptWord);
  
  return strOptWord;
  }
//删除列表中的单词
                function removeOpt(ele)
                {
                var eleSrc;
                var iIndex, iWrdIdx;
  var astrWords, astrHead, astrFoot;
  
  //------------------------------------------
  //常变量说明
  //eleSrc :发生事件的元素
  //iIndex :表示词汇分类的数字。整型
  //iWrdIdx :单词在单词数组中的索引。整型
  //astrWords :某类词汇单词数组。字符串型数组
  //astrHead :某类词汇单词数组头部分。字符串型数组
  //astrFoot :某类词汇单词数组尾部分。字符串型数组
  //------------------------------------------
eleSrc = ele;
                iIndex = getEleIndex(eleSrc.parentElement);
                iWrdIdx = parseInt(eleSrc.wrdIdx);
//将单词从词汇数组中删去
                //showArray(m_astrWords[iIndex]);
                astrWords = m_astrWords[iIndex].concat();
  astrHead = astrWords.slice(0, iWrdIdx);
  astrFoot = astrWords.slice(iWrdIdx + 1);
  m_astrWords[iIndex] = astrHead.concat(astrFoot);
  //showArray(astrHead);
  //showArray(astrFoot);
  //showArray(m_astrWords[iIndex]);
//将剩余的单词重新写入到页面中
                valueList(m_astrWords[iIndex], iIndex);
  txtWord[iIndex].select();
  }
  //-->
</script>
</head>
<body>
              <!--标题-->
              <div align="CENTER">
              <span  20pt; font-weight: BOLD">词语搭配游戏</span>
<span class="fontEng2">v1.0</span>
</div>
<hr  HIDDEN">
              <!--主表格1-->
              <table border="0" align="CENTER" width="80%">
  
<colgroup></colgroup>
<colgroup></colgroup>
<colgroup></colgroup>
<colgroup></colgroup>
<colgroup></colgroup>
<colgroup></colgroup>
<colgroup align="CENTER"></colgroup>
<colgroup></colgroup>
  
<%For m_iCount = 0 To (m_iPartCnt - 1)%>
<tr>
<td><%= m_astrSenPart(m_iCount)%></td>
<td width="20%"><input type="text" id="txtWord"  100%"></td>
<td><button id="btnGetWord"  75px" title="将单词保存到内存中">保存</button></td>
<td><button id="btnReset"  75px" title="从内存中删去当前类别所有的单词">重置</button></td>
<td><button id="btnSave"  75px" title="将单词保存到文件中">存入</button></td>
<td><button id="btnLoad"  75px" title="从文件中载入单词">载入</button></td>
<td width="15%"><label id="lblWordList" title="单击固定我">单词列表</label></td>
<td>
<div id="divWordList" class="listHidden"></div>
  个数:<label id="lblWordCount" class="fontEng1"><%= 0%></label>
</td>
</tr>
<%Next%>
  
</table>
<hr  HIDDEN">
              <hr  BLUE">
<!--主表格2-->
<table border="0" align="CENTER" width="80%">
<colgroup width="16%"></colgroup>
<colgroup width="16%"></colgroup>
<colgroup width="16%"></colgroup>
<colgroup></colgroup>
<tr>
              <td><button id="btnResetAll" accesskey="r" title="从内存中删去所有类别的单词" class="btnDelighted">全部重置 <u>R</u></button></td>
              <td><button id="btnSaveAll" accesskey="s" title="将所有类别的单词保存到文件中" class="btnDelighted">全部存入 <u>S</u></button></td>
<td><button id="btnLoadAll" accesskey="l" title="从文件中载入所有类别的单词" class="btnDelighted">全部载入 <u>L</u></button></td>
<td>
<span  9pt; color: RED;">请单击</span>?<label id="lblHelp" title="单击固定我">游戏说明</label>
<!--帮助说明表格-->
<div id="divHelp" class="helpHidden">
<table id="tblHelp" border="0" align="CENTER" width="300px"  9pt;">
<colgroup width="75px"></colgroup>
<colgroup></colgroup>
  
<tr><td colspan="2">
<a href="#1"  BLUE;">游戏步骤</a>
<a href="#2"  BLUE;">操作说明</a>
<a href="#3"  BLUE;">游戏起源</a>
<a href="#4"  BLUE;">制作原因</a>
<a href="#5"  BLUE;">游戏功效</a>
<a name="0"  NONE;">TOP</a>
</td></tr>
  
<!--游戏步骤-->
<tr><td colspan="2"></td></tr>
<tr><td colspan="2">
  [<a name="1"  BLUE;">游戏步骤</a>]?
<a href="#0" class="link">TOP</a>
</td></tr>
<tr><td colspan="2">
<span class="fontEng1"><1></span>在每个部分的<span class="fontEmp">输入框</span>中输入单词, 按<span class="fontEmp">回车</span>或<span class="fontEmp">“保存”</span>按钮存入内存中;
  或按<span class="fontEmp">“载入”</span>按钮调出以前保存的某类别单词纪录;
  或按<span class="fontEmp">“全部载入”</span>按钮调出以前保存的所有类别单词纪录
<span class="fontEng1"><2></span>按<span class="fontEmp">“开始搭配”</span>按钮,系统将从各类单词中随机抽取一个,组成一个句子
</td></tr>
<!--操作说明-->
              <tr><td colspan="2"></td></tr>
<tr><td colspan="2">
  [<a name="2"  BLUE;">操作说明</a>]?
<a href="#0" class="link">TOP</a>
</td></tr>
<tr>
<td>保存</td>
<td>得到用户输入的单词</td>
</tr>
  
<tr>
<td>重置</td>
<td>将当前类别所有的单词从内存中删去</td>
</tr>
  
<tr>
<td>存入</td>
<td>将所选类别的当前词汇保存进文件中</td>
</tr>
  
<tr>
<td>载入</td>
<td>从文件中读取所选类别的单词纪录</td>
</tr>
  
<tr>
<td>全部重置</td>
<td>重置页面至初始状态</td>
</tr>
  
<tr>
<td>全部保存</td>
<td>把所有类别的单词都存入文件</td>
</tr>
  
<tr>
<td>全部载入</td>
<td>从文件中载入所有类别的单词</td>
</tr>
  
<tr>
<td>开始搭配</td>
<td>进行词汇搭配,得到一个句子</td>
</tr>
  
<tr><td></td></tr>
<tr><td colspan="2">
<span class="fontEng1"><1></span>
<span class="fontEmp">将鼠标移至“单词列表”处</span>,会弹出该类词汇的单词列表;
<span class="fontEmp">将鼠标移开</span>,列表会自动隐藏;
<span class="fontEmp">点击“单词列表”</span>,会固定单词列表;
<span class="fontEmp">再次点击</span>,会取消固定
<span class="fontEng1"><2></span>
                在<span class="fontEmp">固定住一个单词列表</span>后,
<span class="fontEmp">双击</span>该列表中的某个单词,可以将该单词从内存中删去
<span class="fontEng1"><3></span>
                输完一个单词后,<span class="fontEmp">直接按回车</span>就可以保存了,这样比按“保存”保存单词更方便
</td></tr>
  
<!--游戏起源-->
<tr><td colspan="2"></td></tr>
<tr><td colspan="2">
  [<a name="3"  BLUE;">游戏起源</a>]?
<a href="#0" class="link">TOP</a>
</td></tr>
<tr><td colspan="2">
  这个游戏想法来自于小时候玩的纸团游戏。那时和姐姐在家里闲得无聊,就玩这个,哈哈。
  玩法很简单,做一些纸片,分成四堆,分别写上<span class="fontEmp">亲朋好友的名字</span>、<span class="fontEmp">形容程度的词语</span>、<span class="fontEmp">关于地点的词语</span>和<span class="fontEmp">所做的事情</span>。
  然后,将纸片捏成纸团,<span class="fontEng1">OK, Let's Start!</span> 现在从每堆中抽出一个纸团,就有四个词语,将它们组成一句话,因为是随便抽的,有时能组成很搞笑的句子。
  如:陈楠兴奋地在大街上跳夏威夷草裙舞;万民悠闲地在公园里洗澡。^_+
</td></tr>
<!--制作原因-->
              <tr><td colspan="2"></td></tr>
<tr><td colspan="2">
  [<a name="4"  BLUE;">制作原因</a>]?
<a href="#0" class="link">TOP</a>
</td></tr>
<tr><td colspan="2">
  主要是无聊,想做个游戏娱乐一下自己,当然也希望大家能从中得到笑声。
  其次也想锻炼一下自己的技术,以前用<span class="fontEng1">VB</span>做过一个,不是很好,这次用的是<span class="fontEng1">ASP</span>,不知有没有进步,呵呵
  这个版本我大概地测试了一下,没发现大的<span class="fontEng1">bug</span>。如果您在游戏中发现了问题或有什么建议,请一定告诉我,在此先谢谢了!
  我的信箱是<a href="mailto: iamchn21cn.com" class="link">iamchn21cn.com</a>。不好你就说吗!不可能你说好我又说不好,你不说好我又说好的,^_+
</td></tr>
<!--游戏功效-->
              <tr><td colspan="2"></td></tr>
<tr><td colspan="2">
  [<a name="5"  BLUE;">游戏功效</a>]?
<a href="#0" class="link">TOP</a>
</td></tr>
<tr><td colspan="2">
  因为是搞笑游戏,所以能使你心情愉快、青春焕发,间接增加找对象的成功率;
  因为不用做纸团了,减少了浪费和污染,从而美化了世界环境;
  相信还有很多功效,请大家帮我找。哈哈。
</td></tr>
</table>
</div>
  
</td>
</tr>
  
<tr>
<td><button id="btnAsb" accesskey="a" title="从每个类别词汇中随机抽取一个单词,组成一个句子"class="btnDelighted">开始搭配 <u>A</u></button></td>
<td colspan="3"><input type="text" id="txtSentence"  100%"></td>
</tr>
</table>
<hr  BLUE">
<!--提交表单-->
              <form id="frmWords" method="POST" action=""  NONE;">
              <%For m_iCount = 0 To (m_iPartCnt - 1)%>
<input type="text" name="txtWords<%= m_iCount%>">
<%Next%>
<input type="text" name="txtSenPart">
<input type="text" name="txtOpWay">
</form>
<!--版权-->
              <div align="CENTER">
              <div>
                ? <span class="fontEng2">2001 China Sentin Sci. & Tech. Co., Ltd.</span>?
<span class="fontEng2">All Rights Reserved.</span>
</div>
<div>
<span class="fontEng2">Authored by</span> <a href="mailto: iamchn21cn.com" class="link">Recon</a></span>
<a href="http://recon.top263.net/" class="link">http://recon.top263.net/</a>
</div>
</div>
</body>
</html>
<%
                '以下是服务器端脚本
                '用到的函数和过程
'************************
                '函数名 :SaveFile
                '功能 :将某类词汇保存到文件中
                '输入 :1、iSenPart :表示词汇分类的数字。整型
  ' 可能的值有:
  ' 0:主语
  ' 1:程度状语
  ' 2:地点状语
  ' 3:谓语
  '输出 :对文件操作后的状态值。整型
  ' 可能的值有:
  ' 0:操作成功
  ' 1:操作失败
  '************************
  Function SaveFile(iSenPart)
  Dim fsoMain, tsfWords
  Dim iCount, iWrdCnt
  Dim iOpStatus
  
  '------------------------------------------
  '常变量说明
  'fsoMain :FSO对象
  'tsfWords :TEXTSTREAM对象
  'iCount :计数器。整型
  'iWrdCnt :某类词汇单词的数目。整型
  'iOpStatus :文件操作完毕后的状态。整型
  '------------------------------------------
Set fsoMain = Server.CreateObject("SCRIPTING.FILESYSTEMOBJECT")
                Set tsfWords= fsoMain.CreateTextFile(m_strFilePath & m_astrFileName(iSenPart), True)
  tsfWords.WriteLine("[" & m_astrSenPart(iSenPart) & "部分]")
  
  '如果该类别至少有一个单词
  If IsEmpty(m_astrWords(iSenPart)) = False Then
  iWrdCnt = UBound(m_astrWords(iSenPart)) + 1
  For iCount = 0 To (iWrdCnt - 1)
  tsfWords.WriteLine(m_astrWords(iSenPart)(iCount))
  Next
  End If
  
  tsfWords.Close
  iOpStatus = 0
SaveFile = iOpStatus
                End Function
'************************
                '函数名 :LoadFile
                '功能 :从文件中载入某类词汇
                '输入 :1、iSenPart :表示词汇分类的数字。整型
  ' 可能的值有:
  ' 0:主语
  ' 1:程度状语
  ' 2:地点状语
  ' 3:谓语
  '输出 :对文件操作后的状态值。整型
  ' 可能的值有:
  ' 0:操作成功
  ' 1:操作失败
  '************************
  Function LoadFile(iSenPart)
  Dim fsoMain, tsfWords
  Dim strLoaded
  Dim iOpStatus
  
  '------------------------------------------
  '常变量说明
  'fsoMain :FSO对象
  'tsfWords :TEXTSTREAM对象
  'strLoaded :某类词汇所有单词构成的字符串。字符串型
  'iOpStatus :文件操作完毕后的状态。整型
  '------------------------------------------
Set fsoMain = Server.CreateObject("SCRIPTING.FILESYSTEMOBJECT")
                If fsoMain.FileExists(m_strFilePath & m_astrFileName(iSenPart)) = True Then
  '如果存在纪录文件 
  strLoaded = ""
  Set tsfWords= fsoMain.OpenTextFile(m_strFilePath & m_astrFileName(iSenPart), 1)
  tsfWords.SkipLine
  Do While tsfWords.AtEndOfStream = False
  strLoaded = strLoaded & tsfWords.ReadLine & ","
  Loop
  
  If strLoaded <> "" Then
  strLoaded = Left(strLoaded, Len(strLoaded) - 1)
  m_astrWords(iSenPart) = Split(strLoaded, ",")
  Else
  m_astrWords(iSenPart) = Empty
  End If
  
  tsfWords.Close
  iOpStatus = 0
  Else 
  '如果不存在纪录文件
  iOpStatus = 1
  End If
LoadFile = iOpStatus
                End Function
                %>
<%
                '以下是服务器端脚本
                '用于测试的函数和过程
Sub Show(strDef)
                Response.Write strDef & ": " & Eval(strDef) & "
"
                End Sub
Sub ShowMethod()
                Response.Write "Request Method: " & Request.ServerVariables("REQUEST_METHOD") & "
"
                End Sub
Sub ShowForm()
                Dim iCount
                Dim strProp
iCount = 0
                Response.Write "*********Form Information******
"
  For Each strProp In Request.Form
  iCount = iCount + 1
  Response.Write iCount & "." & strProp & ": " & Request.Form(strProp) & "
"
  Next
  Response.Write "*********Form End**************
"
  End Sub
  %>
                   
 
  
 
 
  
