国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

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

2024-05-04 11:03:34
字體:
來源:轉載
供稿:網友

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

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

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

使用方法:

方法一:比方說你的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 :紀錄對各個文件操作后的狀態。整型數組
'------------------------------------------

'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();
}

//-----------------------------------------------------------
//得到用戶輸入的單詞
function getWord()
{
//只有當在單詞輸入框中按回車或
//按“保存”按鈕時才繼續做下去
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 :發生事件的元素
//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 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";
}
}

//-----------------------------------------------------------
//重置頁面至初始狀態
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' 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 :發生事件的元素
//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>按鈕,系統將從各類單詞中隨機抽取一個,組成一個句子
</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>重置頁面至初始狀態</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>,不知有沒有進步,呵呵
這個版本我大概地測試了一下,沒發現大的<span class="fontEng1">bug</span>。如果您在游戲中發現了問題或有什么建議,請一定告訴我,在此先謝謝了!
我的信箱是<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">
因為是搞笑游戲,所以能使你心情愉快、青春煥發,間接增加找對象的成功率;
因為不用做紙團了,減少了浪費和污染,從而美化了世界環境;
相信還有很多功效,請大家幫我找。哈哈。
</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:謂語
'輸出 :對文件操作后的狀態值。整型
' 可能的值有:
' 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) & "<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 服務器端包含指令的例子本節提供了一些示例頁面,可以用來對各種服務器端包含語句進行實驗。打開示例網頁的子目錄Chapter04,顯示“SSI Directives and the ASP Server Object&rdqu

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西峡县| 墨竹工卡县| 杭州市| 博乐市| 城市| 泽库县| 赞皇县| 甘孜| 且末县| 社旗县| 永城市| 杭锦旗| 新野县| 益阳市| 青龙| 望城县| 南安市| 嘉定区| 巴彦淖尔市| 承德市| 民丰县| 三穗县| 平阴县| 永和县| 岐山县| 凤城市| 三门峡市| 额济纳旗| 荆门市| 容城县| 含山县| 龙胜| 敦化市| 托里县| 富民县| 三台县| 广灵县| 景德镇市| 嘉禾县| 搜索| 阿尔山市|