Tema: FAQ's de VB6
Ver Mensaje Individual
  #88 (permalink)  
Antiguo 24/08/2005, 21:08
Avatar de aldo1982
aldo1982
 
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 20 años
Puntos: 6
Trabajar Con Archivos

COMO TRABAJAR CON ARCHIVOS EN VB??


PARA TRABAJAR CON ARCHIVOS SE HACE LO SIG. :


Controles espacializados

Visual Basic proporciona una serie de controles especializados en el acceso al sistema de archivos de windows.
Estos controles son el Cuadro de lista de unidades, el Cuadro de lista de directorios y el Cuadro de lista de archivos. Cada uno de estos controles permite acceder a los correspondientes elementos del sistema de archivos.






Al cuadro de lista de unidades (figura superior), tienes que darle un tamaño adecuado para que se pueda mostrar cualquier unidad que tengas en tu ordenador. En tiempo de diseño se muestra la etiqueta de la unidad del disco duro de forma que puedas ajustar el control al tamaño de la misma.
Este control incluye las unidades de disco duro, disco flexible y Cd-Rom, etc...





El cuadro de lista de directorios nos permite mostrar los directorios del sistema de archivos del ordenador.
Es conveniente que este control muestre tres o cuatro carpetas o directorios. En tiempo de diseño muestra la carpeta en la que se inicia la apliación y en la que por defecto se guarda el proyecto.





El cuadro de lista de archivos nos muestra los archivos de un determinado directorio o carpeta. Su propiedad más interesante es Pattern que nos permite especificar qué tipo de archivos son mostrados en dicho control. Para utilizar esta propiedad se pueden utilizar los comodines * y ? al establecer la propiedad. Estos caracteres tienen el mismo significado que en MS-Dos o Windows para especificar los nombres de los archivos.
Si estableces la propiedad Pattern con la cadena *.txt, estás indicando que se muestren sólo los archivos que tengan esta extensión. Se pueden mostrar más de un tipo de archivos separándolos con ;.





Conectar controles

En tiempo de diseño, al dibujar los distintos controles del sistema de archivos, estos muestran la unidad y el directorio en la que se crea el proyecto como he comentado anteriormente. En tiempo de ejecución el usuario puede cambiar la unidad y el directorio o carpeta y esta situación no se verá reflejada si no se escribe código.
Para que los controles estén sincronizados es necesario conectarlos.
El evento predeterminado del control cuadro de lista de unidades es Change. Este evento sucede cuando el usuario despliega la lista de unidades y selecciona una unidad distinta a la actual, por lo que es el evento adecuado para actualizar la lista de directorios de la siguiente forma:

Private Sub Dir1_Change()
Dir1.Parh = Drive1.Drive
End Sub

Para el control cuadro de lista de directorios deberemos hacer algo parecido, el código será el siguiente:

Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

De esta forma tenemos conectados los tres controles de acceso al sistema de archivos.


Manejando los errores

Cuando se escribe código en tiempo de diseño, Visual Basic puede detectar errores y avisar de ellos. Posteriormente se pueden detectar más errores en tiempo de compilación, estos errores son de carácter semántico. Los errores en tiempo de ejecución son sucesos inesperados que Visual Basic no puede controlar por sí mismo.
Ante este tipo de errores existe la posibilidad de incorporar un manejador o controlador de errores, que son un conjunto de líneas de código que sólo se ejecutan cuando se produce un error que es interceptado por Visual Basic.
Se deben de escribir manejadores de errores siempre que se pueda preveer la ocurrencia de un error en tiempo de ejecución. Alguna de estas situaciones son:
- Problemas con las unidades de disco flexible.
- Desbordamientos.
- Falta de memoria.
- Problemas con la red.
- Periféricos.
- Errores lógicos (nombre de archivo mal escrito...)
La instrucción que nos permite detectar errores en tiempo de ejecución es On Error. Su síntaxis es: On Error Goto Etiqueta, donde la etiqueta representa el nombre del manejador de error, que tiene que estar situado en el mismo procedimiento que la instrucción On Error. Cuando se produce un error en el procedimiento donde se coloca On Error, Visual Basic dará el control al manejador de errores escrito en dicho procedimiento.
El código puede ser:

ManejadorError:
If Err.Number = 68 Then
resp = MsgBox("El dispositivo no está preperado", vbAbortRetryIgnore)
Resume
ElseIf resp = vbAbort Then
Drive1.Drive = Dir1.Ptah
Resume Next
End If
End If

La primera línea es la etiqueta que represena el nombre del manejador.
Al producirse un error en tiempo de ejecución se crea un objeto Err que intercepta dicho error. Este objeto posee la propiedad Number que es el número de error interceptado.
El código pregunta si dicho error es el 68 y en ese caso presenta un cuadro de diálogo en el que se indica que el dispositivo no está preparado, dando tres opciones: reintenter, cancelar o ignorar.
Una vez interceptado el error y ejecutado el código asociado al manejador, es necesario indicar qué sucede una vez se salga del manejador. En este caso dependerá de lo que elija el usuario. Si quiere reintentar la operación se ejecutará la instrucción Resume, que vuelve a ejecutar la misma intrucción que provocó el error.
Si se anula la operación se ejecutará Resume Next, que devuelve el control a la siguiente instrucción que provocó el error.
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA