Autor Tema: [Tutorial] Comparar dos edades  (Leído 1733 veces)

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
[Tutorial] Comparar dos edades
« en: 14 de Febrero de 2010, 01:09:15 am »
¡Hola!

Bueno, el día de ayer me bajé un manual de Visual Basic 2008 y el día de hoy me he animado a crear mi primer programa, y voilá!, funcionó.

Lo que vamos a hacer es una Aplicación de Windows Forms, a la cual vamos a llamar "CalcularEdades".

Nos vamos a la vista de diseño y arrastramos cuatro Labels, cuatro TextBox y un botón, los cuales usaremos para introducir los nombres y las edades de nuestras personas a calcular la edad. Los acomodamos de manera que quede más o menos así:



Les ponemos los nombres "txtNombre1" y "txtNombre2" a los campos que corresponderán a los nombres de las personas.

Los nombres para los campos de las edades serán "txtEdad1" y "txtEdad2" respectivamente para cada personaje.

Una vez que hemos realizado los anteriores pasos, le damos a F7 (entrar en modo de código) y lo dejamos de la siguiente manera:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim nombre1 As String = txtNombre1.Text
            Dim nombre2 As String = txtNombre2.Text
            Dim edad1 As Integer = CInt(txtEdad1.Text)
            Dim edad2 As Integer = CInt(txtEdad2.Text)

            If edad1 > edad2 Then
                MsgBox(nombre1 & " es " & RestarEdades(edad1, edad2) & " años mayor que " & nombre2 & ".")
            ElseIf edad1 < edad2 Then
                MsgBox(nombre2 & " es " & RestarEdades(edad2, edad1) & " años mayor que " & nombre1 & ".")
            Else
                MsgBox(nombre1 & " y " & nombre2 & " tienen la misma edad. (" & edad1 & " años)")
            End If
        Catch
            MsgBox("Debes escribir un número.")
        End Try
    End Sub

    Function RestarEdades(ByVal E1 As Integer, ByVal E2 As Integer) As Integer
        Return E1 - E2
    End Function
End Class


Explicación:

Try: Si en los campos correspondientes a las edades se pusieron números, se realiza la operación.
Dim nombre1 As String = txtNombre1.Text: Declaramos la
Dim nombre2 As String = txtNombre2.Text: Declaramos la variable para el nombre 1.variable para el nombre 2.
Dim edad1 As Integer = txtEdad1.Text: Declaramos la
variable para la edad 1.
Dim edad2 As Integer = txtEdad2.Text: Declaramos la variable para la edad 2.

If edad1 > edad2 Then: Si la edad1 es mayor a la edad 2...
MsgBox(nombre1 & " es " & RestarEdades(edad1, edad2) & " años mayor que " & nombre2 & "."): Así decimos que el usuario 1 es mayor que el usuario 2 por tantos años.

ElseIf edad1 < edad2 Then: Si la edad1 es menor a la edad 2...
MsgBox(nombre2 & " es " & RestarEdades(edad2, edad1) & " años mayor que " & nombre1 & "."): Así decimos que el usuario 2 es mayor que el usuario 1 por tantos años.

Else: si no se cumplen ninguna de las otras dos opciones..
MsgBox(nombre1 & " y " & nombre2 & " tienen la misma edad. (" & edad1 & " años)"): Decimos que ambos tienen la misma edad.
End If: Finalizamos el bloque If

Catch: Contrario del "try", si en los campos no se escribieron números...
MsgBox("Debes escribir un número."): Pedimos que escriban números.
End Try: Finalizamos el bloque Try y con ello el código.

Lo otro es la función de restar edades, la cual es lógica, no obstante, si tienen dudas, me preguntan en el mismo post.

Una vez terminado todo esto, pulsamos F5 y listo, nuestro programa para comprobar edades está finalizado y funcionando.

Saludos, y espero que les sirva.
« Última modificación: 14 de Febrero de 2010, 01:10:51 am por Kevin Black »
- Moderador de PHP


Comunidad PHPeros

[Tutorial] Comparar dos edades
« en: 14 de Febrero de 2010, 01:09:15 am »

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[Tutorial] Comparar dos edades
« Respuesta #1 en: 14 de Febrero de 2010, 11:48:44 am »
Hola kevin.

Gracias por darme la iniciativa al mundo del VB. Hoy he empezado con este lenguaje,
quiero dejar el PHP de lado durante una temporadita para explorar y conocer nuevos lenguajes.
En cuanto al tutorial estás genial, lo he probado y funciona todo genial menos un inconveniente.
Si te fijas calculamos la edad respectiva a los nombres pero si yo introduzco -1 y al otro 24
el resultante sería 25. No se si habias caido en ello.

De todas formas por mi parte te has ganado un karma + y espero que sigas publicando mas tutoriales de VB
quiero seguir aprendiendo. ¡Muchas gracias!
« Última modificación: 14 de Febrero de 2010, 12:12:30 pm por Siquillote »

#Fdo. Physlet

Desconectado ferri

  • PHPero Experto
  • *****
  • Mensajes: 642
  • Karma: 40
  • Sexo: Masculino
    • Ver Perfil
Re:[Tutorial] Comparar dos edades
« Respuesta #2 en: 14 de Febrero de 2010, 11:58:16 am »
Buenísimo tutorial. Lo haré :P

Un saludo. ;)

Desconectado westwest

  • PHPero Master
  • ******
  • Mensajes: 2.837
  • Karma: 104
  • Sexo: Masculino
    • Ver Perfil
Re:[Tutorial] Comparar dos edades
« Respuesta #3 en: 14 de Febrero de 2010, 12:09:39 pm »
Hola kikers.

Gracias por darme la iniciativa al mundo del VB. Hoy he empezado con este lenguaje,
quiero dejar el PHP de lado durante una temporadita para explorar y conocer nuevos lenguajes.
En cuanto al tutorial estás genial, lo he probado y funciona todo genial menos un inconveniente.
Si te fijas calculamos la edad respectiva a los nombres pero si yo introduzco -1 y al otro 24
el resultante sería 25. No se si habias caido en ello.

De todas formas por mi parte te has ganado un karma + y espero que sigas publicando mas tutoriales de VB
quiero seguir aprendiendo. ¡Muchas gracias!
KIKERS????
Buen tuto KEVIN ^^

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[Tutorial] Comparar dos edades
« Respuesta #4 en: 14 de Febrero de 2010, 12:13:02 pm »
KIKERS????
Buen tuto KEVIN ^^

Perdon por este Spam pero west esque estab pensando en un script que vi de kikers y puse eso perdón
kevin :$

#Fdo. Physlet

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:[Tutorial] Comparar dos edades
« Respuesta #5 en: 14 de Febrero de 2010, 17:29:46 pm »
¡Gracias por los Karmas!

Siqui, la verdad ahí si te quedo mal, debido a que como solo llevo un día en el "mundo VisualBasiquero", y no probé con eso de poner en la edad un "-1" :S

En fin, seguiré investigando. Si encuentro la solución la pongo, si vos la encontrás, la podés postear y yo la agrego al tópic principal :P

Saludos.

EDITO:

Ya encontré la solución Siqui, la verdad era solo de comprobar si las edades comprendían un número mayor que cero. (Gracias por alertarme), el nuevo código queda así:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim nombre1 As String = txtNombre1.Text
            Dim nombre2 As String = txtNombre2.Text
            Dim edad1 As Integer = CInt(txtEdad1.Text)
            Dim edad2 As Integer = CInt(txtEdad2.Text)

            If edad1 < 0 Or edad2 < 0 Then 'Si alguna de las dos edades es menor que cero...
                MsgBox("¡Vaya! Quizás en tu planeta haya personas con edades negativas, pero en la Tierra, las edad de las personas es sobre cero. ¡Corrije eso!")
            Else 'Caso contrario, si la edad es igual o mayor a cero...
                If edad1 > edad2 Then
                    MsgBox(nombre1 & " es " & RestarEdades(edad1, edad2) & " años mayor que " & nombre2 & ".")
                ElseIf edad1 < edad2 Then
                    MsgBox(nombre2 & " es " & RestarEdades(edad2, edad1) & " años mayor que " & nombre1 & ".")
                Else
                    MsgBox(nombre1 & " y " & nombre2 & " tienen la misma edad. (" & edad1 & " años)")
                End If
            End If
        Catch
            MsgBox("Debes escribir un número.")
        End Try
    End Sub


    Function RestarEdades(ByVal E1 As Integer, ByVal E2 As Integer) As Integer
        Return E1 - E2
    End Function
End Class


Y eso es todo, bastó con añadir solo unas cuatro líneas más de código (que si las ponemos todas juntas forman como una y media xD) para ya dejar el programa sin bugs (o eso me parece xD). Espero haber ayudado.

Saludos.
« Última modificación: 14 de Febrero de 2010, 23:49:46 pm por Kevin Black »
- Moderador de PHP


Desconectado WarezD@rK

  • PHPer@ Fijo
  • ***
  • Mensajes: 162
  • Karma: 8
  • Sexo: Masculino
  • Pasaba por aquí...
    • Ver Perfil
    • Ninguno
Re:[Tutorial] Comparar dos edades
« Respuesta #6 en: 17 de Febrero de 2010, 13:15:47 pm »
En vez de Try para controlar la excepción, yo usaría la función IsNumeric() para comprobar los datos introducidos.

Visual Basic .NET no está mal, podría hacer un tutorial sobre POO y clases en VB.NET, pero creo que alguien del foro se pone de los nervios con esto de las clases... xd.
Trabajando en mi actual proyecto.