动作很有趣。想在主页聊天室中加入动作吗?太容易了,只要你想要。在笔者的聊天室中采用了类BBS的动作模式,(其实模式可以任意,由自己决定了。)比如我输入“//kick menu“就会显示“XXX把menu踢得鼻青眼肿”,有趣吗。实是很简单的,判断输入字符首两个字符是否为“//”,然后根据后面的单词选择显示的内容。
If Instr(TALK,"//")=1 then
Select case Rtrim(Mid(Talk,3,5))//取“//”后的5个字符
Case "kik"
Application.lock
Application("show")=Session("name")&“把Right(Talk,len (Talk)-7) &“踢得鼻青眼肿。”& Application("show")
Application.unlock
Case
End Select
End if
这里使用了VBSCRIPT的几个字符串函数,以提取了Talk中的动作信息。聊天室的动作可以任意扩充,在笔者的聊天室中就有许多《大话西游》的台词呢。
4、其他功能扩充
*设置刷新时间
在words.asp中用(META http-equiv=“refresh” content=“10”)设置了固定的刷新时间10秒,但在实际中需要用户根据情况自己设定刷新时间,比如在速度较快时希望刷新时间短,而在速度慢时或想查看过去信息时希望刷新时间长些。我们可以在chat.asp加入一个文本输入框以输入客户想要在刷新时间,将此时间传给Session(“freshtime”),并把word.asp的那条语句改为:(% Response. Write “(META http-equiv=““refresh””content=“““&Session(“freshtime”)&”””)”%)即可。
*客户各自独立地显示帮助列表和控制命令
大家可能注意到了,上面所述的动作要为网友所知,必须要有一个帮助列表,而客户可以随时显示在自己的浏览器上而不会影响别人的版面。我家定义一个Session("show")变量存放各浏览器独立的信息(包括帮助信息和一些控制命令信息)。
在发送帮助列表和控制命令(如清屏、改名等)时,仍采用类BBS的方式,输入\h显示帮助,输入\n newname则改名。跟聊天室动作处理类似,我们首先判断首字符是否为“\”,然后用一系列Select Casa语句列出各类信息或作出种控制操作。
好了,一个功能较为强大的聊天室就构筑好了,在实际中还有许多自主性和可扩充的空间,各位朋友可以根据自己的喜好自由发挥。