欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

ASP實例:詞語搭配游戲的制作_ASP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:ASP 3.0高級編程(四十一)
9.2.3 存儲過程 存儲過程的使用是Command對象得到應用的一個領域。存儲過程(有時也稱存儲查詢)是存儲在數據庫中預先定義的SQL查詢語句。 為什么應該創(chuàng)建和使用存儲過程而不是在代碼中直接使用

這是個關于詞語搭配的游戲,是用ASP、VBScript和JavaScript寫的。

在本機Win98 OEM2、PWS、IE5下測試下沒發(fā)現大問題。

使用方法:

方法一:比方說你的3W服務的目錄是C:\Inetpub\wwwroot,在下面建一個目錄,如wordAsb;將游戲文件(wordAsb.asp)拷入目錄中;在IE的地址欄中鍵入http:// 你的機器名 /wordAsb/wordAsb.asp或http://127.0.0.1/wordAsb/wordAsb.asp,回車,就可以開始游戲了

方法二:將游戲文件(wordAsb.asp)隨便拷入一新建的目錄。鼠標右鍵點擊該目錄,菜單中選“屬性”,點“Web Sharing”屬性頁,點選“Share this folder”項,點“OK”就可以了。在IE的地址欄中鍵入http:// 你的機器名 /新建目錄的名稱/wordAsb.asp或http://127.0.0.1/ 新建目錄的名稱 /wordAsb.asp,回車,就可以開始游戲了。

注:您的機子OS應該是NT或Win2000 Server或其他OS但是裝有PWS

游戲方法:

單擊游戲中的“游戲說明”就知道了;如果有時頁面一片空白,請按F5刷新一遍(這也是目前最大的bug吧)。

代碼如下:

以下為引用的內容:
<%@ 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 :紀錄對各個文件操作后的狀態(tài)。整型數組
'------------------------------------------

'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 :發(fā)生操作失敗的次數。整型
'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)

'根據操作狀態(tài),得到提示信息
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

'根據操作狀態(tài),得到提示信息
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)

'根據操作狀態(tài),得到提示信息
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

'根據操作狀態(tài),得到提示信息
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 :要規(guī)整的字串。字符串型
//輸出 :規(guī)整后的字串。字符串型
//************************
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 :要規(guī)整的字串。字符串型
//輸出 :規(guī)整后的字串。字符串型
//************************
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 :要規(guī)整的字串。字符串型
//輸出 :規(guī)整后的字串。字符串型
//************************
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
//功能 :得到發(fā)生事件的元素在同名集合中的索引
//輸入 :1、eleSrc :發(fā)生事件的元素。對象型
//輸出 :發(fā)生事件的元素在同名集合中的索引
//************************
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 :表示幫助列表固定狀態(tài)的數字。整型
// -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");
}

//設置頁面初始狀態(tài)
if (m_strPrompt != "")
alert(m_strPrompt);
txtWord[0].focus();
}

//-----------------------------------------------------------
//得到用戶輸入的單詞
function getWord()
{
//只有當在單詞輸入框中按回車或
//按“保存”按鈕時才繼續(xù)做下去
if (window.event.type != "keypress" && window.event.type != "click")
return;
else
if (window.event.type == "keypress" && window.event.keyCode != 13) return;

var eleSrc;
var iIndex, iNxtWrdIdx;
var strWord;

//------------------------------------------
//常變量說明
//eleSrc :發(fā)生事件的元素
//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 :發(fā)生事件的元素
//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 :發(fā)生事件的元素
//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 :發(fā)生事件的元素
//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 :發(fā)生事件的元素
//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 :發(fā)生事件的元素
//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 :發(fā)生事件的元素
//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 style='color: 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";
}
}

//-----------------------------------------------------------
//重置頁面至初始狀態(tài)
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 :發(fā)生事件的元素
//------------------------------------------

eleSrc = window.event.srcElement;
while (eleSrc.tagName.toUpperCase() != "BUTTON")
eleSrc = eleSrc.parentElement;
eleSrc.className = "btnLighted";
}

//使鼠標離開的按鈕
//還原為初始狀態(tài)
function delightBtn()
{
var eleSrc;
//------------------------------------------
//常變量說明
//eleSrc :發(fā)生事件的元素
//------------------------------------------

eleSrc = window.event.srcElement;
while (eleSrc.tagName.toUpperCase() != "BUTTON")
eleSrc = eleSrc.parentElement;
eleSrc.className = "btnDelighted";
}

//在列表中,使鼠標移到之處的單詞
//產生“點亮”的效果
function lightOpt(ele)
{
var eleSrc;
//------------------------------------------
//常變量說明
//eleSrc :發(fā)生事件的元素
//------------------------------------------
eleSrc = ele;
eleSrc.className = "optLighted";
}

//在列表中,使鼠標離開的單詞
//還原為初始狀態(tài)
function delightOpt(ele)
{
var eleSrc;
//------------------------------------------
//常變量說明
//eleSrc :發(fā)生事件的元素
//------------------------------------------

eleSrc = ele;
eleSrc.className = "optDelighted";
}

//得到定義過的將加入列表的單詞
function makeOpt(strWord, iWrdIdx)
{
var strOptHead, strOptFoot;
var strOptWord;

//------------------------------------------
//常變量說明
//strOptHead :重定義單詞頭。字符串型
//strOptFoot :重定義單詞尾。字符串型
//strOptWord :重定義單詞。字符串型
//------------------------------------------

strOptHead = "<div class='optDelighted' onmouseover='lightOpt(this);' onmouseout='delightOpt(this);' ondblclick='removeOpt(this);' wrdIdx='" iWrdIdx "'>";
strOptFoot = "</div>";
strOptWord = strOptHead strWord strOptFoot;
//alert(strOptWord);

return strOptWord;
}

//刪除列表中的單詞
function removeOpt(ele)
{
var eleSrc;
var iIndex, iWrdIdx;
var astrWords, astrHead, astrFoot;

//------------------------------------------
//常變量說明
//eleSrc :發(fā)生事件的元素
//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 style="font-size: 20pt; font-weight: BOLD">詞語搭配游戲</span>
<span class="fontEng2">v1.0</span>
</div>

<hr style="visibility: 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" style="width: 100%"></td>
<td><button id="btnGetWord" style="width: 75px" title="將單詞保存到內存中">保存</button></td>
<td><button id="btnReset" style="width: 75px" title="從內存中刪去當前類別所有的單詞">重置</button></td>
<td><button id="btnSave" style="width: 75px" title="將單詞保存到文件中">存入</button></td>
<td><button id="btnLoad" style="width: 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 style="visibility: HIDDEN">
<hr style="color: 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 style="font-size: 9pt; color: RED;">請單擊</span> <label id="lblHelp" title="單擊固定我">游戲說明</label>
<!--幫助說明表格-->
<div id="divHelp" class="helpHidden">
<table id="tblHelp" border="0" align="CENTER" width="300px" style="font-size: 9pt;">
<colgroup width="75px"></colgroup>
<colgroup></colgroup>

<tr><td colspan="2">
<a href="#1" style="color: BLUE;">游戲步驟</a>
<a href="#2" style="color: BLUE;">操作說明</a>
<a href="#3" style="color: BLUE;">游戲起源</a>
<a href="#4" style="color: BLUE;">制作原因</a>
<a href="#5" style="color: BLUE;">游戲功效</a>
<a name="0" style="display: NONE;">TOP</a>
</td></tr>

<!--游戲步驟-->
<tr><td colspan="2"></td></tr>
<tr><td colspan="2">
[<a name="1" style="color: 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>按鈕調出以前保存的所有類別單詞紀錄<br>
<span class="fontEng1"><2></span>按<span class="fontEmp">“開始搭配”</span>按鈕,系統(tǒng)將從各類單詞中隨機抽取一個,組成一個句子
</td></tr>

<!--操作說明-->
<tr><td colspan="2"></td></tr>
<tr><td colspan="2">
[<a name="2" style="color: 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>重置頁面至初始狀態(tài)</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>,會取消固定<br>

<span class="fontEng1"><2></span>
在<span class="fontEmp">固定住一個單詞列表</span>后,
<span class="fontEmp">雙擊</span>該列表中的某個單詞,可以將該單詞從內存中刪去<br>

<span class="fontEng1"><3></span>
輸完一個單詞后,<span class="fontEmp">直接按回車</span>就可以保存了,這樣比按“保存”保存單詞更方便
</td></tr>

<!--游戲起源-->
<tr><td colspan="2"></td></tr>
<tr><td colspan="2">
[<a name="3" style="color: 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" style="color: 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>,不知有沒有進步,呵呵
這個版本我大概地測試了一下,沒發(fā)現大的<span class="fontEng1">bug</span>。如果您在游戲中發(fā)現了問題或有什么建議,請一定告訴我,在此先謝謝了!
我的信箱是<a href="mailto: iamchn@21cn.com" class="link">iamchn@21cn.com</a>。不好你就說嗎!不可能你說好我又說不好,你不說好我又說好的,^_
</td></tr>

<!--游戲功效-->
<tr><td colspan="2"></td></tr>
<tr><td colspan="2">
[<a name="5" style="color: BLUE;">游戲功效</a>]
<a href="#0" class="link">TOP</a>
</td></tr>
<tr><td colspan="2">
因為是搞笑游戲,所以能使你心情愉快、青春煥發(fā),間接增加找對象的成功率;
因為不用做紙團了,減少了浪費和污染,從而美化了世界環(huán)境;
相信還有很多功效,請大家?guī)臀艺摇9?br /></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" style="width: 100%"></td>
</tr>
</table>
<hr style="color: BLUE">

<!--提交表單-->
<form id="frmWords" method="POST" action="" style="display: 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: iamchn@21cn.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:謂語
'輸出 :對文件操作后的狀態(tài)值。整型
' 可能的值有:
' 0:操作成功
' 1:操作失敗
'************************
Function SaveFile(iSenPart)
Dim fsoMain, tsfWords
Dim iCount, iWrdCnt
Dim iOpStatus

'------------------------------------------
'常變量說明
'fsoMain :FSO對象
'tsfWords :TEXTSTREAM對象
'iCount :計數器。整型
'iWrdCnt :某類詞匯單詞的數目。整型
'iOpStatus :文件操作完畢后的狀態(tài)。整型
'------------------------------------------

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:謂語
'輸出 :對文件操作后的狀態(tài)值。整型
' 可能的值有:
' 0:操作成功
' 1:操作失敗
'************************
Function LoadFile(iSenPart)
Dim fsoMain, tsfWords
Dim strLoaded
Dim iOpStatus

'------------------------------------------
'常變量說明
'fsoMain :FSO對象
'tsfWords :TEXTSTREAM對象
'strLoaded :某類詞匯所有單詞構成的字符串。字符串型
'iOpStatus :文件操作完畢后的狀態(tài)。整型
'------------------------------------------

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) & "<br>"
End Sub

Sub ShowMethod()
Response.Write "Request Method: " & Request.ServerVariables("REQUEST_METHOD") & "<br>"
End Sub

Sub ShowForm()
Dim iCount
Dim strProp

iCount = 0
Response.Write "*********Form Information******<br>"
For Each strProp In Request.Form
iCount = iCount 1
Response.Write iCount & "." & strProp & ": " & Request.Form(strProp) & "<br>"
Next
Response.Write "*********Form End**************<br>"
End Sub
%>

分享:ASP 3.0高級編程(十二)
4.2.3 服務器端包含指令的例子 本節(jié)提供了一些示例頁面,可以用來對各種服務器端包含語句進行實驗。打開示例網頁的子目錄Chapter04,顯示“SSI Directives and the ASP Server Object&rdqu

來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
相關ASP教程
欧美精品999| 亚洲综合一区二区精品导航| 亚洲网站在线观看| 日韩高清国产精品| 国产suv精品一区二区68| 1769国产精品视频| 26uuu精品一区二区| 中文字幕日韩在线播放| 国产免费xxx| 天堂中文字幕在线观看| 久久久久久久久丰满| 亚洲自拍偷拍九九九| 欧洲午夜精品久久久| 想看黄色一级片| 性感美女一级片| 久久99久久精品| 亚洲国产精品国自产拍av秋霞| 欧美性xxxx69| 老湿机69福利| 欧美精品系列| 婷婷一区二区三区| 国产在线观看精品| 香蕉网在线播放| 日韩精品视频中文字幕| 欧美经典一区二区三区| 欧美精品18videos性欧美| 自拍偷拍 国产| 免费观看黄色一级视频| 久久99久久久久| 国产香蕉精品视频一区二区三区| 青青草综合在线| 亚洲视频在线观看免费视频| 久久久久在线| 精品国产欧美一区二区| 亚洲欧美丝袜| 亚洲午夜无码久久久久| 亚洲久色影视| 日韩精品最新网址| youjizz.com亚洲| 免费黄色一级大片| 老司机一区二区三区| 日韩精品中文字幕在线一区| 中文字幕精品一区日韩| 日韩综合在线观看| 老鸭窝毛片一区二区三区| 精品国产3级a| 日本免费黄色小视频| 一区二区www| 美女视频免费一区| 一区二区欧美亚洲| 免费在线观看的毛片| 中文字幕在线中文字幕在线中三区| 国产激情偷乱视频一区二区三区| 中文字幕最新精品| 日本久久精品一区二区| 成人在线视频播放| 久久久激情视频| 欧美重口另类videos人妖| 国产精品久久无码| 四虎884aa成人精品最新| 亚洲777理论| 精品一卡二卡三卡四卡日本乱码 | 国产精品九九九| 北岛玲一区二区| 自拍自偷一区二区三区| 日韩欧美精品网址| 日本午夜精品一区二区三区| 中文字幕免费高清网站| 全部av―极品视觉盛宴亚洲| 在线精品高清中文字幕| 最新国产黄色网址| 欧美成年网站| 亚洲高清免费观看 | 亚洲资源在线网| 在线观看日韩一区二区| 能看的毛片网站| 久久综合加勒比| av不卡在线| 亚洲精品一区二区三区不| 免费看国产曰批40分钟| 成人国产二区| 日本一区二区久久| 91理论片午午论夜理片久久| 久久久久久久久久久久久久久久久| 激情久久五月| 亚洲男人的天堂在线| 鲁一鲁一鲁一鲁一av| 精品国产伦一区二区三区观看说明 | 美女久久网站| 最新日韩中文字幕| 四虎国产精品永久免费观看视频| 久久国产精品免费精品3p| 日韩欧美国产网站| 中文字幕中文字幕一区三区| 高清毛片aaaaaaaaa片| 久久尤物电影视频在线观看| 国产欧美韩国高清| 国产一级片播放| 久久久久99| 美女少妇精品视频| 欧美bbbbb性bbbbb视频| 国产精品成人a在线观看| 精品国产乱子伦一区| av无码精品一区二区三区| 免费观看性欧美大片无片| 五月激情综合色| 中国成人在线视频| 午夜福利一区二区三区| 国产精品福利一区二区三区| 国产私拍一区| 一级黄色短视频| 91性感美女视频| 91精品久久久久久久久不口人| 日本熟妇毛茸茸丰满| 麻豆传媒一区二区三区| 7777kkkk成人观看| 中国一级片在线观看| 久久综合五月| 国精产品一区一区三区有限在线| a级黄色免费视频| 国产精品综合| 久久久久久久久久久免费| 国产精成人品免费观看| 亚洲日本久久| 欧美日韩高清区| 午夜激情福利电影| 日韩在线一区二区| …久久精品99久久香蕉国产| 欧美激情图片小说| 热久久一区二区| 国产91精品久久久| 久久久久性色av无码一区二区| 久久激情五月激情| 国产精品免费视频久久久| 国产精品久免费的黄网站| 成人在线综合网| 亚洲综合社区网| 97精品人妻一区二区三区在线| 久久先锋影音av鲁色资源| 国产在线一区二区三区四区| 性做久久久久久久久久| 亚洲美女精品一区| 性做爰过程免费播放| 日本一区二区中文字幕| 欧美日韩亚洲国产综合| 国产熟人av一二三区| 国产成人调教视频在线观看| 日韩www在线| 日韩在线观看免费全集电视剧网站| 91热福利电影| 一级成人免费视频| 亚洲欧洲国产日本综合| 视频一区二区综合| 日韩色淫视频| 在线观看欧美黄色| 午夜精品在线免费观看| 奇米影视亚洲| 日韩少妇与小伙激情| 青青青视频在线播放| 久草这里只有精品视频| 成人在线免费观看视视频| 97人妻一区二区精品免费视频| 国产精品久久久久婷婷| 中文字幕一区二区中文字幕| av一级久久| 欧美哺乳videos| 无码av免费精品一区二区三区| 在线播放日韩| 57pao精品| 性高潮视频在线观看| 亚洲欧洲www| 无颜之月在线看| 欧美交a欧美精品喷水| 日韩成人中文电影| 国产三级在线观看完整版| 韩国av一区二区三区在线观看| 亚洲bt欧美bt日本bt| 黄色av免费观看| 日韩欧美一区二区三区| 亚洲视频一二三四| 激情综合网址| 日韩av手机在线观看| 一级黄色大毛片| 亚洲国产一区二区三区| 黑森林福利视频导航| 五月久久久综合一区二区小说| 九九热r在线视频精品| 中文字幕免费在线观看视频| 国产精品国产三级国产普通话蜜臀| 亚洲黄色av一区| 国产成+人+综合+亚洲欧美丁香花| 亚洲 国产 日韩 欧美| 最新高清无码专区| 欧美一级片免费播放| 日韩精品一卡| 久久久久久久久久久人体 | 欧美日韩1区| 26uuu日韩精品一区二区| 欧美一区二区三区久久久| 亚洲精品一卡二卡| 日本黄色三级大片| 亚洲欧洲日韩| 日韩av色在线| 性一交一乱一乱一视频| 欧美性生活久久| 国产精品麻豆入口| 国产一区欧美一区| 日产国产精品精品a∨| av一级亚洲| 丝袜亚洲另类欧美重口| 日韩免费一二三区| 亚洲欧洲在线观看av| 一区二区传媒有限公司| 亚洲电影在线一区二区三区| 日本一区二区在线播放| 亚洲国产精品欧美久久| 91.麻豆视频| 国产精品成人无码免费| 成人aa视频在线观看| 一区二区91美女张开腿让人桶| 亚洲美女久久| 欧美精品久久久久久久| 国产情侣av在线| 欧美日韩精品二区第二页| 久久av无码精品人妻系列试探| 成人小视频在线| 欧洲精品视频在线| 99久久婷婷国产综合精品电影√| 欧美亚洲视频在线观看| 性色av蜜臀av| 91精品国产综合久久福利软件| 欧美精品日韩在线| 久久夜色精品国产欧美乱极品| 国内少妇毛片视频| 欧美激情一区| 亚洲a成v人在线观看| 99精品美女视频在线观看热舞 | 精品自在线视频| 91福利免费视频| 欧美日韩中文一区| 久操视频免费看| 久久伊人中文字幕| 欧美日韩中文在线视频| 一本色道精品久久一区二区三区| 波多野结衣成人在线| 日韩激情综合| 久久99精品久久久久久青青91| 国产三级自拍视频| 欧美一区二区视频网站| 国产性生活大片| 亚洲三级电影网站| 色18美女社区| 国产一区二区不卡| 欧美少妇在线观看| 好吊一区二区三区| 国产伦精品一区二区三区视频免费 | 成人精品国产福利| 精品成在人线av无码免费看| 国产精品啊v在线| 国产视频精品网| 亚洲肉体裸体xxxx137| 91av在线播放视频| 蜜桃成人精品| 日韩在线观看免费全| 国产农村妇女毛片精品| 日韩欧美亚洲国产另类| 精品无码免费视频| 色婷婷一区二区三区四区| 受虐m奴xxx在线观看| 国产精品国产精品国产专区不片| 黄色小视频免费网站| 国产精品羞羞答答xxdd| 狠狠干 狠狠操| 久久动漫亚洲| 一区二区三区四区| 午夜久久影院| 久久国产主播精品| 第一sis亚洲原创| 成人区精品一区二区| 亚洲+变态+欧美+另类+精品| 国产精品视频大全| 亚洲一区二区三区免费| 欧美亚洲国产成人精品| 成人国产激情在线| 欧美国产日韩中文字幕在线| 国产又爽又黄网站亚洲视频123| 在线精品国产欧美| av一级黄色片| 亚洲视频电影图片偷拍一区| 国产美女明星三级做爰| 日韩激情av在线播放| 中文字幕在线播放不卡| 日韩精品一区二区三区中文不卡 | 久久老司机精品视频| 色老综合老女人久久久| 97精品在线播放| 日韩欧美高清在线视频| 久久精品黄色片| 色香蕉成人二区免费| 成年人午夜剧场| 一本一本大道香蕉久在线精品 | 精品一区二区三区日本| 久久国产精品亚洲人一区二区三区| 翡翠波斯猫1977年美国| 色婷婷色综合| 精品国产免费一区二区三区| 外国成人激情视频| 免费看污久久久| 国产一区二区三区四区三区四| 免费国产一区二区| 欧美黄污视频| 色一情一乱一伦一区二区三欧美| 一区免费视频| 三年中文高清在线观看第6集| 六月婷婷一区| 69sex久久精品国产麻豆| 麻豆91在线播放| 欧美激情精品久久久久久小说| 国产**成人网毛片九色| 天天干天天操天天玩| 2023国产精品自拍| 国产综合内射日韩久| 亚洲欧美经典视频| 亚洲一级片在线播放| 欧美特黄级在线| 全程偷拍露脸中年夫妇| 欧美日韩一区小说| 一区二区三区在线观看av| 日韩成人黄色av| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 久久天天躁狠狠躁老女人| 日本美女久久| 国产成人+综合亚洲+天堂| 欧美一区 二区| 国产伦精品一区二区三区视频孕妇 | 在线观看国产黄| 中文字幕日韩欧美| 日韩制服一区| 国产精品久久久久久久久影视| 欧美激情在线精品一区二区三区| 久久久精品国产一区二区三区| 精品成人久久| 2018中文字幕第一页| 国产成人亚洲精品狼色在线| ass极品水嫩小美女ass| 一区二区三区四区高清精品免费观看| 国产又色又爽又高潮免费| 精品视频资源站| 亚洲熟妇av乱码在线观看| 在线精品高清中文字幕| 日韩深夜福利网站| 成人黄色av网| 欧美在线首页| 水蜜桃在线免费观看| 国产成人免费视频| 亚洲成a人无码| 婷婷综合另类小说色区| 日韩综合在线观看| 伊人亚洲福利一区二区三区| 成人综合网站| 91免费视频国产| 国产精品a久久久久| 国产素人在线观看| 久久女同互慰一区二区三区| 日韩欧美黄色网址| 在线综合视频播放| 亚洲第一天堂在线观看| 国产91精品久| 日韩片欧美片| 欧美一级特黄aaaaaa在线看片| 成人免费精品视频| 日本xxxx裸体xxxx| 欧美视频日韩视频| 国产精品高潮呻吟av| 欧美精品videossex88| 久久91麻豆精品一区| 亚洲巨乳在线观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲一线二线三线久久久| 国内免费精品视频| 伊人av综合网| 亚洲一级大片| 日本高清不卡一区二区三| 国产一区二区三区高清播放| 亚洲调教欧美在线| 在线播放中文一区| 天堂中文在线资源| 国产在线观看91精品一区| 日韩视频一区| 国产福利在线免费| 天天操天天色综合| 中文字幕乱码一区二区| 久久久久久久久久久国产| 欧美精品一二| www.av片| 日韩美女久久久| 青青青国产在线| 久久99久久99精品免观看粉嫩| 国产成人精品一区二区免费看京 | 日本人69视频|