Unidad 42. Archivos Random en VB (I)





42.1. Objetivos del tema.

Una vez que se ha visto la parte conceptual de los archivos random, vamos a ver su uso desde VB.

42.2. Introducción.

En los pasos a seguir para el uso de los archivos random, no hay diferencias con los archivos secuenciales, los pasos son los mismos.

 

Abrir el archivo.

Acceder al mismo.

Finalizado el programa cerrarlo.

 

42.3. Abrir el archivo.

La instrucción para la apertura del archivo es FileOpen, y su sintaxis:

 

FileOpen(Canal,Nombre,OpenMode.Random, , ,Len(Registro))

 

Donde

 

Canal   Será 1, 2, 3 , pero utilizaremos FreeFile para obtener un canal libre.

Nombre   "Fichero.ext"  por ejemplo, incluida la ruta.

Forma de apertura   OpenMode.Random, formato de apertura del archivo.

Longitud   Len(Registro) , 56,  longitud de registro.

 

Y no es necesario cerrar y abrir, para leer o grabar un registro.

42.4. Definir la estructura de un registro.

Antes de proceder a la lectura o grabación de un registro, hay que definir la estructura del registro que vamos a utilizar.

 

Structure FilRandom   ‘ Tipo de usuario

  <VBFixedString(15)> Public Nom As String

  <VBFixedString(15)> Public Dire As String

  <VBFixedString(15)> Public Pobl As String

  <VBFixedString(2)>  Public Prov As String

  <VBFixedString(9)>  Public Tele As String

End Structure

 

Para después utilizar una variable definida de ese tipo, en lectura o grabación.

 

Dim Registro as FilRandom ‘ Variable Registro

 

42.5. Lectura.

Una vez que tenemos definida la estructura del registro y hemos abierto el archivo, podemos leer un registro.

 

FileGet(Canal, Registro, Posicion)  

 

Donde

 

Canal será la misma variable utilizada en la apertura.

Registro   es la variable definida del tipo de la estructura creada.

Posición   es la dirección donde deseamos realizar la lectura.

 

La variable registro una vez realizada la lectura, contendrá los datos resultantes de la misma bajo la sintaxis

 

Registro.Nom

Regisro.Direc

 

El código de una acción de lectura podría ser:

 

Select Case Campo00.Text <> ""

  Case True

  Posicion = CLng(Campo00.Text)

  Select Case Posicion

  Case 1 To 20

  FileGet(CanalAgenda, Reg, Posicion)  ' Lectura

  Select Case Reg.Nom <> StrDup(15, " ")

  Case True ' Ocupado

  Visualiza()   ' Visualiza registro

  Case Else ' Código libre

 Mensaje = "El código no existe"

  End Select   ' Campo siguiente

  Case Else ' Código fuera de rango

  Mensaje = "Código fuera de rango"

  End Select

  Case Else ' Valor inadecuado

  Mensaje = "Valor del campo incorrecto"

End Select

 

Los pasos seguidos son:

 

Select Case Campo00.Text <> ""

 

Comprobar que el contenido sea distinto de nulo, previamente ya se habrá filtrado que el contenido solo pueda ser numérico.

 

Posicion = CLng(Campo00.Text)

 

Después asignamos el valor del texto con contenido numérico a una variable de tipo Long en éste caso, para usarla en la lectura.

 

Select Case Posicion

  Case 1 To 20

 

Comprobamos que está dentro de los límites y procedemos a leer.

 

FileGet(CanalAgenda, Reg, Posicion)  ' Lectura

 

Hecha le lectura se comprueba su resultado

 

Select Case Reg.Nom <> StrDup(15, " ")

 

Comprobando en este caso que el campo nombre no esta en blanco.

 

 Case True ' Ocupado

Visualiza()   ' Visualiza registro

 

Si esta ocupado se procede a visualizar su contenido.

 

Case Else ' Código libre

  Mensaje = "El código no existe"

End Select   ' Campo siguiente

En caso contrario se deja seguir el programa, o se informa de que no existe el código, según corresponda.

El resto es ya informar de que el código está fuera de rango, o que el valor facilitado es incorrecto, en éste caso porque está vacío.

Octubre-2010
Pág. 42.1

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies