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
Caption1-Fixed Single
EmpleadosLblOficina1, LblOficina2 AutoSize
Caption
FontTrue
OFICINA 1, OFICINA 2
negrita, 10CmdDerecha Caption
Font>
Negrita, 10CmdIzquierda Caption
Font<
Negrita, 10CmdTododcha Caption
Font>>
Negrita, 10CmdTodoizq Caption
Font<<
Negrita, 10LstOficina1 List JUAN, JOSE, CARMEN LstOficina2 List LUIS, PEDRO, ROSA CmdActivar Caption
FontON/OFF
Negrita, 10CmdSalir Caption
FontSalir
Negrita, 10FraMarco Caption
EnabledMarco Desactivado
FalseOptOficina1 Caption Oficina 1 OptOficina2 Caption Oficina 2 CmdAnadir Caption Añadir CmdEliminar Caption Eliminar
Private I As Integer
Bajate el programa completo haciendo clic en la imagen
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
![]()