TEMA 25: Programa Empleados

 

13. Programa: en este programa vemos el control ListBox. Utilizamos nuevas propiedades como List, ListCount, ListIndex, Sorted y nuevos métodos como AddItem, RemoveItem, Clear. Para saber su utilidad y a que controles afecta ir a los temas Propiedades y Metodos.

El programa trata de dos oficinas con distintos empleados en cada una de ellas. Podemos pasar empleados de una oficina a otra, añadir y eliminar empleados. Es un programa sencillo, bastante útil para luego desarrollar aplicaciones más extensas donde utilicemos este tipo de código.

OBJETO PROPIEDAD VALOR
Form1 BorderStyle
Caption
1-Fixed Single
Empleados
LblOficina1, LblOficina2 AutoSize
Caption
Font
True
OFICINA 1, OFICINA 2
negrita, 10
CmdDerecha Caption
Font
 >
Negrita, 10
CmdIzquierda Caption
Font
 <
Negrita, 10
CmdTododcha Caption
Font
 >>
Negrita, 10
CmdTodoizq Caption
Font
 <<
Negrita, 10
LstOficina1 List JUAN, JOSE, CARMEN
LstOficina2 List LUIS, PEDRO, ROSA
CmdActivar Caption
Font
ON/OFF
Negrita, 10
CmdSalir Caption
Font
Salir
Negrita, 10
FraMarco Caption
Enabled
Marco Desactivado
False
OptOficina1 Caption Oficina 1
OptOficina2 Caption Oficina 2
CmdAnadir Caption Añadir
CmdEliminar Caption Eliminar

Private I As Integer
Private Nombre As Variant

Private Sub CmdActivar_Click()
 
'Activamos o desactivamos el Marco
  FraMarco.Enabled = Not FraMarco.Enabled
  If FraMarco.Enabled Then
    FraMarco.Caption = "Marco Activado"
  Else
    FraMarco.Caption = "Marco Desactivado"
  End If
End Sub

Private Sub CmdAnadir_Click()
 
'Añadir un nuevo empleado a la lista
  If OptOficina1.Value = True Then
    Nombre = InputBox("Escribe un empleado:")
    LstOficina1.AddItem Nombre
  End If
  If OptOficina2.Value = True Then
    Nombre = InputBox("Escribe un empleado:")
    LstOficina2.AddItem Nombre
  End If
End Sub

Private Sub CmdDerecha_Click()
 
'Mandar un empleado seleccionado a la Oficina 2
  If LstOficina1.ListIndex <> -1 Then
    LstOficina2.AddItem LstOficina1.Text
    LstOficina1.RemoveItem LstOficina1.ListIndex
  End If
End Sub

Private Sub CmdEliminar_Click()
 
'Eliminar un empleado de la lista, si no existe muestra mensaje
  If OptOficina1.Value = True Then
    Nombre = InputBox("Escribe un empleado:")
    For I = 0 To LstOficina1.ListCount - 1
    If Nombre = LstOficina1.List(I) Then
      LstOficina1.RemoveItem I
      Exit Sub
    End If
    Next I
    MsgBox "ERROR. El nombre no existe."
  End If
  If OptOficina2.Value = True Then
    Nombre = InputBox("Escribe un empleado:")
    For I = 0 To LstOficina2.ListCount - 1
    If Nombre = LstOficina2.List(I) Then
      LstOficina2.RemoveItem I
      Exit Sub
    End If
    Next I
    MsgBox "ERROR. El nombre no existe."
  End If
End Sub

Private Sub CmdIzquierda_Click()
 
'Mandar un empleado seleccionado a la Oficina 1
  If LstOficina2.ListIndex <> -1 Then
    LstOficina1.AddItem LstOficina2.Text
    LstOficina2.RemoveItem LstOficina2.ListIndex
  End If
End Sub

Private Sub CmdSalir_Click()
  End
End Sub

Private Sub CmdTododcha_Click()
 
'Mandar todos los empleados a la Oficina 2
  For I = 0 To LstOficina1.ListCount - 1
    LstOficina2.AddItem LstOficina1.List(I)
  Next I
  LstOficina1.Clear
'Borra el contenido de Oficina 1
End Sub

Private Sub CmdTodoizq_Click()
 
'Mandar todos los empleados a la Oficina 1
  For I = 0 To LstOficina2.ListCount - 1
    LstOficina1.AddItem LstOficina2.List(I)
  Next I
  LstOficina2.Clear
'Borra el contenido de Oficina 2
End Sub

Bajate el programa completo haciendo clic en la imagen   

 

          Tema anterior                                                                                              

Hosted by www.Geocities.ws

1