Oggetto TextStream

VBScript ci mette a disposizione l’oggetto TextStream, grazie al quale è possibile creare, leggere e scrivere su un file di testo. Le applicazioni legate a questo oggetto sono innumerevoli; ad esempio, si può realizzare un contatore: ad ogni accesso alla pagina si legge il valore nel file di testo, e lo si riscrive incrementato di un’unità. Oppure si può creare un file per le statistiche, in cui memorizzare la data e l’ora di accesso ad una pagina.

Iniziamo con il realizzare un contatore:

<SCRIPT LANGUAGE=vbscript>
<!–
Set fso = CreateObject(“Scripting.FileSystemObject”)
contatore=”c:contatore.txt”
if not fso.FileExists (contatore)then
fso.CreateTextFile (contatore)
Set OggFile = fso.GetFile (contatore)
Set OggTextStream = OggFile.OpenAsTextStream(2)
OggTextStream.WriteLine “0″
OggTextStream.Close
end if
Set OggFile = fso.GetFile (contatore)

Set OggTextStream1 = OggFile.OpenAsTextStream(1)
valore=OggTextStream1.ReadLine
OggTextStream1.Close

Set OggTextStream = OggFile.OpenAsTextStream(2)
OggTextStream.WriteLine cstr(cint(valore)+1)
OggTextStream.Close
//–>
</SCRIPT>

Lo script è composto da una prima parte che si occupa di verificare se esiste il file di testo; se non esiste, lo crea e gli inserisce dentro il valore 0.
Il passo successivo è quello di leggere il valore contenuto nel file di testo, che poi viene incrementato e scritto nel file di testo.
Si noti la differenza tra l’accesso al file in scrittura ed in lettura: in lettura si ha OpenAsTextStream(1), mentre in scrittura OpenAsTextStream(2).
L’altro modo per aprire il file di testo è in accodamento, usando OpenAsTextStream(8).

La scrittura in accodamento è proprio quella che ci occorre per realizzare un file di log.

<SCRIPT LANGUAGE=vbscript>
<!–
Set fso = CreateObject(“Scripting.FileSystemObject”)
logfile=”c:logfile.txt”
if not fso.FileExists (logfile)then
fso.CreateTextFile (logfile)
end if
Set OggFile = fso.GetFile (logfile)

Set OggTextStream = OggFile.OpenAsTextStream(8)
OggTextStream.WriteLine now()
OggTextStream.Close

Set OggTextStream1 = OggFile.OpenAsTextStream(1)
Do While Not OggTextStream1.AtEndOfStream
stringa = OggTextStream1.ReadLine
document.write stringa & “<br>”
loop
OggTextStream1.Close
//–>
</SCRIPT>

Anche in questa applicazione viene controllata l’esistenza del file di log e, se necessario, viene creato. Il file viene poi aperto in accodamento e gli viene scritta la data e l’ora dell’accesso.
Per dimostrarne il funzionamento, il file viene poi aperto e con un ciclo Do While-Loop vengono visualizzati tutti gli accessi.

Come l’oggetto FileSystem, anche l’oggetto TextStream è utilizzato per lo più lato server. Con i due esercizi appena proposti, abbiamo infatti creato un contatore di accessi come se ne vedono tanti nei siti internet, ed un file di statistiche.

Non solo i file di testo possono essere utilizzati come file di configurazione, oppure, se si è capaci, possono essere usati come database per piccole applicazioni. Alcuni forum sfruttano 2 file di testo per funzionare, uno per gli utenti ed uno per i messaggi. Potrebbe essere un ottimo esercizio per verificare le conoscenze di VBScript apprese finora.

Both comments and pings are currently closed.

Comments are closed.