Källkoden för /anders.enges/asp/ex6.asp

<!--#include file="../inc/navstuff.asp" -->
Vissa ÄLSKAR accesscounters (Själv hatar jag dessa. Kanske för att
jag aldrig själv kommer upp i mångsiffriga tal på mina sidor...)<p>
Man kan enkelt skapa en counter med ASP. En fördel med ASP countern är att den
räknar antalet besökare som kommer till NÅGON sida i applikationen<p>
En nackdel med nedanstående kod är att räknaren nollställs om Web servern stängs
eller serverdatorn stängs<p>
Countern är således inte kopplad till en viss sida utan till själva
applikationen<p>
I <b>global.asa</b> filen kan man sätta in följande kod<p>
<FONT COLOR="#0000FF"><SCRIPT LANGUAGE="VBScript" RUNAT="Server"><br>
Sub Session_OnStart<br>
    ' ...<br>
    ' eventuell annan kod som skall köras<br>
    ' ...<br>
    Application.Lock<br>
    Application("NumVisits") = Application("NumVisits") + 1<br>
    If Application("NumVisits") = 1 Then<br>
        Application("STARTED") = Date<br>
    End if<br>
    Application.Unlock<br>
End Sub<br>
</SCRIPT><br>
</FONT><p>
Sedan kan man sätta in t.ex. följande:<p>
<div class=code>
Du är besökare <span class=asp><%= Application("NumVisits") %></span> sedan <span class=asp><%= Application("STARTED") %></span>
</div><br>
<div class=res>
Du är besökare <%= Application("NumVisits") %>  sedan <%= Application("STARTED") %>
</div>
<p>

Eller varför inte: (Om vi har filerna 0.gif, 1.gif ... 9.gif i ./images katalogen)<p>
<div class=code>
Det har varit<br>
<span class=asp><%  nummer = Application("NumVisits") <BR>
' sätt antal till antalet siffror du vill visa i din räknare<br>
antal = 8<br>
nummer = "0000000000000" & nummer<BR>
nummer = Right(nummer, antal)<BR>
For I = 1 to antal <br>
      tecken = Mid(nummer,I,1)<br>
      %></span><BR>
      <img src="../images/<span class=asp><% =tecken %></span>.gif" <br>
        border="0" width="<span class=asp><% =(I * 4 + 20) %></span>" <br>
        height="<span class=asp><% =(I * 4 + 20) %></span>"><BR>
<span class=asp><%<BR>
next<BR>
%></span><BR>
besökare!
</div>
<p>
Vilket ger:<hr>
<div class=res>
Det har varit:<br>
<%  nummer = Application("NumVisits")
nummer = "00000000" & nummer
nummer = Right(nummer, 8)
'Response.Write nummer
For I = 1 to 8 %>

      <img src="../images/<%   =Mid(nummer,I,1) %>.gif" border="0" width="<%  =(I * 4 + 20) %>" height="<%  =(I * 4 + 20) %>"><br>
<%
next
%>

besökare!</div>
<p>
Vill man undvika att bilderna kommer på olika rader (= mellanrum mellan dem)
kan man använda följande kod istället:<br>
<div class=code>
<br><BR>
<span class=asp><%  nummer = Application("NumVisits") <BR>
nummer = "00000000" & nummer<BR>
nummer = Right(nummer, 8)<BR>
'Response.Write nummer<BR>
For I = 1 to 8 <BR>
      Response.Write "<img src=""../images/" & _<BR>
                          Mid(nummer,I,1) & _<BR>
                          ".gif"" border=""0"" width=""" & _<BR>
                          (I * 4 + 20) & """ height=""" & _<BR>
                          (I * 4 + 20) & _<BR>
                          """ HSPACE=""0"">"<BR>
next<BR>
%></span></div>
<p>
<div class=res>
Det har varit:
<%  nummer = Application("NumVisits")
nummer = "00000000" & nummer
nummer = Right(nummer, 8)
For I = 1 to 8
      Response.Write "<img src=""../images/" & _
                          Mid(nummer,I,1) & _
                          ".gif"" border=""0"" width=""" & _
                          (I * 4 + 20) & """ height=""" & _
                          (I * 4 + 20) & _
                          """ HSPACE=""0"">"
next
%>

besökare!
</div>

Storleksförändringen är rätt onödig, men eftersom det gick att göra så...<br>
Jag ber om ursäkt för de simpla siffrorna. Jag är ingen konstnär!<p>
OBS! Egenligen är texten:<br>
Du är besökare<br>
missvisande eftesom det kan hända att det kommer fler användare in till applikationen
innan ASP programmet hinner visa den applikationsglobla variabeln.<p>
Nedan kommer en mer anständig variant:<p>
<div class=code>
<br><BR>
<span class=asp><%  nummer = Application("NumVisits") <BR>
nummer = "00000000" & nummer<BR>
nummer = Right(nummer, 8)<BR>
'Response.Write nummer<BR>
For I = 1 to 8 <BR>
      Response.Write "<img src=""../images/" & _<BR>
                          Mid(nummer,I,1) & _<BR>
                          ".gif"" border=""0"" & _<br>
                          width=""24""" & _<BR>
                          height=""24"" >"<BR>
next<BR>
%></span><BR></div>
<p>
<div class=res>
<%  nummer = Application("NumVisits")
nummer = "00000000" & nummer
nummer = Right(nummer, 8)
For I = 1 to 8
Response.Write "<img src=""../images/" & Mid(nummer,I,1) & ".gif"" border=""0"" width=""24"" height=""24"" >"

next
%>

</div>
<p>
Lämnar man bort dessa rader:<br>

<span class=asp>nummer = "00000000" & nummer<BR>
nummer = Right(nummer, 8)<BR></span><p>
och byter ut<br>
<span class=asp>For I = 1 to 8 </span><BR>
till<br>
<span class=asp>For I = 1 to Len(nummer) </span><p>
får man istället:<p>
<div class=res>
<%  nummer = Application("NumVisits")

For I = 1 to len(nummer)
Response.Write "<img src=""../images/" & Mid(nummer,I,1) & ".gif"" border=""0"" width=""24"" height=""24"" >"

next
%>

</div>
<p>

<!--#include file="../inc/footer.asp" -->