Come scrivere un file in ASP

Il linguaggio ASP consente la scrittura dei file. E' possibile memorizzare i dati scrivendoli in un file sul computer server ove risiede il sito web.

L'operazione si suddivide in tre fasi: apertura del file, registrazione delle informazioni, chiusura del file.

Come aprire un file

La prima parte del codice ASP va dedicata all'apertura del file su cui scrivere.

strPath = Server.Mappath("file.txt")
Set File1 = Server.CreateObject ("Scripting.FileSystemObject")
Set Apri = objFileSy.OpenTextFile (strPath, ForWriting)

Questa operazione indica all'interprete ASP il nome del file ( file.txt ), la cartella del server ( strPath ) dove si trova e il tipo di operazione da compiere ( ForWriting ).

All'operazione ho assegnato il nome di sessione Apri. Potevo comunque chiamarla in qualsiasi altro modo.

Come registrare un record nel file

La seconda fase consiste nella scrittura delle informazioni dentro il file. L'istruzione per registrare una stringa di testo è la seguente.

Apri.Write("hello word")

Nella precedente riga ho indicato allo script di utilizzare la sessione Apri da me precedentemente aperta al momento dell'apertura.

Dopo il punto segue l'istruzione di scrittura vera e propria ossia Write.

Nelle parentesi tonde ho inserito l'informazione da scrivere. In questo caso si tratta di una costante di testo tra virgolette write( "hello word" ).

Avrei comunque potuto scrivere anche il contenuto di una variabile write( variabile ).

Come chiudere il file

L'ultima operazione è la chiusura del file.

Set Apri = Nothing
Set File1 = Nothing
Apri.Close

E' molto importante non dimenticarsi questa fase. Se la sessione di scrittura non viene chiusa, potrebbe restare aperta causando il rallentamento e il malfunzionamento del server e la perdita dei dati appena scritti.

Come aggiungere un record al file

Nel precedente esempio ho scritto un nuovo file, non ancora esistente sul computer server.

Per aggiungere record a un file già esistente, senza cancellare quelli già registrati al suo interno, lo script va modificato.

In fase di apertura devo sostitire ForWriting con ForAppending:

Set Apri = objFileSy.OpenTextFile (strPath, ForAppending)

In questo modo, indico all'interprete di aprire il file e registrare le nuove informazioni in coda alle altre.

Come aggiungere un record blank

Per scrivere dei record blank ossia delle linee vuote nel file, in fase di scrittura utilizzo questa istruzione:

Apri.WriteBlankLines(4)

L'istruzione WriteBlankLines aggiunge delle linee bianche. Il numero dei record blank da scrivere è indicato tra parentesi. In questo caso quattro (4).

Come inserire un record con il ritorno a capo

Quando utilizzo l'istruzione Write per scrivere un'informazione nel file, in realtà non sto scrivendo un record ma un campo.

Ad esempio, nel seguente script sono presenti due istruzioni Write.

file.Write("Roma")
file.Write("Milano")

Le due istruzioni scrivono sulla stessa linea ( record ) e il risultato finale è il seguente.

RomaMilano

In un file sequenziale il record è una linea che si conclude con il ritorno a capo. Tutte le informazioni che si trovano sulla stessa riga sono detti campi.

Per scrivere un'informazione nel file aggiungendo automaticamente il ritorno a capo devo utilizzare l'istruzione WriteLines:

Apri.WriteLine("test")

Ad esempio, modifico lo script precedente sostituendo l'istruzione Write con WriteLine.

file.WriteLine("Roma")
file.WriteLine("Milano")

Queste istruzioni mi consentono di scrivere le informazioni su due record distinti. Il risultato finale è il seguente:

Roma
Milano

Non mi dilungo ulteriormente sulla differenza tra campi e record. L'esempio dovrebbe essere già abbastanza esaustivo.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base