看看下面的代码,能不能看懂就看你的悟性了每次有人发言,提交到另一个页面执行下面的代码: ------------------------------------------------------------------------- dim sd,newsd(50),line,j,i Application.Lock sd=Application("chat") line=Application("line") Application("line")=line+1 j=1 for i=3 to 50 step 2 newsd(j)=sd(i) newsd(j+1)=sd(i+1) j=j+2 next newsd(49)=line+1 newsd(50)=发言内容 Application("chat")=newsd Application.UnLock -------------------------------------------------------------------------------- application("line"):存放着所有用户的发言总数,每有人发言,它就增加1. application("chat"):是一个数组,下标50,它的单数元素,如1,3,5....49中存放所有用户发言 总数它的偶数元素存放发言内容. application("line")和application("chat")都是事先定义好的在另一个隐藏的框架中(此框架是不停刷新的),有如下代码, 其中的session("user")是事先定义的,保存着发言总数, 当没有新发言时,它同application("line")和application("chat")的第49元素大小相同: ---------------------------------------------------------------- dim userline,sd sd=Application("chat") for i=1 to 50 step 2 userline=sd(i) if sd(i)>session("user") then Response.Write sd(i+1) end if next session("user")=userline ---------------------------------------------------------------- 用这种方法,就算同一时间有25个人发言也不会被覆盖.你还可以把数组定义大些,比如100, 就可保证50个人同一时间发言不覆盖了.呼拉拉写这么多,可能你一时不能理解,我的语言 表达能力可能不是太好,希望能给你一点启发!
但单纯这样做,没用的
-------------------------------------------------------------------------
dim sd,newsd(50),line,j,i
Application.Lock
sd=Application("chat")
line=Application("line")
Application("line")=line+1
j=1
for i=3 to 50 step 2
newsd(j)=sd(i)
newsd(j+1)=sd(i+1)
j=j+2
next
newsd(49)=line+1
newsd(50)=发言内容
Application("chat")=newsd
Application.UnLock
--------------------------------------------------------------------------------
application("line"):存放着所有用户的发言总数,每有人发言,它就增加1.
application("chat"):是一个数组,下标50,它的单数元素,如1,3,5....49中存放所有用户发言
总数它的偶数元素存放发言内容.
application("line")和application("chat")都是事先定义好的在另一个隐藏的框架中(此框架是不停刷新的),有如下代码,
其中的session("user")是事先定义的,保存着发言总数,
当没有新发言时,它同application("line")和application("chat")的第49元素大小相同:
----------------------------------------------------------------
dim userline,sd
sd=Application("chat")
for i=1 to 50 step 2
userline=sd(i)
if sd(i)>session("user") then
Response.Write sd(i+1)
end if
next
session("user")=userline
----------------------------------------------------------------
用这种方法,就算同一时间有25个人发言也不会被覆盖.你还可以把数组定义大些,比如100,
就可保证50个人同一时间发言不覆盖了.呼拉拉写这么多,可能你一时不能理解,我的语言
表达能力可能不是太好,希望能给你一点启发!