You are on page 1of 8

Visual Basic Asesor Mireya García

EJERCICIO DE VISUAL BASIC

En este ejercicio vamos a crear un programa que permita gestionar las


unidades de disco, directorios y ficheros.

Empezaremos diseñando el formulario, para ello colocaremos en primer lugar


un “label” que utilizaremos para indicar un titulo, como en la imagen,

Colocaremos la propiedad “Caption” y “Backcolor” como en la imagen


anterior. Procederemos también a modificar el aspecto del texto del “label”
para ello utilizaremos la propiedad “Font” la cual mostrara la siguiente pantalla,

gumirgasan@hotmail.com Página 1
Visual Basic Asesor Mireya García

Colocaremos la propiedades de “Font” como en el ejemplo anterior.


Continuaremos colocando un componente “Drive” que utilizaremos para
obtener una lista de unidades de disco determinadas en windows,

gumirgasan@hotmail.com Página 2
Visual Basic Asesor Mireya García

A continuación colocaremos un control “Dirlistbox” el cual muestra el árbol de


carpetas contenidas en la unidad de disco activa,

Continuaremos con un componente de “Filelistbox” para visualizar los archivos


de una carpeta determinada,

gumirgasan@hotmail.com Página 3
Visual Basic Asesor Mireya García

Estos tres componentes anteriores “Drive”, “Dirlistbox” y “Filelistbox”


inicialmente no tienen ninguna propiedad modificada, tan solo nos hemos
limitado a colocarlos dentro del formulario de nuestro programa.

Para acabar con el diseño colocaremos un botón “Commandbutton” que nos


permita finalizar la ejecución del programa al hacer “clic” en el.

En el botón modificamos la propiedad “Caption” y ponemos la palabra “&Salir”.

gumirgasan@hotmail.com Página 4
Visual Basic Asesor Mireya García

Si hacemos una prueba de ejecución veremos que cada control va por libre “si
hacemos doble clic en una carpeta no se actualizan los ficheros, es decir no se
ha enterado el programa que hemos realizado un cambio de carpeta”.

Para solventar este problema, tendremos que, desde la pantalla de código


colocar las ordenes necesarias para relacionar los tres componentes entre si.

El código que introduciremos será,

Hacemos doble clic en el “Drive” que hemos colocado en el formulario y en la


rutina introducimos,

Private Sub Drive1_Change()


Dir1.Path = Drive1.Drive
End Sub

Continuamos haciendo doble clic en el componente de “Dirlistbox” que hemos


colocado y introducimos ,

Private Sub Dir1_Change()


File1.Path = Dir1.Path
End Sub

Finalmente en la rutina del botón “Salir”,

Private Sub Command1_Click()


End
End Sub

gumirgasan@hotmail.com Página 5
Visual Basic Asesor Mireya García

Una vez tenemos el código introducido si lo ejecutamos , comprobamos que


ahora si, al cambiar de carpeta automáticamente muestra los archivos que
tiene en su interior.

El siguiente problema lo encontramos al cambiar de unidad de disco y activar


una unidad no preparada.

Durante la ejecución activaremos la “unidad A”, el resultado de esa selección


será,

Una pantalla de “Error” donde nos indica que “El dispositivo no esta disponible”
y produce una detención de la ejecución del programa.

gumirgasan@hotmail.com Página 6
Visual Basic Asesor Mireya García

Para solucionar ese problema modificaremos el código del programa y en la


rutina del cambio de “DRIVE”,

Private Sub Drive1_Change()


On Error GoTo fallo
Dir1.Path = Drive1.Drive
Exit Sub

fallo:
MsgBox "Error, Unidad no preparada", vbCritical, "Atención!!"
Drive1.Drive = Drive1.List(1)

End Sub

En esta rutina primero hemos,

Activado la deteccion de errores e indicando que en caso de error ejecute una


etiqueta llamada “fallo”.

Después realizamos el cambio de unidad (igual que teníamos en un principio)

Si el cambio de unidad se realiza correctamente encontrara la orden “Exit Sub”


que indica que realice un salto hasta el final de la rutina.

En el caso de producirse un error, saltara la ejecución hasta “fallo:” y allí


mostrara por pantalla un “Msgbox” (una pantalla emergente) con el texto de
“Error, Unidad no preparada", y con un titulo de ventana "Atención!!"

gumirgasan@hotmail.com Página 7
Visual Basic Asesor Mireya García

Activaremos el “Drive1.list(1)” que lo que hace es dejar activa la unidad (1) que
es la unidad (c:) , de esta forma si una unidad de disco no esta prepara en
lugar de provocar un fallo de ejecución, nos mostrar nuestra pantalla de error y
retornara a la unidad C:.

Finalmente almacenamos el ejercicio y el formulario.

gumirgasan@hotmail.com Página 8

You might also like