Unidad 44. ¿Cómo se hace un programa? (IV)





3    Lectura de datos.

La otra parte del programa es la que se encarga de la lectura y grabación de los datos de la aplicación.

La lectura de datos se descompone en dos pasos, la realización de los pasos para realizar la lectura

 

Private Sub Lectura

  FileGet(Canal, RegProvinc, CLng(Campo.Text)) ' Lectura

  Select Case RegProvinc.Denom <> StrDup(Len(RegProvinc.Denom), " ") ' Ocupado

  Case True   ' Ocupado

  Visualizar() ' Visualiza

  Case Else   ' Código libre

  MsgBox("Código inexistente", MsgBoxStyle.Information, Me.Text)

  End Select

End Sub

 

Y su visualización sería :

 

Private Sub Visualizar()

  With RegProvinc

  Campo02.Text = .Denom

  End With

End Sub

 

En el caso de una base de datos, montaríamos primero la instrucción SQL, para después actuar en función de la base de datos utilizada.

 

  CadenaSQL = "SELECT Codigo, Nombre, Nacionalidad " & _

  "FROM Autores " & _

  "WHERE Codigo = '" & Codigo & "'"

 

Y la visualización de los mismos con los objetos de los que dispone el programa en su interface cuando ésta es correcta.

 

  Campo01.Text = Lector.Item("Codigo").ToString

  Campo02.Text = Lector.Item("Nombre").ToString

  ' seleccionar en combo la nacionalidad

  SeleccionaCombo(ComboBox01, Lector.Item("Nacionalidad").ToString)

 

La ejecución del código arrancará desde el procedimiento de validación al ejecutarse el evento validating en el objeto de caja de texto, cuando en la validación del capo código se realiza la lectura correspondiente.

4    Grabación de los datos.

La grabación se compone de la recogida de los datos cuando se realiza la grabación.

 

  Private Sub Grabar()

  Dim Posicion As Integer = CInt(Campo01.Text)

  With RegProvinc

  .Denom = Campo02.Text

  End With

  FilePut(Canal, RegProvinc, Posicion)

  MsgBox("Los datos han sido grabados", MsgBoxStyle.Information, NomProgram)

  End Sub

 

Para una base de datos se monta la instrucción SQL y en función de la base de datos utilizada se actúa después.

 

  CadenaSQl = "Update Autores Set " & _

  "Codigo = '" & Campo01.Text & "' , " & _

  "Nombre = '" & Campo02.Text & "' , " & _

  "Nacionalidad = '" & Nacion.Codigo.ToString & "' " & _

  "WHERE (Autores.Codigo = '" & Campo01.Text & "');"

 

La ejecución de este código arrancará del evento clic de uno de los botones de orden, de tal forma que al pulsar aceptar se ejecutará la acción de grabado, actualización o inserción según proceda.

44.6. Complementos.

En los procedimientos que se han visto, se producen circunstancias como datos incorrectos, códigos que no existen, etc.

Estas situaciones conviene acompañarlas con mensajes informativos para que el usuario sepa porque se le rechazan determinados datos.

 

  MsgBox("Datos grabados.", MsgBoxStyle.Information, Me.Text)

  MsgBox("Datos inexistentes.", MsgBoxStyle.Information, Me.Text)

  MsgBox("Error en actualización", MsgBoxStyle.Information, Me.Text)

 

Otro apartado es el control a nivel del programa del teclado

 

  Private Sub Programa_KeyDown(ByVal sender As Object, _

ByVal e As System.Windows.Forms.KeyEventArgs)

  Handles Me.KeyDown

  Select Case e.KeyCode

  Case Keys.Enter

  SendKeys.Send(ControlChars.Tab)

  Salir = False

  Case Keys.Escape

  Salida()

  End Select

  End Sub

 

Para el control de teclas como Escape, Intro, teclas de función y resto de teclas especiales.

44.7. Inicio del programa.

La fase de inicio del programa requiere en muchas ocasiones de una serie de actuaciones únicas para toda la fase de ejecución del mismo.

 

Apertura de archivos

Tareas de configuración e inicialización de datos.

Carga de objetos del formulario

 

Todas estas tareas se deben realizar en el evento de carga del formulario, load.

Después de esta fase de inicialización existe una fase activación que se produce cada vez que el programa recupera el foco de atención del S. O., en esa fase se pueden actualizar los contenidos de algunos objetos que se cargaron en la fase inicial, por si se han realizado cambios en las tablas de origen.

 

Private Sub Programa_Load(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles Me.Load

  Me.Text = NomProgram

  Canal = FreeFile()

  FileOpen(Canal, _

My.Application.Info.DirectoryPath & NomFileProvi, _

OpenMode.Random, , OpenShare.Shared, Len(RegProvinc))

  ConfigCampo(Me)

  ConfigLiteral(Me)

  ConfigMensajes(Me)

  ConfigComando(Me)

End Sub

 

El evento en el que se realizaría la actualización de los cambios sería activated.

Octubre-2010
Pág. 44.4

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

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