Como hago en visual basic 6.0 para que en un mismo botón "calcular" me calcule cuantos años ha vivido una persona hasta el año actual (21 ¿010 ), y que me calcule ademas cuantos años bisiestos, lustros y décadas en este mismo botón y me lo mande a diferentes cajas de texto.
1 Respuesta
Respuesta de santiagomf
1
1
santiagomf, Más de 35 años en la informática y más de 20 trabajando con...
Prueba con este código: Private Sub btnCalcular_Click() Dim anoActual As Integer Dim anoNacim As Integer Dim i As Integer Dim nBisiestos As Integer ' El año actual es el año de la fecha del sistema anoActual = Year(Now()) ' Comprobamos que tenga una fecha correcta If Me.textAnoNacimiento <> "" And IsNumeric(Me.textAnoNacimiento) Then anoNacim = Val(Me.textAnoNacimiento) If anoNacim > anoActual Or anoNacim < 0 Then Me.textAnoNacimiento.SetFocus MsgBox "Año incorrecto" Exit Sub End If End If ' La edad al 31/12/del año actual sería la diferencia entre el año actual ' menos el año de nacimiento Me.textEdad = anoActual - anoNacim Me.textLustros = Int((anoActual - anoNacim) / 5) Me.textDecadas = Int((anoActual - anoNacim) / 10) ' Calculamos los años bisiestos nBisiestos = 0 For i = anoNacim To anoActual If esAnoBisiesto(i) Then nBisiestos = nBisiestos + 1 Next i Me.textBisiestos = nBisiestos End Sub Function esAnoBisiesto(ByVal ano As Integer) As Boolean ' Son bisiestos los años múltiplos de 4 que no son múltiplos de 100 (exceptuando los múltiplos de 1000). ' En resumen cualquier múltiplo de 4 que no sea fin de siglo, pero si es final de milenio (caso del 2000), ' sí que es bisiesto esAnoBisiesto = (ano Mod 4 = 0) And (ano Mod 100 <> 0) Or (ano Mod 1000 = 0) End Function