Los datos que se recogen de estos cuadros pueden tener diversos destinos.
Uno de ellos el de grabarse en un archivo, o una base de datos,
El sistema es fácil, declarar una tabla con el contenido adecuado a nuestras necesidades y proceder como con cualquier otra información.
Por ejemplo
With RegConfig
.ColorFondo = Objeto.BackColor.ToArgb
.ColorTexto = Objeto.ForeColor.ToArgb
.FontNombre = Trim(Objeto.Font.Name)
.Italica = Objeto.Font.Italic
.Negrita = Objeto.Font.Bold
.Subrayado = Objeto.Font.Underline
.Tachado = Objeto.Font.Strikeout
.Tamanyo = CByte(Objeto.Font.Size)
End With
En este ejemplo se recibe un objeto del tipo control, que es el que se ha usado para mostrar las características de los datos de configuración actuales, y se asignan los datos que se han considerado útiles a una estructura de datos.
Esa estructura puede ser usada para grabarse en un archivo random,
FilePut(CanalConfig, RegConfig, Posicion)
o en una base de datos.
GrabacionBD(RegConfig, Posicion)
En el que el procedimiento de una inserción podría ser:
Private Sub GrabacionBD(ByVal RegConfig As FilConfig, _
ByVal Posicion As Long)
Dim Codigo As String = Format(Posicion, "00")
Dim CadenaSQL As String
Dim Comando As New MySql.Data.MySqlClient.MySqlCommand
CadenaSQL = "INSERT INTO Config_Objetos " & _
"( Codigo, ColorFondo, " & _
"ColorTexto, FontNombre, Italica, Negrita, " & _
"SubRayado, Tachado, Tamanyo) " & _
"Values (" & Codigo & ", " & _
RegConfig.ColorFondo & ", " & _
RegConfig.ColorTexto & ", " & _
"'" & RegConfig.FontNombre & "', " & _
RegConfig.Italica & ", " & _
RegConfig.Negrita & ", " & _
RegConfig.Subrayado & ", " & _
RegConfig.Tachado & ", " & _
RegConfig.Tamanyo & ");"
Conexion.Open()
' Nombre de la consulta en la base de datos.
Comando.CommandText = CadenaSQL
' Tipo de comando a ejecutar
Comando.CommandType = CommandType.Text
' Conexión a utilizar, configurada previamente.
Comando.Connection = Conexion
Select Case Comando.ExecuteNonQuery
Case 1
.. / ..
La lectura
CadenaSQL = "Select * from Config_Objetos Where Codigo = " & Codigo & ";"
Public Function LeerGenerico( _
ByVal Conexion As MySql.Data.MySqlClient.MySqlConnection, _
ByVal CadenaSQL As String, _
ByRef Reg As DataRow, _
ByVal NomProgram As String) _
As Boolean
Dim Adaptador As MySql.Data.MySqlClient.MySqlDataAdapter
Dim Tabla As New System.Data.DataTable
Dim Trab As Boolean = False
Dim Cerrar As Boolean = Conexion.State = ConnectionState.Closed
If Cerrar Then Conexion.Open()
Try
Adaptador = New MySql.Data.MySqlClient.MySqlDataAdapter(CadenaSQL, Conexion)
Adaptador.Fill(Tabla)
Select Case Tabla.Rows.Count > 0
Case True
Reg = Tabla.Rows.Item(0)
Trab = True
End Select
Catch ex As MySql.Data.MySqlClient.MySqlException
Msgbox(ex.ErrorCode & ex.message )
End Try
' Liberar recursos
If Cerrar Then Conexion.Close()
LeerGenerico = Trab
End
Asignación de lo leído al objeto
Dim Result As Integer
RegConfig = LecturaBD(Format(Posicion, "00"), Objeto)
Objeto.BackColor = Color.FromArgb(RegConfig.ColorFondo)
Objeto.ForeColor = Color.FromArgb(RegConfig.ColorTexto)
Objeto.Font = New Font(Trim(RegConfig.FontNombre), RegConfig.Tamanyo)
Select Case RegConfig.Negrita
Case True
Result = Result Or FontStyle.Bold
End Select
Select Case RegConfig.Italica
Case True
Result = Result Or FontStyle.Italic
End Select
Select Case RegConfig.Tachado
Case True
Result = Result Or FontStyle.Strikeout
End Select
Select Case RegConfig.Subrayado
Case True
Result = Result Or FontStyle.Underline
End Select
Objeto.Font = New Font(Objeto.Font, Result)
La estructura utilizada es la siguiente:
Public Structure FilConfig
Public FontNombre As String
Public Tamanyo As Integer
Public Negrita As Boolean
Public Subrayado As Boolean
Public Tachado As Boolean
Public Italica As Boolean
Public ColorTexto As Integer
Public ColorFondo As Integer
End Structure
Y la definición de la tabla:
"CREATE TABLE IF NOT EXISTS Config_Objetos " & _
"( " & _
"Codigo SMALLINT PRIMARY KEY, " & _
"FontNombre VARCHAR(25), " & _
"Tamanyo SMALLINT," & _
"Negrita SMALLINT, " & _
"Subrayado SMALLINT, " & _
"Tachado SMALLINT, " & _
"Italica SMALLINT, " & _
"ColorTexto INTEGER, " & _
"ColorFondo INTEGER " & _
")"
Síguenos en: Facebook Sobre aulaClic Política de Cookies