Foros del Web » Programación para mayores de 30 ;) » Programación General »

Expresar cualquier número en Visual Basic 6

Estas en el tema de Expresar cualquier número en Visual Basic 6 en el foro de Programación General en Foros del Web. Hola amigos de Foros del Web... Pues, hoy quiero preguntar si alguien sabe acaso algo que me dejaron en el colegio. El punto es este... ...
  #1 (permalink)  
Antiguo 08/10/2013, 20:53
Avatar de Andelous  
Fecha de Ingreso: enero-2010
Ubicación: En Foros del Web
Mensajes: 114
Antigüedad: 14 años, 11 meses
Puntos: 5
Pregunta Expresar cualquier número en Visual Basic 6

Hola amigos de Foros del Web... Pues, hoy quiero preguntar si alguien sabe acaso algo que me dejaron en el colegio.

El punto es este... debo desarrollar un programa que calcule el área de un triángulo. Todo bien en el área de código, puede calcular sin problemas el área del triángulo, pero, mi duda es: ¿Cómo puedo expresar cualquier número?, ya sea entero o decimal.

Dicho de manera práctica en lo que quiero hacer, es: Si en alguno de los TextBox que uso para introducir la base y la altura del triángulo, hay caracteres diferentes del tipo numérico, que muestre una ventana diciendo "Introduzca datos válidos" o algo así... He hecho algo parecido para los campos en blanco... pero, también quiero hacerlo en caso de que haya alguna letra.

Este es mi código:

Código:
    If TxtBase.Text = "" Or TxtAltura.Text = "" Then
        MsgBox "Por favor introduzca datos correctos.", vbOKOnly, "Aviso"
    Else
        Dim area, base, altura As Double
            
        base = TxtBase.Text
        altura = TxtAltura.Text
        
        area = (base * altura) / 2
        LblRes.Caption = area
    End If
Quiero que muestre el MsgBox diciendo ese texto, cuando se llenen los TextBox con letras, o algún caracter diferente a un número... No sé si me explico...

De antemano, muchas gracias
  #2 (permalink)  
Antiguo 09/10/2013, 03:25
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 6 meses
Puntos: 73
Respuesta: Expresar cualquier número en Visual Basic 6

Tendrías que leer el dato de entrada como cadena de caracteres, e ir comprobando carácter por carácter si puede corresponder o no a un número "legal". Por ejemplo, los números podrás encontrarlos en estas formas:

123 -123
123.456 -123.456
0.123 .123
-0.123 -.123
1.234e123 1.234e+123 1.234e-123
-1.234e123 -1.234e+123 .123e-123
-.123e123 -.123e+123 -.123e-123
1. 1.e123 1.e+123 1.e-123
-1. -1.e123 -1.e+123 -1.e-123

Comienza comprobando el primer carácter. En función de cuál sea (signo, punto decimal ó dígito), te limita cuáles pueden ser los que siguen. Así, si ya ha aparecido un punto decimal, no puede haber más. Si ha aparecido un signo, no puede haber otro signo más que justo después de la letra 'e' o 'E'. Después de la letra 'e' o 'E' solamente puede haber dígitos, etc.

Saludos,

Etiquetas: msgbox, vb6, visualbasic
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:29.