PermanenciaPrograma.vb

  1. ' PermanenciaForm.vb — ProInf.net — feb-2012
  2. '
  3. ' Guardar datos del programa al finalizar el mismo,
  4. ' para restaurarlos al abrir de nuevo el programa
  5.  
  6. Public Class PermanenciaPrograma
  7. Inherits Permanencia
  8.  
  9. Public Function Guardar() As Boolean
  10. Try
  11. Diccionario.Clear()
  12. PonerEnFormulario()
  13. Return Escribir()
  14. Catch ex As Exception
  15. DialogoError(ex)
  16. Return False
  17. End Try
  18. End Function
  19.  
  20. Public Function Restaurar() As Boolean
  21. Try
  22. If Leer() Then
  23. ObtenerDesdeFormulario()
  24. Return True
  25. End If
  26. Catch ex As Exception
  27. DialogoError(ex)
  28. End Try
  29. Return False
  30. End Function
  31.  
  32. '--------------------------------------------
  33. ' Datos en el formulario FormGenerar
  34.  
  35. Private Sub PonerEnFormulario()
  36. With FormGenerar
  37. Agregar("PropiedadesFormulario", {.Width, .Height})
  38. Agregar("ArchivoDestino", .CajaArchivo.Text)
  39. Agregar("TotalFactor", .CajaTotalFactor.SelectedIndex)
  40. Agregar("TotalPotencia", .CajaTotalPotencia.SelectedIndex)
  41. Agregar("FormatoArchivo", .CajaFormato.Text)
  42. Agregar("CamposDefinidos", .CajaCamposDefinidos.Items)
  43. Agregar("PredefinidosMarcados", .CajaCamposPredefinidos.CheckedIndices)
  44. Agregar("DefinidosMarcados", .CajaCamposDefinidos.CheckedIndices)
  45. End With
  46. End Sub
  47.  
  48. Private Sub ObtenerDesdeFormulario()
  49. With FormGenerar
  50. AplicarPropiedadesFormulario(FormGenerar, Diccionario("PropiedadesFormulario"))
  51. Obtener("ArchivoDestino", .CajaArchivo.Text)
  52. Obtener("TotalFactor", .CajaTotalFactor.SelectedIndex)
  53. Obtener("TotalPotencia", .CajaTotalPotencia.SelectedIndex)
  54. Obtener("FormatoArchivo", .CajaFormato.Text)
  55. RestaurarCamposDefinidos(.CajaCamposDefinidos, Diccionario("CamposDefinidos"))
  56. FormUtils.ChequearCajaLista(.CajaCamposPredefinidos, Diccionario("PredefinidosMarcados"))
  57. FormUtils.ChequearCajaLista(.CajaCamposDefinidos, Diccionario("DefinidosMarcados"))
  58. End With
  59. End Sub
  60.  
  61. '--------------------------------------------
  62. ' Privado
  63.  
  64. Private Sub AplicarPropiedadesFormulario(ByVal form As Form, ByVal propiedades As List(Of String))
  65. If propiedades.Count >= 2 Then
  66. form.Width = propiedades(0)
  67. form.Height = propiedades(1)
  68. End If
  69. End Sub
  70.  
  71. Private Sub RestaurarCamposDefinidos(ByVal caja As CheckedListBox, ByVal campos As IEnumerable)
  72. caja.Items.Clear()
  73. For Each item In campos
  74. Dim campo = CampoDefinido.Instanciar(item)
  75. If campo IsNot Nothing Then caja.Items.Add(campo)
  76. Next
  77. End Sub
  78.  
  79. End Class
  80.  

Proinf.net