Unidad 42. Archivos Random en VB (IV)





42.10. Bucle de lectura.

Como podemos comprobar en el organigrama del ejemplo, el bucle no tiene en realidad ninguna complejidad, solo hay que asegurarse en el mismo de que tras la lectura debemos filtrar que el registro que se ha leído está ocupado, para que pase a proceso.

 

Private Sub Bucle(Hasta as Integer)

  Dim Posición as Integer

  Posicion = 1   ' iniciar contador

  While Posicion <= Hasta

  FileGet(CanalAgenda, Reg, Posicion)

  Select Case Reg.Nom <> Space(15)

 Case True    ' registro ocupado

' Acción de proceso

  End Select

  Posicion = Posicion + 1 ' Incremento del contador

  End While

End Sub

 

42.11. Integrar todas las acciones.

Si revisamos las acciones de alta, baja, modificación, y las comparamos veremos que los cambios son mínimos.

Y como son mínimos podemos hacer una fusión de todos y obtener un único programa que sea capaz de realizar todas las tareas de mantenimiento ahorrando código y complejidad cara al usuario.

Por lo tanto podría quedar de la siguiente forma la tarea de mantenimiento:

 

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()   ' Visualizar datos y esperar

  Case Else ' Código libre, dejamos que se continúe

  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

Explicación filosófica de la propuesta.

 

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

  Case True ' Ocupado

  Visualiza()   ' Visualizar datos y esperar

  Case Else ' Código libre, dejamos que se continúe

End Select   ' Campo siguiente

 

Preguntamos si el registro leído esta ocupado.

 

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

  Case True ' Ocupado

  Visualiza() ' Visualizar datos y esperar

  Case Else ' Código libre, dejamos que se continúe

End Select   ' Campo siguiente

 

Si está ocupado visualizamos su contenido, se pasa al siguiente dato y se queda a la espera de que

 

el usuario seleccione la opción de borrar.

desee introducir un código nuevo, retrocediendo al campo código.

o continúe en el campo actual realizando por tanto una modificación.

 

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

  Case True ' Ocupado

  Visualiza()   ' Visualizar datos y esperar

  Case Else ' Código libre, dejamos que se continúe

End Select   ' Campo siguiente

 

No se realiza ninguna acción, se pasa al siguiente campo y se asume que es un alta, un dato nuevo.

Si es un error porque quería acceder a un código existente, como la pantalla está vacía comprobará si es un error el código que ha introducido y si no lo es podrá ver que el código no está grabado, porque no se visualiza nada.

 

Este criterio es fácil de comprender por quien utiliza el programa y fácil de implementar.

Tal cual, evidentemente con los cambios requeridos por una base de datos, se aplica para los mantenimientos de las tablas de la base de datos.

42.12. Conclusiones.

El uso de un archivo Random permite direccionar los datos que se desean leer o grabar.

Conviene reservar o generar todo el espacio que va a utilizar el archivo con blancos para facilitar la gestión.

El asignar un espacio al archivo no significa que no pueda aumentar su capacidad de almacenamiento más adelante.

El sistema más cómodo de direccionamiento es relacionar el código del dato con la posición del mismo en el archivo.

Siempre conviene realizar una lectura de comprobación para saber cual es la situación del registro que vamos a tratar.

Actualizar es grabar un registro existente con datos.

Insertar es grabar un registro que no existe, con datos.

Borrar es grabar blancos en un registro que existe.

Tienen evidentemente un uso muy concreto actualmente, puesto que las aplicaciones se desarrollan todas en un entorno de base de datos.

 

•Ejercicios propuestos de la Unidad
Octubre-2010
Pág. 42.4

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

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