No se por que no me dejo publicar si me paso de 20000 caracteres, arreglen eso
Cuando lo trabajes tienes que declarar una nueva instancia de la clase en tu formulario algo así (Este es un formulario de incripción del empleado)
Imports System.Text
Public Class FrmEmpleados
Dim DataBase As New iData(Usuario, Contraseña)
Private Sub Limpiar()
lblNombre.Text = ""
txtCUI.Text = ""
txtNombres.Text = ""
txtApellidos.Text = ""
txtFechaNacimiento.Value = Now
txtEdad.Text = ""
txtIGSS.Text = ""
txtDPI.Text = ""
txtDPIDepto.Text = ""
txtDPIMuni.Text = ""
txtNIT.Text = ""
txtIRTRA.Text = ""
txtEstadoCivil.Text = ""
txtCantHijos.Text = ""
txtDireccion.Text = ""
txtDireccionDepto.Text = ""
txtDireccionMuni.Text = ""
txtLugarNacimiento.Text = ""
rbEscolar01.Checked = False
rbEscolar02.Checked = False
rbEscolar03.Checked = False
rbEscolar04.Checked = False
txtUltimoGrado.Text = ""
txtProfesion.Text = ""
picFoto.Image = picFoto.ErrorImage
ListView1.Items.Clear()
ListView2.Items.Clear()
ListView3.Items.Clear()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Try
If ListView1.SelectedItems(0).Tag <> "" Then
DataBase.Eliminar("Empleados_Agenda", "Id", ListView1.SelectedItems(0).Tag)
CargarAgenda()
Else
ListView1.SelectedItems(0).Remove()
End If
Catch ex As Exception
End Try
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
FrmEmpleadoFamiliares.ShowDialog()
End Sub
Private Sub Eliminar()
If txtCUI.Text <> "" Then
Dim Respuesta
Respuesta = MessageBox.Show("Realmente desea Eliminar el Registro?", "Centro de Seguridad", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
If Respuesta = vbOK Then
DataBase.Eliminar("Empleados_Agenda", "CUI", Val(txtCUI.Text))
DataBase.Eliminar("Empleados_Familiares", "CUI", Val(txtCUI.Text))
DataBase.Eliminar("Empleados", "Id", Val(txtCUI.Text))
MessageBox.Show("Registro Eliminado.", "Centro de Seguridad", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Limpiar()
Else
Limpiar()
End If
End If
End Sub
Private Sub Guardar()
Dim Tabla As New StringBuilder
Tabla.Append("Empleados")
Dim Campos As New StringBuilder
Campos.Append("Nombres").Append(",")
Campos.Append("Apellidos").Append(",")
Campos.Append("Nombre").Append(",")
Campos.Append("Sexo").Append(",")
Campos.Append("Fecha_Nacimiento").Append(",")
Campos.Append("Edad").Append(",")
Campos.Append("NoAfiliacionIGSS").Append(",")
Campos.Append("DPI").Append(",")
Campos.Append("DPI_Depto").Append(",")
Campos.Append("DPI_Muni").Append(",")
Campos.Append("Nit").Append(",")
Campos.Append("Irtra").Append(",")
Campos.Append("Estado_Civil").Append(",")
Campos.Append("Cant_Hijos").Append(",")
Campos.Append("Direccion").Append(",")
Campos.Append("Direccion_Depto").Append(",")
Campos.Append("Direccion_Muni").Append(",")
Campos.Append("Lugar_Nac").Append(",")
Campos.Append("Escolaridad").Append(",")
Campos.Append("Escolaridad_Ultimo_Grado").Append(",")
Campos.Append("Profesion")
Dim Valores As New StringBuilder
Valores.Append(txtNombres.Text).Append(",")
Valores.Append(txtApellidos.Text).Append(",")
Valores.Append(txtNombres.Text & " " & txtApellidos.Text).Append(",")
Valores.Append(txtSexo.Text).Append(",")
Valores.Append(FormatDateTime(txtFechaNacimiento.Value, DateFormat.ShortDate)).Append(",")
Valores.Append(txtEdad.Text).Append(",")
Valores.Append(txtIGSS.Text).Append(",")
Valores.Append(txtDPI.Text).Append(",")
Valores.Append(txtDPIDepto.Text).Append(",")
Valores.Append(txtDPIMuni.Text).Append(",")
Valores.Append(txtNIT.Text).Append(",")
Valores.Append(txtIRTRA.Text).Append(",")
Valores.Append(txtEstadoCivil.Text).Append(",")
Valores.Append(txtCantHijos.Text).Append(",")
Valores.Append(txtDireccion.Text).Append(",")
Valores.Append(txtDireccionDepto.Text).Append(",")
Valores.Append(txtDireccionMuni.Text).Append(",")
Valores.Append(txtLugarNacimiento.Text).Append(",")
Valores.Append(Escolaridad("", TipoEscolaridad.Tabla)).Append(",")
Valores.Append(txtUltimoGrado.Text).Append(",")
Valores.Append(txtProfesion.Text)
If txtCUI.Text = "" Then
DataBase.Agregar(Tabla.ToString, Campos.ToString, Valores.ToString)
Dim Dato As New DataTable
Dato = DataBase.Matris(iData.OpcionesBusqueda.UNO, iData.TiposBusqueda.IGUAL, "Empleados", "DPI", txtDPI.Text)
If (Dato.Rows.Count) > 0 Then
txtCUI.Text = Dato.Rows(0).Item("Id").ToString
Else
End If
DataBase.UpgradeFoto("Empleados", Val(txtCUI.Text), "Foto", picFoto.Image)
GuardarAgenda()
GuardarFamiliares()
ElseIf txtCUI.Text <> "" Then
DataBase.Actualizar(Tabla.ToString, Val(txtCUI.Text), Campos.ToString, Valores.ToString)
DataBase.UpgradeFoto("Empleados", Val(txtCUI.Text), "Foto", picFoto.Image)
GuardarAgenda()
GuardarFamiliares()
End If
End Sub
Private Sub GuardarAgenda()
If ListView1.Items.Count > 0 Then
For vAgenda As Integer = 0 To ListView1.Items.Count - 1
If ListView1.Items(vAgenda).Tag = "" Then
Dim ValoresAgenda As New StringBuilder
ValoresAgenda.Append(txtCUI.Text).Append(",")
ValoresAgenda.Append(ListView1.Items(vAgenda).Text).Append(",")
ValoresAgenda.Append(ListView1.Items(vAgenda).SubItems(1).Text)
DataBase.Agregar("Empleados_Agenda", "CUI,Tipo,Telefono", ValoresAgenda.ToString)
End If
Next
End If
End Sub
Private Sub GuardarFamiliares()
If ListView2.Items.Count > 0 Then
For vFamiliares As Integer = 0 To ListView2.Items.Count - 1
If ListView2.Items(vFamiliares).Tag = "" Then
Dim ValoresAgenda As New StringBuilder
ValoresAgenda.Append(txtCUI.Text).Append(",")
ValoresAgenda.Append(ListView2.Items(vFamiliares).Text).Append(",")
ValoresAgenda.Append(ListView2.Items(vFamiliares).SubItems(1).Text)
DataBase.Agregar("Empleados_Familiares", "CUI,Nombre,Parentesco", ValoresAgenda.ToString)
End If
Next
End If
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Guardar()
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Limpiar()
End Sub
Private Sub FrmEmpleados_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Limpiar()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Limpiar()
txtNombres.Focus()
End Sub
Private Sub txtFechaNacimiento_ValueChanged(sender As Object, e As EventArgs) Handles txtFechaNacimiento.ValueChanged
txtEdad.Text = Int(DateDiff(DateInterval.Year, txtFechaNacimiento.Value, Now))
End Sub
Private Sub txtApellidos_TextChanged(sender As Object, e As EventArgs) Handles txtApellidos.TextChanged
lblNombre.Text = txtNombres.Text & " " & txtApellidos.Text
End Sub
Private Sub txtCUI_KeyUp(sender As Object, e As KeyEventArgs) Handles txtCUI.KeyUp
If txtNombres.Text = "" And txtApellidos.Text = "" And txtDPI.Text = "" And e.KeyCode = Keys.Enter Then
Cargar(Val(txtCUI.Text))
End If
End Sub
Friend Sub Cargar(ByVal Id As Integer)
On Error Resume Next
Dim Empleado As New DataTable
Empleado = DataBase.Matris(iData.OpcionesBusqueda.UNO, iData.TiposBusqueda.IGUAL, "Empleados", "Id", txtCUI.Text)
txtNombres.Text = Empleado.Rows(0).Item("Nombres").ToString
txtApellidos.Text = Empleado.Rows(0).Item("Apellidos").ToString
txtSexo.Text = Empleado.Rows(0).Item("Sexo").ToString
txtFechaNacimiento.Text = Empleado.Rows(0).Item("Fecha_Nacimiento").ToString
txtEdad.Text = Empleado.Rows(0).Item("Edad").ToString
txtIGSS.Text = Empleado.Rows(0).Item("NoAfiliacionIGSS").ToString
txtDPI.Text = Empleado.Rows(0).Item("DPI").ToString
txtDPIDepto.Text = Empleado.Rows(0).Item("DPI_Depto").ToString
txtDPIMuni.Text = Empleado.Rows(0).Item("DPI_Muni").ToString
txtNIT.Text = Empleado.Rows(0).Item("Nit").ToString
txtIRTRA.Text = Empleado.Rows(0).Item("Irtra").ToString
txtEstadoCivil.Text = Empleado.Rows(0).Item("Estado_Civil").ToString
txtCantHijos.Text = Empleado.Rows(0).Item("Cant_Hijos").ToString
txtDireccion.Text = Empleado.Rows(0).Item("Direccion").ToString
txtDireccionDepto.Text = Empleado.Rows(0).Item("Direccion_Depto").ToString
txtDireccionMuni.Text = Empleado.Rows(0).Item("Direccion_Muni").ToString
picFoto.Image = ObtenerImagen(Empleado.Rows(0).Item("Foto"))
txtLugarNacimiento.Text = Empleado.Rows(0).Item("Lugar_Nac").ToString
Escolaridad(Empleado.Rows(0).Item("Escolaridad").ToString, TipoEscolaridad.Formulario)
txtUltimoGrado.Text = Empleado.Rows(0).Item("Escolaridad_Ultimo_Grado").ToString
txtProfesion.Text = Empleado.Rows(0).Item("Profesion").ToString
CargarAgenda()
CargarFamiliares()
End Sub
Private Sub CargarAgenda()
Dim Agenda As New DataTable
Agenda = DataBase.Matris(iData.OpcionesBusqueda.UNO, iData.TiposBusqueda.IGUAL, "Empleados_Agenda", "CUI", txtCUI.Text)
ListView1.Items.Clear()
For n As Integer = 0 To Agenda.Rows.Count - 1
Dim Lv As New ListViewItem(Agenda.Rows(n).Item("Tipo").ToString)
Lv.Tag = Agenda.Rows(n).Item("Id").ToString
Lv.SubItems.Add(Agenda.Rows(n).Item("Telefono").ToString)
ListView1.Items.Add(Lv)
Next
End Sub
Private Sub CargarFamiliares()
Dim Familiares As New DataTable
Familiares = DataBase.Matris(iData.OpcionesBusqueda.UNO, iData.TiposBusqueda.IGUAL, "Empleados_Familiares", "CUI", txtCUI.Text)
ListView2.Items.Clear()
For n As Integer = 0 To Familiares.Rows.Count - 1
Dim Lv As New ListViewItem(Familiares.Rows(n).Item("Nombre").ToString)
Lv.Tag = Familiares.Rows(n).Item("Id").ToString
Lv.SubItems.Add(Familiares.Rows(n).Item("Parentesco").ToString)
ListView2.Items.Add(Lv)
Next
End Sub
Enum TipoEscolaridad
Formulario
Tabla
End Enum
Private Function Escolaridad(ByVal Item As String, ByVal Tipo As TipoEscolaridad)
Dim Respuesta As String = String.Empty
Select Case Tipo
Case TipoEscolaridad.Tabla
If rbEscolar01.Checked Then Respuesta = rbEscolar01.Text
If rbEscolar02.Checked Then Respuesta = rbEscolar02.Text
If rbEscolar03.Checked Then Respuesta = rbEscolar03.Text
If rbEscolar04.Checked Then Respuesta = rbEscolar04.Text
Case TipoEscolaridad.Formulario
If Item = "PRIMARIA" Then rbEscolar01.Checked = True
If Item = "BÁSICO" Then rbEscolar02.Checked = True
If Item = "DIVERSIFICADO" Then rbEscolar03.Checked = True
If Item = "UNIVERSIDAD" Then rbEscolar04.Checked = True
End Select
Return Respuesta
End Function
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
If txtCUI.Text <> "" Then
FrmEmpleadosAgenda.Dispose()
FrmEmpleadosAgenda.ShowDialog()
ElseIf txtCUI.Text <> "" Then
End If
End Sub
Private Sub txtCUI_TextChanged(sender As Object, e As EventArgs) Handles txtCUI.TextChanged
If txtCUI.Text = "" Then
Limpiar()
End If
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
Try
If ListView2.SelectedItems(0).Tag <> "" Then
DataBase.Eliminar("Empleados_familiares", "Id", ListView1.SelectedItems(0).Tag)
CargarFamiliares()
Else
ListView2.SelectedItems(0).Remove()
End If
Catch ex As Exception
End Try
End Sub
Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
picFoto.Image = picFoto.ErrorImage
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
FrmEmpleadosBuscar.Dispose()
FrmEmpleadosBuscar.ShowDialog()
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Eliminar()
End Sub
Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
Try
OFD1.ShowDialog()
Dim SourceToImage As Bitmap
Dim FileName As String
FileName = OFD1.FileName
'Generar un bitmap para el origen
Dim SourceImage As Bitmap
SourceImage = New Bitmap(FileName)
' Generar un bitmap para el resultado
SourceToImage = New Bitmap(SourceImage.Width, SourceImage.Height)
' Generar un objeto Gráfico para el Bitmap resultante
Dim gr_source As Graphics = Graphics.FromImage(SourceToImage)
' Copiar la imagen origen al Bitmap destino
gr_source.DrawImage(SourceImage, 0, 0, _
SourceToImage.Width, _
SourceToImage.Height)
'Liberar recursos
gr_source.Dispose()
SourceImage.Dispose()
Dim NeedsHorizontalCrop As Boolean = True
Dim NeedsVerticalCrop As Boolean = False
'Determina si la imagen es Landscape o Portrait
If SourceToImage.Height > SourceToImage.Width Then
NeedsHorizontalCrop = False
NeedsVerticalCrop = True
End If
'Determina si la imagen excede el ancho del PictureBox
If SourceToImage.Width < 200 Then
NeedsHorizontalCrop = False
If SourceToImage.Height > 150 Then
NeedsVerticalCrop = True
End If
End If
'Calcula el Factor de Ajuste
Dim scale_factor As Single = 1
If SourceToImage.Width > 0 Then
If NeedsHorizontalCrop = True Then
' Obtiene el Factor de Ajuste
scale_factor = 200 / SourceToImage.Width
End If
End If
If SourceToImage.Height > 0 Then
If NeedsVerticalCrop = True Then
' Obtiene el Factor de Ajuste
scale_factor = 150 / SourceToImage.Height
End If
End If
' Generar un bitmap tmp para el resultado. Ajuste Proporcional
Dim DestTmpImage As New Bitmap( _
CInt(SourceToImage.Width * scale_factor), _
CInt(SourceToImage.Height * scale_factor))
' Generar un objeto Gráfico para el bitmap tmp resultante
Dim gr_desttmp As Graphics = Graphics.FromImage(DestTmpImage)
' Copiar la imagen origen al bitmap tmp destino
gr_desttmp.DrawImage(SourceToImage, 0, 0, _
DestTmpImage.Width, _
DestTmpImage.Height)
'Comprime y Guarda un Archivo Temporal para calcular su peso en Kb
Try
ImageManipulation.SaveJPGWithCompressionSetting(DestTmpImage, Application.StartupPath & "\" & "temp.jpg", 100)
Catch exc As Exception
MessageBox.Show(exc, " Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Dim DestImage As Bitmap
DestImage = New Bitmap(Application.StartupPath & "\" & "temp.jpg")
' Generar un bitmap para el resultado
Dim DestToImage As New Bitmap(DestImage.Width, DestImage.Height)
' Generar un objeto Grafico para el bitmap resultante
Dim gr_dest As Graphics = Graphics.FromImage(DestToImage)
' Copiar la imagen origen al bitmap destino
gr_dest.DrawImage(DestImage, 0, 0, _
DestToImage.Width, _
DestToImage.Height)
'Muestra imagen comprimida
picFoto.Image = CType(DestToImage, Image)
Catch ex As Exception
picFoto.Image = picFoto.ErrorImage
End Try
End Sub
End Class