Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problema validando un TextBox

Estas en el tema de Problema validando un TextBox en el foro de Visual Basic clásico en Foros del Web. A ver si soy capaz de expresarme correctamente: Tengo un form y hay varios TextBox. Hay dos que son dineroreal y totalsupuesto Vale, pues yo ...
  #1 (permalink)  
Antiguo 05/09/2009, 15:32
 
Fecha de Ingreso: agosto-2008
Mensajes: 89
Antigüedad: 15 años, 8 meses
Puntos: 1
De acuerdo Problema validando un TextBox

A ver si soy capaz de expresarme correctamente:
Tengo un form y hay varios TextBox. Hay dos que son dineroreal y totalsupuesto
Vale, pues yo lo que quiero es que cuando se rellene uno de ellos, es decir, que cuando el contenido del TextBox varie, se compruebe si ambos Textbox tienen el mismo valor. En caso de tenerlo quiero que se enseñe un PictureBox llamado Bien. En caso contrario que se enseñe un PictureBox llamado Mal.
Alguien me puede decir que pongo mal¿?
Código:
    Private Sub dineroreal_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dineroreal.TextChanged
        If Val(dineroreal.Text) = Val(totalsupuesto.Text) Then
            Bien.Visible = True
            Mal.Visible = False
        Else
            Mal.Visible = False
            Bien.Visible = True
        End If
    End Sub
El tema es que cuando me pongo sobre el primer textbox automaticamente sale el PictureBox bien, sin importar que varie ningun dato.
Ya se que me he expresado mal..y también se que es una duda de principiantes, pero alguien me puede ayudar¿?
Gracias
  #2 (permalink)  
Antiguo 05/09/2009, 15:55
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Problema validando un TextBox

Tienes en los dos el bien.visible=true

Debería ser:
Private Sub dineroreal_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dineroreal.TextChanged
If Val(dineroreal.Text) = Val(totalsupuesto.Text) Then
Bien.Visible = True
Mal.Visible = False
Else
Mal.Visible = True
Bien.Visible = False
End If
End Sub

Como dices era simple.
Por cierto, ¿como se hacen los recuadros esos del código?
  #3 (permalink)  
Antiguo 05/09/2009, 16:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 89
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema validando un TextBox

Upppppppppps
Muchas gracias..me estaba volviendo loco con el temita
ya estaba probando otro tipo de estructuras tipo case y do while con tal de que me saliese....


(te lo mereces...xD)
  #4 (permalink)  
Antiguo 05/09/2009, 16:24
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Problema validando un TextBox

Me alegra llegar a tiempo entonces...

Como le escribía ahora mismo a otro amigo, "todos somos casi humanos", lo que quiere decir que "a veces hasta tropezamos tontamente como esos bobos".

Es broma. Y reconozco que al principio me he quedado loco de por qué no funcionaba, incluso le echaba la culpa a que trabajas con un VB más moderno que el que yo uso. Pero tengo que decir que esas 4 líneas las daba por revisadas y no las he mirado hasta pasado un rato.

Saludos y al tajo.

PD: No me has dicho como se hacen los recuadros de código en estos mensajes. Es que soy nuevo.

PD2: Creo que puedes cambiar tus líneas por:

bien.visible=Val(dineroreal.Text) = Val(totalsupuesto.Text)
mal.visible=not(Val(dineroreal.Text) = Val(totalsupuesto.Text))

o

bien.visible=Val(dineroreal.Text) = Val(totalsupuesto.Text)
mal.visible=Val(dineroreal.Text) <> Val(totalsupuesto.Text)

queda más "pofesiona" y por lo visto funciona

PD3: Mejor todavía:

bien.visible=Val(dineroreal.Text) = Val(totalsupuesto.Text)
mal.visible=not(bien.visible)

La verdad es que no lo había hecho nunca, pero de pronto he recordado (¿cuando lo leeria?) que, (aproximadamente), "una variable se puede cargar con valores de su tipo o cualquier operación cuyo resultado final sea un tipo de dato compatible con esa variable", y se me ha ocurrido que a=b solo puede ser true o false. Hay que ahorrar memoria y además cuantas menos operaciones haya que hacer mejor y más rápido. Que monstruo soy. Y sin usar el comodín ni nada. Soy un crack (¡Ay!).

¿Se nota que estoy aburrido?

PD4:
Por cierto, me voy a suscribir a este tema para que me avise si me contestas.
Recuerda explicarme lo de los recuadros de código que no quiero hacer pruebas que luego no pueda deshacer, que la página no es mía y bastante me enrrollo cuando hablo solo... ejem... y digo solo porque aunque luego alguien lo lea, en este momento hablo solo para mí... ejem... de forma figurada, claro, o despertaría a la familia y me llamarían loco.
En fin, que me lo debes tronk, explícamelo y para disimular me cuentas que versión te quedas del código que te he escrito, jeje, si es que usas alguna de las nuevas... y si no pues me cuentas que te gusta la formula original (corregida, claro)

Esto... ¿he dicho que estoy aburrido?

Saluditos... (otra vez)...

PD5: Ahora veo tu nick , y me pregunto si serás mujer y crees que intento ligar. La respuesta es, logicamente, NO, no por falta de interés en las mujeres, sino por que realmente ¡¡ME ABURRO!!
Van a dar las 2 A.M. no tengo sueño y no se me ocurre que hacer. Y por desgracia estaba aquí cuando ocurrió y aquí sigo. Bueno, lo dicho, que si trato a una dama como hombre es que no suelo mirar los nicks porque suelen ser raros y no los recuerdo de una vez para otra y como cuando hablo conmigo me ofendo si me trato como a una mujer, pues hablo para hombres, pero sin mala intención.

Y si eres un tio, pues no te ofendas por la confusión.

Saluditos... (prometo que por ultima vez... en este mensaje)

Última edición por pkj; 05/09/2009 a las 17:48
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 04:30.