课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

posted @ 2007-03-22 22:13  蓝魔  阅读(246)  评论(0)    收藏  举报