Gli oggetti di 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

Both comments and pings are currently closed.

Comments are closed.