---
title: "HitCounter"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/38115-hitcounter"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Razor"
published: "2000-12-22T17:03:00.000Z"
updated: "2000-12-22T17:03:00.000Z"
replies: 0
views: 903
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/38115-hitcounter"
---

# HitCounter

## #1 — Razor, 2000-12-22T17:03Z

Nedanstående script består av en klass som lämpligen läggs i en separat fil och inkluderas mha SSI i de filer där den används samt en exepelfil som använder klassen. 

Observera att klassen innehåller två funktioner. En för att räkna upp räknarvärdet med 1, samt en för att bara läsa av räknarvärdet utan att räkna upp.

' Klassfilen (counter.asp)...
\<%

' En class som räknar träffar av Razor (Lars Jonsson), [www.razorsedge.nu,](http://www.razorsedge.nu,)  razors.edge@swipnet.se

Class HitCounter

	' Deklarationer.
	Private objCounterFile
	Private objReadCounterFile
	Private objWriteCounterFile
	Private strCounterFile
	Private intCounterHits

	' Funktionen för att räkna upp och läsa av besöksräknaren.
	Public Function CountHit(strCounterFile)

		' Skapar ett filsystemsobjekt.
		Set objCounterFile = Server.CreateObject("Scripting.FileSystemObject")

		' Skapar ett textfilsobjekt för läsning.	
		Set objReadCounterFile = objCounterFile.OpenTextFile(strCounterFile, 1, True)

		' Om filen är tom skall räknarens startvärde vara 0.
		' Endast sista raden i filen räknas.
		If Not objReadCounterFile.AtEndOfStream Then
			' Läser av eventuellt räknarvärde.
			intCounterHits = Trim(objReadCounterFile.ReadLine)
			If intCounterHits = "" Then 
				intCounterHits = 0
			End If
		Else
			intCounterHits = 0
		End If

		' Stänger och dödar textfilsobjektet.
		objReadCounterFile.Close
		Set objReadCounterFile = Nothing

		' Räknar upp räknarvärdet.
		intCounterHits = intCounterHits + 1

		' Skapar ett textfilsobjekt.
		' Om filen finns skrivs den över. Annars skapas den.
		Set objWriteCounterFile = objCounterFile.CreateTextFile(strCounterFile, True)

		' Sparar det nya räknarvärdet i textfilen.
		objWriteCounterFile.WriteLine(intCounterHits)

		' Stänger och dödar textfilsobjektet.
		objWriteCounterFile.Close
		Set objWriteCounterFile = Nothing

		' Stänger och dödar filsystemsobjektet.
		Set objCounterFile = Nothing

		' Returnerar räknarvärdet till anroparen.
		CountHit = intCounterHits

	End Function

	' Funktion för att läsa av besöksräknarens värde utan att räkna upp.
	Public Function GetHits(strCounterFile)

		' Skapar ett filsystemsobjekt.
		Set objCounterFile = Server.CreateObject("Scripting.FileSystemObject")

		' Skapar ett textfilsobjekt för läsning.	
		Set objReadCounterFile = objCounterFile.OpenTextFile(strCounterFile, 1, True)

		' Om filen är tom skall räknarens startvärde vara 0.
		' Endast sista raden i filen räknas.
		If Not objReadCounterFile.AtEndOfStream Then
			' Läser av eventuellt räknarvärde.
			intCounterHits = Trim(objReadCounterFile.ReadLine)
			If intCounterHits = "" Then 
				intCounterHits = 0
			End If
		Else
			intCounterHits = 0
		End If

		' Stänger och dödar textfilsobjektet.
		objReadCounterFile.Close
		Set objReadCounterFile = Nothing

		' Stänger och dödar filsystemsobjektet.
		Set objCounterFile = Nothing

		' Returnerar räknarvärdet till anroparen.
		GetHits = intCounterHits

	End Function

End Class
%\>

' En exempelfil som använder klassen för att räkna upp ett räknarvärde...
\<!--#include file="counter.asp"--\>

\<%
Dim newValue
Dim myCounter

' Skapa ett objekt av HitCounter-klassen.
Set myCounter = New HitCounter
' Räkna upp räknarvärdet och returnera det nya värdet.
newValue = myCounter.CountHit(Server.MapPath("counter.txt"))
' Döda objektet.
Set myCounter = Nothing

' Visa upp det nya värdet.
Response.Write(newValue)
%\>

Användning: Skapa en tom textfil för varje dokument där du vill räkna träffar. Lägg lämpligen dessa textfiler i samma mappar som dokumenten.

Skapa sedan objekt av klassen och anropa önskad funktion i de dokument där du vill läsa av / räkna upp räknarvärdet, enligt ovanstående exempelfil.

Bägge funktionerna tar sökvägen till textfilerna som enda argument.

Maila hjärna vid frågor!
Mvh Razor <http://www.razorsedge.nu> 
mailto:razors.edge@swipnet.se

Permalänk: https://www.webforum.nu/p/38115

---

Tråden på webben: https://www.webforum.nu/amne/asp/38115-hitcounter
