Cercare e scegliere un Drive sul computer. - dal 04/09/04 pagina vista: volte

Proseguendo l'esercizio precedente "Trovare l'unitā CDRom", vediamo come poter scegliere un Drive tra tutti quelli presenti sul computer, indipendentemente dal Tipo. In quell'esercizio cercavamo il tipo di Drive che corrispondesse ad un CDRom ( Con DriveType = 4), ora invece "sfoglieremo" tutti i Drive, "scegliendo" quale unitā assegnare alla nostra variabile "n".

L'esercizio č semplice: imposteremo un ciclo For Each Next che legga tutte le unitā presenti sul computer, e per ogni unitā trovata, ci ponga una domanda : se č quella che vorremo selezionare. Una volta deciso il Drive, la letterā sarā assegnata alla variabile "n" che potremo usare per definire percorsi.

Questa soluzione non č l'unica programmabile, ma potrā servire come alternativa ad altre e vale la pena illustrarla. Alcune spiegazioni sono uguali a quelle dell'articolo precedente, e le salto. La procedura comunque si avvale di Select Case per definire in funzione del Tipo di Dive ( d.DriveType ) riconosciuto e letto da ciclo For Each, il testo che lo identifica come tipo, che verrā poi concatenato nella finestra di messaggio che ci porrā la domanda se ci vorremo fermare o continuare a scorrere i Drive, per cui avremo:

Sub MostraListaDeiDrive()
Dim fs, d, dc, n
Set fs = CreateObject("Scripting.FileSystemObject")
Set dc = fs.Drives
For Each d In dc

n = d.driveletter & ":\"
Select Case d.DriveType
'con d.DriveType si ha il tipo di drive del "d" ora letto
Case 0: t = "Sconosciuta"
'con la variabile "t" reperiamo il testo corrispondente al numero
Case 1: t = "Rimovibile"   
'identificato con d.DriveType
Case 2: t = "Hard-Disk"
Case 3: t = "Rete"
Case 4: t = "CD-ROM"
Case 5: t = "Disco RAM"
End Select
tp = t
  'con la variabile "tp" reperiamo il Case "t" corrispondente al Drive al momento  letto

'sotto: e con "req" impostiamo il messaggio che ci avvisa con la lettera del Drive (n) e con il tipo 'del Drive (tp)
req = MsgBox("Vuoi Questa Unitā " & n & " " & tp & " ?", vbYesNo)
If req = vbYes Then 
'se rispondiamo Si, usciamo dal ciclo ed n sarā la lettera del Drive scelto
Exit For

End If

Next
'alla fine confermiamo con un messaggio il drive scelto
MsgBox "L'unitā selezionata č " & n & " " & tp & ""

'ora potranno essere istruite istruzioni che usino la variabile n per assegnare l'unitā nei percorsi
End Sub

 

Buon lavoro.

prelevato sul sito www.ennius.altervista.org