webForumDet fria alternativet

Extremt enkel räknare, men har kört fast.

ASP

2 svar · 361 visningar · startad av UrMe

Medlem sedan apr. 2001762 inlägg
Frågan#1

Jag har en text fil som innehåller.

Räknare 1: 345
Räknare 2: 890

Nu har jag två olika sidor.. om man går in på sida 1 vill jag hämta första raden och plussa med ett och skriva 346. Och om jag går in på andra sidan vill jag göra samma sak fast på räknare 2.

Så efter jag har besökt båda sidorna blir det:

Räknare 1: 346
Räknare 2: 891

Har försökt modifierat detta script utan resultat:

<%
current_directory = server.MapPath(".")

Dim fsoObject
Dim tsObject
Dim filObject
Dim variabel
Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")
Set filObject = fsoObject.GetFile(current_directory+"/counter.txt")
Set tsObject = filObject.OpenAsTextStream
variabel = CLng(tsObject.ReadAll)
variabel = variabel + 1

Set tsObject = fsoObject.CreateTextFile(current_directory+"/counter.txt")
tsObject.Write CStr(variabel)
Set fsoObject = Nothing
Set tsObject = Nothing
Set filObject = Nothing
%>
Medlem sedan juni 2000145 inlägg
#2

Det kan ju inte fungera när du läser in hela texten med tsObject.ReadAll och sedan försöker uppdatera denna med 1!

Läs igenom wide's artikel på webeye.nu, där får du en ganska klar bild om hur du kan göra!

FileSystemObject (FSO) Del I: Läsning

Medlem sedan apr. 2001762 inlägg
#3

Nej jag vet, därför jag ville ha hjälp :)

Men löste det så här istället

<%
file = Server.MapPath("nerladdningar.txt")

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set CounterFile = FSO.OpenTextFile(file)

arrCounter = split(CounterFile.ReadAll, vbCrlf)
CounterFile.Close
If Request.QueryString("knapp") = "1" Then
	arrCounter(0) = arrCounter(0) + 1
	arrCounter(1) = arrCounter(1)
ElseIf Request.QueryString("knapp") = "2" Then
	arrCounter(0) = arrCounter(0)
	arrCounter(1) = arrCounter(1) + 1
Else
	arrCounter(0) = arrCounter(0)
	arrCounter(1) = arrCounter(1)
End If

Set CounterFile = FSO.CreateTextFile(file,true)
CounterFile.WriteLine arrCounter(0)
CounterFile.WriteLine arrCounter(1)
CounterFile.Close
%>

Tog bort all text, behövdes egentligen inte.

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)