1. 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,
2. 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,
3. 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,
4. 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”.
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.
5. 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
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á,
6. Una pantalla de “Error” donde nos indica que “El dispositivo no esta disponible”
y produce una detención de la ejecución del programa.
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
7. 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!!"
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.