GRADO DÉCIMO
PROYECTO EDAD
VISUAL BASIC
Objetivo: Calcular la edad en años cumplidos y determinar el día de la semana en que nació una persona, capturando la fecha de nacimiento.
En Visual Basic: Propongo la siguiente GUI (Interfaz Gráfica de Usuario).
Si revisas esta GUI con atención encuentras que hay: 1 formulario, 5 etiquetas (Label), 2 cajas de texto y 1 botón.
A continuación encuentras los nombres que les asigné a dichas herramientas. Recuerda que los puedes cambiar, pero debes tener en cuenta estos cambios cuando escribas el código fuente.
Formulario: frmEdades
Etiqueta 1: lblAviso
Etiqueta 2: lblHoy
Etiqueta 3: lblTuFechaNac
Etiqueta 4: lblFormatoFechaNac
Etiqueta 5: lblEdadyDia
TextBox 1: txtHoy
TextBox 2: txtFechaNac
Button 1: btnCalcular
Veamos la función de cada uno de ellos:
El formulario es el receptor de todos los demás. Más adelante programaremos el evento Load() de dicha herramienta.
lblAviso en ella ubicamos (propiedad Text) la información: Este programa calcula tu edad y nos informa en que día de la semana naciste.
lblHoy en ella ubicamos (propiedad Text) la información: Hoy es:
lblTuFechaNac se ubica la información (propiedad Text): Tu fecha de nacimiento es:
lblFormatoFechaNac se ubica la información mediante la propiedad Text: dd/mm/aaaa
lblEdadyDia el contenido de esta etiqueta se cargará en tiempo de ejecución.
txtHoy contendrá (propiedad Text) la fecha del día de hoy, la cual se cargará durante el evento Load del formulario, es decir, antes de aparecer el formulario.
txtFechaNac en ella escribirá el usuario la fecha de nacimiento.
btnCalcular se programará el evento clic de este botón para ver los resultados.
Veamos la programación o código fuente:
Cómo dijimos la programación, las órdenes, las sentencias o el código fuente para realizar los cálculos de edad y día de la semana se ubican en el evento clic del botón btnCalcular. Para esto en tiempo de diseño, se da doble clic sobre el botón y nos aparece una interfaz en la cual podemos escribir dichas órdenes. Ver la siguiente gráfica.
Como vamos a calcular la edad, el día de la semana y además debemos guardar la fecha de nacimiento que el usuario nos suministra, debemos crear 3 variables para esto en la pantalla anterior, nos ubicamos (el cursor) entre las líneas Public Class frmEdades y la siguiente (Private Sub btnCalcular_Click(....etc....) y escribimos lo siguiente:
Declaramos tres (3) variables de trabajo, mediante las instrucciones del tipo:
Dim Nombre_Variable As Tipo_de_Dato
La primera varFechaNac es de tipo fecha (Date), en ella guardaremos la fecha de nacimiento del usuario de nuestro programa.
La segunda varEdad es de tipo numérico, en ella guardaremos la edad del usuario; se escogió el tipo Byte que tiene una capacidad de hasta un valor de 255 que es mucho más de lo que puede vivir una persona actualmente.
Y finalmente la tercera varDía es de tipo string o cadena de caracteres, en la cual guardaremos el día de la semana al que corresponda la fecha de nacimiento, (Lunes, Martes, etc.).
El siguiente es el código fuente del botón Calcular (btnCalcular):
varFechaNac = DateAndTime.DateValue(Me.txtFechaNac.Text)
varEdad = DateDiff(DateInterval.Year, varFechaNac, Today)
If varFechaNac.DayOfWeek = 0 Then
varDia = "Domingo"
Else
If varFechaNac.DayOfWeek = 1 Then
varDia = "Lunes"
Else
If varFechaNac.DayOfWeek = 2 Then
varDia = "Martes"
Else
If varFechaNac.DayOfWeek = 3 Then
varDia = "Miercoles"
Else
If varFechaNac.DayOfWeek = 4 Then
varDia = "Jueves"
Else
If varFechaNac.DayOfWeek = 5 Then
varDia = "Viernes"
Else
varDia = "sabado"
End If
End If
End If
End If
End If
End If
lblEdadyDia.Text = "Usted tiene " & varEdad & " años y nació un " & varDia
La primera línea (varFechaNac = DateAndTime.DateValue(Me.txtFechaNac.Text)) permite capturar y guardar en la variable varFechaNac, la fecha de nacimiento que el usuario escribió con el formato de fecha correspondiente. El módulo DateAndTime tiene todas las propiedades y procedimientos de las operaciones que se hagan con fecha y hora. La función DateValue devuelve un valor Date con la información de dicha fecha, este formato contiene incluso un número entre 0 y 6 que representa el día de la semana que corresponde a la fecha, siendo 0 el Domingo, 1 el Lunes, etc.
La segunda calcula la edad en años cumplidos. Esta segunda orden puede interpretarse como diferencia entre las fechas de nacimiento y el día de hoy, con intervalo en años.
A continuación viene una serie de seis (6) estructuras de decisión If .... then .... Else .... EndIf, anidados, es decir, unos dentro de otros, que nos permiten evaluar en que día de la semana se dio la fecha de nacimiento del usuario. Esta orden puede interpretarse como:
Si el día de la semana (propiedad DayOfWeek) de la fecha es 0 (cero) entonces cargue en la variable varDía la palabra "Domingo" sino, si es 1 cargue "Lunes" sino, etcetera. No debe olvidarse que se deben cerrar los séis If con la orden End If.
Finalmente:
lblEdadyDia.Text = "Usted tiene " & varEdad & " años y nació un " & varDia
La última línea de este bloque de sentencias en el evento clic del botón, nos permite "cargar" en la etiqueta lblEdadyDia, la información para el usuario sobre su edad y día de la semana en que nació. Los valores son cargados al enunciar las variables que los contienen y se encadenan con el texto mediante el símbolo &. No olvidar que el texto debe ir entre comillas.
Para que en la primera caja de texto (txtHoy) aparezca la fecha de hoy, se debe aprovechar el evento load del formulario (doble clic en tiempo de diseño sobre cualquier parte del mismo) y antes que el formulario se muestre mediante la orden:
txtHoy.Text = Today
se carga en ella la fecha del día de hoy.
Cualquier duda me comunican.














