Crea una interfaz de usuario que permita dar de Alta, Baja y Modificar tanto empleados como departamentos de una empresa llamada IE Sierra Software S.L.
De los empleados interesará almacenar:
- El código (alfanumérico de 10 dígitos)
Para poner una mascara alfanumérica de 10 dígitos debemos usar el control MaskedTextBox y en la propiedad Mask "aaaaaaaaaa".
- La 'a' representa los caracteres alfanuméricos, necesaria.
- La 'l' representa caracteres del alfabeto, necesaria.
- El '?' representa caracteres del alfabeto, opcional.
- El '0' caracteres numéricos, necesario.
- El '9' es un carácter o espacio, opcional.
- Nombre completo.
- Dirección.
- Nacionalidad y lugar de nacimiento.
- Teléfono, email de contacto.
- Fechas de nacimiento e ingreso en la empresa.
- El departamento al que está adscrito.
De los departamentos interesará almacenar:
- El código (alfanumérico de 10 caracteres).
Para poner una mascara alfanumérica de 10 dígitos debemos usar el control MaskedTextBox y en la propiedad Mask "aaaaaaaaaa".
- El nombre del departamento.
- El número de empleados.
- La lista de los empleados que forman parte de ése departamento.
- La extensión telefónica (numérico de 10 dígitos).
Para poner una mascara numérico de 10 dígitos debemos usar el control MaskedTextBox y en la propiedad Mask "(000) 000 00 00".
- El presupuesto que manejarán (entre 0 y 200.000 €uros).
Para poner una mascara numérico de 10 dígitos debemos usar el control MaskedTextBox y en la propiedad Mask "999999".
If (presupuesto <0 or presupuesto>200000) Then
presupuesto.Text=" "
txtMensaje.Text="Error el presupuesto debe encontrarse entre 0 y 200.000€"
EndIf
Vamos a añadir un ayudante virtual...
- Puede ser un botón con un icono, una imagen en un PictureBox, o cualquier otro tipo de elemento, siempre que resulte visualmente atractivo.
- Es posible crear un icono a partir de una imagen de tu interés, online, <<enlace>>.
- Puedes animarlo, empleando un objeto Timer, y varios fotogramas distintos...
Antes de hacer un ejemplo, hay que aclarar que la propiedad Interval está expresada en milisegundos, esto quiere decir que por ejemplo si quisiéramos ejecutar una instrucción cada 3 segundos por decir un ejemplo, la propiedad Interval debe estar en 3000.
Ejemplo:
Private Sub Form_Load()
Label1.Caption = " Hola Mundo "
End Sub
Private Sub Timer1_Timer()
With Label1
' Se desplaza el Label hacia la izquierda
.Move .Left - 30
'Si finalizó, vuelve a comenzar desde la parte derecha
If .Left + .Width < Contenedor.Left Then
.Left = Contenedor.Left + Contenedor.Width
End If
End With
End Sub
- Cada vez que un usuario realice una acción sobre la etiqueta o sobre el control asociado a ésa etiqueta, el ayudante reproducirá la ayuda mediante voz e imprimirá el texto que el objeto tenga asociado a ése elemento, de cualquier forma.
- Recuerda la propiedad Tag dentro de cada uno de los objetos...
doble ejemplo de voz:
'declaracion del audio ayuda
Dim audioAyuda = CreateObject("sapi.spvoice")
'boton hablar
Private Sub blablabla_Click(sender As Object, e As EventArgs) Handles blablabla.Click
Try
Dim audio = CreateObject("sapi.spvoice")
audio.speak(cTexto.Text)
audio.volume = TrackVolumen.Value
audio.rate = TrackVelocidad.Value
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
'audio ayuda, al pasar por encima leera lo que esta escrito o para que sirve.
Private Sub cTexto_MouseEnter(sender As Object, e As EventArgs) Handles cTexto.MouseEnter
audioAyuda.speak("Aqui debes introducir el texto")
End Sub
Las propiedades Tag y Name son parte de la clase Control. La propiedad Tag es un repositorio dentro de la memoria para almacenar datos sobre el control. La propiedad Name contiene el nombre del control. La propiedad Name se puede utilizar en tiempo de ejecución para evaluar el objeto por nombre en lugar de evaluarlo por tipo y nombre de programación.
- Cada vez que se produzca un error en la pantalla, el ayudante mostrará el error.
- Añade la opción para que el ayudante haga Mute y para que no aparezca.
Ejemplo para apagar la voz
'boleano para silenciar la autoayuda
Private activo As Boolean
'boton silenciar
Private Sub BtnSilenciar_Click(sender As Object, e As EventArgs) Handles BtnSilenciar.Click
Try
If activo = False Then
activo = True
audioAyuda.volume = 0
BtnSilenciar.Text = "Silenciado"
audioAyuda.rate = 0
ElseIf activo = True Then
activo = False
audioAyuda.volume = 50
BtnSilenciar.Text = "Silenciar"
audioAyuda.rate = 10
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
- Puedes, si lo deseas, hacer que el ayudante aparezca en una posición aleatoria, dentro del formulario...
Ejemplo:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
randomValue = CInt(Math.Floor((6 - 1 + 1) * Rnd())) + 1
boton.Location = New Point(100,randomValue* 50)
Next
End Sub
End Class
- Establece, en la pantalla, una manera para seleccionar el tiempo de inactividad, transcurrido ese período el ayudante reproducirá Hola, soy tu ayudante de [Nombre Interfaz]".
Agrega un control Timer al juego de formar parejas. Un temporizador espera un número especificado de milisegundos para desencadenar un evento conocido como tick. Esto es útil para iniciar o repetir una acción de forma periódica.
Private Sub Timer1_Tick() Handles Timer1.Tick
ayudante.Text="Hola..."
End Sub
- Si lo deseas, puedes añadir la opción para que el usuario pregunte al ayudante, y programar su respuesta recorriendo toda la ayuda de todos los controles de la interfaz, en busca de una posible respuesta.
0 comentarios:
Publicar un comentario