[ASP] Textbasierter Counter
#1
Also ich werde euch als erstes das ganze Script zeigen, und danach eine Begriffserklärung abgeben.

Also das ganze Script würde so aussehen:
Code:
<%
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
CounterDatei = Server.MapPath("counter.txt")


if FSO.FileExists(CounterDatei) then
Set LeseDatei = FSO.OpenTextFile(CounterDatei, 1, false)
CounterStand = LeseDatei.ReadAll
LeseDatei.close
end if

CounterStand = CounterStand + 1

Set SchreibDatei = FSO.OpenTextFile(CounterDatei, 2, true)
SchreibDatei.Write CounterStand
SchreibDatei.close
%>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<%=CounterStand%>
</BODY>
</HTML>


Nun was bewirkt dieses Programm. Es öffnet eine Textdatei und lest die Werte heraus. Dann erhöht es den Wert den es herausgelesen hat, um 1, also CounterStand = CounterStand+1. Danach wird der Wert wieder in die Textdatei gespeichert, und die Datei wird wieder geschlossen.

Begriffserklärung:
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Wir legen ein Objekt an, mit dem wir später die Datei erstellen

CounterDatei = Server.MapPath("counter.txt")
Also hier geben wir an, wohin die Daten gespeichert werden sollen. Man muss immer den exakten Pfad angeben, da man das aber oft nicht weiss, gibt es die Funktion Server.MapPath So das wir nur mehr den Dateinamen angeben müssen, falls die Datei im selben Verzeichniss liegt, oder angelegt werden soll, wie die Datei wo der Befehl ausgeführt wird

if FSO.FileExists(CounterDatei) then
Fragt ab, ob die Datei existiert. Falls Sie nicht existiert wird kein Wert ausgelesen

Set LeseDatei = FSO.OpenTextFile(CounterDatei, 1, false)
Falls Die Datei aber existiert wird eine weiter Objekt-Variable angelegt, die LeseDatei, in welcher die Textdatei geöffnet ist. Wobei die 1 dafür steht das man aus der Datei herauslest:
1 Steht für lesen
2 Steht für überschreiben
8 Steht für Hinten-Anfügen
Das "false" steht dafür ob eine Datei angelegt werdeen soll, falls Sie nicht vorhanden ist. In diesem Fall ist dies nicht nötig, da dieser Befehl sowieso nur ausgeführt wird wenn die Datei vorhanden ist

CounterStand = LeseDatei.ReadAll
Wenn die Datei geöffnet wurde, werden die Daten ausgelesen, und in einer Variable gespeichert

LeseDatei.close
Schliessen des Objects

CounterStand = CounterStand + 1
Counterstand um 1 erhöhen

Set SchreibDatei = FSO.OpenTextFile(CounterDatei, 2, true)
Wir legen wieder ein neues Objekt an, mit dem wir wieder die Datei öffnen, aber diesmal mit dem Wert 2 und true, also überschreiben, und eine Datei erstellen falls Sie nicht vorhanden ist

SchreibDatei.Write CounterStand
Wir schreiben den Variablen Wert wieder in die Datei, und mit
SchreibDatei.close
schliessen wir wieder das Objekt

Nun könnt ihr es mit
response.write(CounterStand)
oder mit
<%=CounterStand%>
ausgeben.

mfg
Zerogiven

Copyright by Zerogiven
Mehr Tutorials: http://www.boldluck.at
<a href="http://www.boldluck.at" target="_blank">
[Bild: boldluck468603.gif] </a>
  Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste