I controlli drive,dir ,file, picture

In questo esempio vogliamo usare i quattro componenti della casella degli strumenti per realizzare una applicazione che mi permetta di sfogliare i file dal nostro computer e, in caso siano immagini, visualizzarli in una picture:

Trasciniamo a tal scopo i controlli nel form fino a fargli assumere l'aspetto di sopra.

Il componente DriveListBox ci permette di sfogliare fra i drive del nostro computer, DirListBox  fra le cartelle (directory) di tali drive,FileListBox fra i file delle cartelle. Se cambiamo il drive,dobbiamo dire al programma di aggiornare il contenuto delle cartelle e conseguentemente dei file. Per far ciò usiamo l'evento change:

Private Sub Drive1_Change()
On Error GoTo fine
Dir1.Path = Drive1.Drive
Exit Sub
fine:
MsgBox Err.Description
End Sub
Con questa istruzione cambio la radice pricipale ; Dir1.Path mi restituisce tutte le cartelle del nuovo drive (ad esempio D:\) 
Ho però inserito anche delle nuove istruzioni per gestire un eventuale errore
On Error GoTo fine
.......
Exit Sub
fine:
MsgBox Err.Description

Se il drive non è pronto, per esempio il disco "a:\" non è inserito nel Floppy VB mi restituirebbe un errore è il programma sparirebbe dal video del nostro PC con grossa delusione da parte dell'utente. L'istruzione on error intercetta invece l'errore e se c'è me ne dà anche la descrizione con la funzione Msgbox (messaggio) e err.description (valore). Ora dobbiamo però anche visualizzare i file della directory:

Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Per completare l'esempio, voglio visualizzare i file di tipo immagine (attenzione, la Picture di VB supporta solo i file di estensione *.gif, *.bmp,*.jpg,*.wmf). Per far ciò mi basta l'evento click del FileListBox:
Private Sub File1_Click()
On Error GoTo fine
Picture1.Picture = LoadPicture(Dir1.Path & "\" & File1.FileName)

Exit Sub
fine:
MsgBox Err.Description

End Sub
La funzione LoadPicture(percorsoimmagine) carica nella picture l'immagine del percorso specificato: abbiamo dovuto concatenare la stringa con "\" perchè Dir1.Path restituisce ad esempio "C:\immagini", File1.FileName restituisce "img.jpg".
Scarica qui l'esempio esplora.zip

Torna all' indice