课10
Application 对象和Session对象
一、什么是ASP对象
简单的计数器程序1
Application.Lock
Application("Counter")=Application("Counter")+1
Application.Unlock
二、完整的计数器1
Function Counts(CounterFile)
dim objFSO,objTS
Application.Lock
set objFSO=server.CreateObject("scripting.FileSystemObject")
set objTS=objFSO.openTextFile(server.MapPath(counterFile),1,true)
if not objTS.AtEndOfStream Then
Counts=CLng(objTS.ReadLine)
end if
Counts=Counts+1
objTS.close
set objTS=objFSO.openTextFile(server.MapPath(CounterFile),2,true)
objTS.WriteLine(Counts)
objTS.close
Application.Unlock
end Function
您是第<% = Counts("Counter.txt") %> 位访客
---------------------------------------------------------------------------------------------
图形计数器
Function G_counts(CounterFile)
dim objFSO,objTS
Application.Lock
set objFSO=server.CreateObject("scripting.FileSystemObject")
set objTS=objFSO.openTextFile(server.MapPath(counterFile),1,true)
if not objTS.AtEndOfStream Then
Counts=CLng(objTS.ReadLine)
end if
Counts=Counts+1
objTS.close
set objTS=objFSO.openTextFile(server.MapPath(CounterFile),2,true)
objTS.WriteLine(Counts)
objTS.close
Application.Unlock
strCounts=Cstr(Counts)
For i=1 to len(strCounts)
G_counts=G_counts & "<img src=digit" & mid(strCounts,i,1) & ".jpg>"
next
end Function
您是的<% = G_counts("Counter2.txt") %>位访客
---------------------------------------------------------------------------------
在线票选
<%
Function ReadCounter(CounterFile)
Dim objFSO, objTS
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath(CounterFile), 1, True)
If Not objTS.AtEndOfStream Then
ReadCounter = CLng(objTS.ReadLine)
Else
ReadCounter = 0
End If
objTS.Close
End Function
'定义将累计票数写入文件函数,参数分别为存放累计票数的文件和累计票数
Sub WriteCounter(CounterFile, Counter)
Dim objFSO, objTS
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath(CounterFile), 2, True)
objTS.WriteLine(Counter)
objTS.Close
End Sub
%>
<%
Dim Vote, Counter1, Counter2, Counter3
Application.Lock
Vote = Request("Vote") '读取浏览者所票选的明星是谁
Counter1 = ReadCounter("Vote1.txt") '从文件读取第一个明星的票数
Counter2 = ReadCounter("Vote2.txt") '从文件读取第二个明星的票数
Counter3 = ReadCounter("Vote3.txt") '从论据读取第三个明星的票数
If Vote = "star1" Then '检查浏览者是否票选第一个明星
Counter1 = Counter1 + 1 '将所票选的明星票数加1
WriteCounter "Vote1.txt", Counter1 '将新的票数写入文件
ElseIf Vote = "star2" Then '检查浏览者是否票选第二个明星
Counter2 = Counter2 + 1 '将所票选的明星票数加1
WriteCounter "Vote2.txt", Counter2 '将新的票数写入文件
ElseIf Vote = "star3" Then '检查浏览者是否票选第三个明星
Counter3 = Counter3 + 1 '将所票选的明星票数加1
WriteCounter "Vote3.txt", Counter3 '将新的票数写入文件
End If
Application.UnLock
%>
<HTML>
<BODY BGCOLOR="#FFE8E6">
<P><IMG SRC="star0.jpg"></P>
<FONT FACE="幼圆">
只要用鼠标按一下您喜欢的明星照片,她就可以获得1票喔!
<TABLE>
<TR>
<TD><A HREF="default.asp?Vote=star1"><IMG SRC="star1.jpg" BORDER="0"></A></TD>
<TD><A HREF="default.asp?Vote=star2"><IMG SRC="star2.jpg" BORDER="0"></A></TD>
<TD><A HREF="default.asp?Vote=star3"><IMG SRC="star3.jpg" BORDER="0"></A></TD>
</TR>
<TR>
<TD>深田恭子得票数:<%= Counter1 %></TD>
<TD>松岛菜子得票数:<%= Counter2 %></TD>
<TD>酒井法子得票数:<%= Counter3 %></TD>
</TR>
</TABLE>
</BODY>
</HTML>
-----------------------------------------------------------------------------------------------------------
application 记录数组
dim Array(3)
Array(0)="网页设计"
Array(1)="E时代设计"
Array(2)="Flash"
Array(3)="ASP数据库设计"
dim Titles
Application("Titles")=Array
if isArray(Application("Titles")) then
For i=Lbound(Application("Titles")) to Ubound(Application("Titles"))
response.write Application("Titles")(i) & "<br>"
next
else
response.write Application("Titles") & "<br>"
end if
----------------------------------------------------------------------------------------------------------
Session 对象的使用
举例application 和session 的区别 page 202
--------------------------------------------------------------------------------------------------------
global的使用 page223

浙公网安备 33010602011771号