asp - asp.net - aspcode.it

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 17608
ASPCode.it - Store
<< lezione precedente lezione successiva >>

ASP: la guida introduttiva - Capitolo 4 - utilizzo degli oggetti ActiveX

   4.0   Introduzione agli ActiveX
   4.1   Utilizzo di un ActiveX
   4.2   Scripting.FileSystemObject
   4.3   Un esempio di utilizzo del File System

4.0 - Introduzione agli ActiveX

Nelle pagine precedenti si è già accennato agli oggetti basati sulla tecnologia ActiveX (cfr. Capitolo 2). In questo capitolo si intende introdurre il lettore all'utilizzo e alla comprensione di questi oggetti. Alcuni ActiveX, scelti tra i più diffusi e standardizzati, verranno presi in esame all'interno della guida stessa.
Come già detto ASP, insieme ai suoi linguaggi di scripting, non fornisce nativamente funzioni avanzate. Con puro codice JScript, infatti, non è possibile accedere ad un database, oppure scrivere un file di testo, oppure ancora inviare una e mail attraverso un server di posta elettronica o collegarsi ad un altro PC sparso per il mondo alla ricerca di informazioni. Per questo motivo molto di ASP è basato sui suoi componenti esterni, l'utilizzo dei quali rende possibile tutte le cose appena citate. Sostanzialmente sotto il nome di ActiveX vanno una serie di tecnologie che permettono ad un software o ad una sua parte di interagire con altre parti esterne, indipendentemente dal linguaggio con il quale esse sono state realizzate. ActiveX, a sua volta, è un sottoinsieme delle classi COM (Component Object Model).
In questa guida non sarà illustrata la creazione di un componente ActiveX. Se si è interessati a ciò è bene far riferimento a manuali avanzati di un qualche linguaggio appartenente alla famiglia "Visual", sempre di Microsoft. Gli ActiveX più efficienti sono solitamente realizzati con Visual C++. Qui ci si limiterà solo all'uso di essi all'interno dei documenti ASP.

4.1 - Utilizzo di un ActiveX

Con JScript richiamare un ActiveX è estremamente semplice, mediante l'utilizzo dell'oggetto ActiveXObject. Il compito di questo oggetto è quello di attivare e restituire un riferimento proprio ad un componente ActiveX. La sintassi necessaria ricalca la seguente:

var rif_oggetto = new ActiveXObject("nomeserver.nometipo"[,"posizione"]);

I parametri passati all'oggetto vanno così interpretati:

  • nomeserver è il nome dell'applicazione che fornisce l'oggetto. Questo parametro è obbligatorio
  • nometipo è il nome della classe dell'oggetto da attivare. Anche questo parametro è obbligatorio
  • posizione indica il nome del server nella rete in cui l'oggetto deve venire creato. Questo parametro è facoltativo

Una volta creato un oggetto mediante l'utilizzo di ActiveXObject sarà possibile usufruire di esso utilizzando il riferimento restituito:

rif_oggetto.proprietà
rif_oggetto.metodo(eventuali parametri)

4.2 - Scripting.FileSystemObject

Il primo oggetto ActiveX al quale rivolgeremo la nostra attenzione sarà Scripting.FileSystemObject, molto probabilmente l'oggetto ActiveX più diffuso ed utilizzato nelle pagine ASP insieme a quelli della famiglia ADODB.
Scripting.FileSystemObject estende il linguaggio di scripting utlizzato fornendolo di una semplice interfaccia utile per interagire con il File System del server. In poche parole grazie a questo ActiveX è possibile leggere e scrivere file sull'hard disk del server, creare cartelle, eliminare file che non servono più, ottenere la lista di tutti i file contenuti in una cartella, gestire file di testo o binari e tanto altro. Inoltre a questo oggetto principale solo collegate anche altre classi di oggetti utili per descrivere i file, le cartelle, i drive e gli stream. Nel corso della guida ci troveremo più volte davanti al loro utilizzo e, dunque, avremo occasione di approfondire l'argomento.
Davvero innumerevoli sono i metodi messi a disposizione da Scripting.FileSystemObject:

Metodi
   
BuildPath Aggiunge un nome alla fine di un percorso esistente
CopyFile Copia uno o più file da una posizione ad un'altra
CopyFolder Copia una cartella da una posizione ad un'altra
CreateFolder Genera una nuova cartella
CreateTextFile Crea un file di testo e restituisce un oggetto TextStream utile per lavorare con il file creato
DeleteFile Cancella un file
DeleteFolder Cancella una cartella
DriveExists Restituisce un booleano che indica se il drive specificato esiste
FileExists Restituisce un booleano che indica se il file specificato esiste
FolderExists Restituisce un booleano che indica se la cartella specificata esiste
GetAbsolutePathName Restituisce un percorso completo a partire da uno ambiguo
GetBaseName Restituisce il nome di un file privo dell'estensione
GetDrive Restituisce un oggetto Drive relativo all'unitÓ di un percorso specificato
GetDriveName Restituisce una stringa contenente il nome dell'unitÓ di un percorso specificato
GetExtensionName Restituisce una stringa contenente l'estensione di un file specificato
GetFile Restituisce un oggetto File relativo al percorso specificato
GetFileName Restituisce l'ultimo componente del percorso specificato che non fa parte della specifica di unitÓ.
GetFolder Restituisce un oggetto Folder relativo al percorso specificato
GetParentFolderName Restituisce una stringa contenente il nome della cartella principale dell'ultimo componente del percorso specificato.
GetSpecialFolder Restituisce la cartella speciale specificata. Cartelle speciali sono ad esempio quelle contenenti file temporanei, file di sistema ecc.
GetTempName Restituisce un nome di file o cartella generato in modo casuale, utile per eseguire operazioni che richiedono un file o una cartella temporanea
MoveFile Sposta uno o più file in una diversa posizione
MoveFolder Sposta una cartella in una diversa posizione
OpenTextFile Apre il file specificato e restituisce un oggetto TextStream che pu˛ essere utilizzato per leggere il file, scrivere nel file o aggiungere testo alla fine del file
   
Proprietà
   
Drives Un insieme di oggetti Drive disponibili nel computer locale
   

4.3 - Un esempio di utilizzo del File System

Vediamo ora come utilizzare praticamente Scripting.FileSystemObject attraverso un primo semplice esempio:

<%@ LANGUAGE = JScript %>
<%

var fo = new ActiveXObject("Scripting.FileSystemObject");

var text_stream = fo.CreateTextFile(Server.MapPath("prova.txt"));

text_stream.WriteLine("Prova di scrittura su file di testo");

text_stream.Close();

%>
<a href="prova.txt">Ho appena creato un file di testo! Clicca!</a>

Forse non tutti i passaggi effettuati risulteranno chiari sin da subito, in quanto ancora non sono stati visitati l'oggetto TextStream e l'oggetto built-in Server. L'esempio in questione, comunque, utilizza l'ActiveX discusso per generare un file di testo nominato prova.txt che viene salvato nella stessa cartella dove risiede lo pagina ASP. Il prossimo capitolo si occuperà di approfondire la tematica della lettura/scrittura dei file di testo, intimamente legata con il File System.

<< lezione precedente lezione successiva >>


Utenti connessi: 17608