VBScript
Gli oggetti visti nel capitolo precedentederivano dagli oggetti JavaScript. Questi che vediamo ora sono gli oggetti del VBScript. Grazie a questi oggetti il VBScript si dimostra un linguaggio più completo del JavaScript anche se quest'ultimo resta quello più compatibile dai browser.
Per utilizzare un oggetto bisogna creare un'istanza cioè dichiararlo ed associarli un nome. Per farlo si usa il comando CreateObject. La sintassi per creare un oggetto è:
Set nomeoggetto = CreateObject( "tipo di oggetto")
L'oggetto FileSystemObject permette di lavorare con i file e le cartelle dell'hard disk. Questo oggetto serve a creare altri oggetti che saranno la cartella, il file o il drive. Nel esempio seguente diamo un occhiata al'hard disk:
<script language="vbscript">
Function ShowFile(folderspec) Dim fso, folder, file, FileItem Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(folderspec) Set file = folder.Files For each FileItem in file document.write FileItem & "<br/>" Next End Function
ShowFile("c:") </script>
L'avvio di questa funzione in una pagina HTML ci avverte che si sta creando una situzione di pericolo. Infatti la seguente funziona visualizza i file ma come vedremo esistono anche comandi per cancellare i file e le cartelle!
Tornando alla funzione ShowFile, per prima cosa è stato creato l'oggetto fso, cioè l'oggetto chepermette di lavorare con il file system. Con il comando successivo "Set folder = fso.GetFolder(folderspec)" ho creato l'oggetto cartella ed infine con "Set file = folder.Files" creo l'oggetto file.
Il resto del programma usa metodi e proprietà di questi oggetti, cheverranno ora decritti
Il FileSystemObject ha solo una proprietà, Drive, che restituisce l'elenco di tutti i drive disponibili sul sistema.
Esistono invece numerosi metodi per lavorare con file e cartelle:
DriveExists(lettera drive) restituisce True se la lettera del dirve specificato esiste. GetDrive (lettera drive) restituisce un oggetto Drive corrispondente alla lettera specificata GetDriveName (lettera drive) restituisce il nome del Drive corrispondente alla lettera specificata BuildPath(percorso, nome) aggiunge file o cartelle specificate da nome al percorso corrente CopyFolder(origine, destinazione, sovrascrivi) copia una cartella dalla posizione origine a quella destinazione, se esiste già viene sovrascritta in funzione del parametro sovrascrivi CreateFolder(nome cartella) crea una cartella DeleteFolder(nome cartella, force) cancella una cartella, con il parametro force=true cancello anche le cartelle in sola lettura FolderExists(nome cartella) restituisce true o false se la cartella specificata esiste o no GetFolder(cartella) restituisce un oggetto cartella corrispondente alla cartella specificata. GetParentFolderName(cartella) restituisce il nome della cartella superiore a quella specificata MoveFolder(origine, destinazione) sposta una cartella CopyFile(origine,destinazione, sovrascrivi) copia un file dalla posizione origine a quella destinazione, se esiste già viene sovrascritta in funzione del parametro sovrascrivi CreateTextFile(persorso, sovrascrivi, unicode) crea un un file di testo nel percorso specificato. Il parametro sovrascrivi, permette di sovrascivere un file già esistente, il parametro unicode permette di salvare in formato ASCII o Unicode DeleteFile(nome file, force) cancella un file, con il parametro force=true cancello anche i file in sola lettura FileExists(percorso file) restituisce true o false se il file specificato esiste o no GetExtensionName(percorso) restituisce l'estensione del file GetFile(percorso) restituisce un oggetto file corrispondente al file specificato MoveFile(origine, destinazione) sposta un file OpenTextFile(nome file, iomode, crea, formato) crea o apre un file di testo utilizzando iomode per leggere, scrivere o aggiungere in formato ASCII o Unicode.
Il seguente codice crea unFileSystemObject ed elenca i drive presenti nella macchina locale:
Dim fso Dim disco
'Creazione dell'oggetto FileSystemObject Set fso = CreateObject("Scripting.FileSystemObject")
document.write "I dischi su questo computer sono:" For Each disco in fso.Drives document.write "<BR>Drive =" & disco next
|