Visual Basic - una duda tonta pero no consigo arreglarlo

Life is soft - evento anual de software empresarial
 
Vista:

una duda tonta pero no consigo arreglarlo

Publicado por raqmed (8 intervenciones) el 16/10/2005 16:45:54
hola, tengo un problemilla con el visual basic, vereis, soy nueva en esto y tengo que hacer un programa de adivinar numeros comprendidos entre el 1 y el 100 que el ordenador elija al azar.
mis instrucciones en comprobar han sido estas:

Private Sub BTN_compr_Click()

x = Text1.Text
If x = N Then Text2 = "correcto"
BTN_compr.Enabled = True
BTN_rein.Visible = True

If x < N Then Text2 = "mi numero es mas grande que " & x
If x > N Then Text2 = "mi numero es mas pequeño que " & x
End Sub

el caso es que si el nº es por ejemplo 71 pongo 72 y me dice que es mas pequeño (hasta ahi bien) pero si le pongo 2 me sigue diciendo que es mas pequeño.
¿que puedo hacer?
les agradeceria que me contestasen lo antes posible
gracias por adelantado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:una duda tonta pero no consigo arreglarlo

Publicado por edu (9 intervenciones) el 16/10/2005 19:43:08
conviertelo en numero.

en ves de usar x usa clng(x) y ve que pasa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:una duda tonta pero no consigo arreglarlo

Publicado por raqmed (8 intervenciones) el 16/10/2005 20:44:04
me da error en tiempo de ejecucion...mira, aki te mando todo el formulario


Private Sub BTN_compr_Click()

x = Text1.Text
n = Text2.Text

If x = n Then Text2.Text = "correcto"
If x < n Then Text2.Text = "mi número es mayor que " & x
If x > n Then Text2.Text = "mi número es menor que " & x

BTN_compr.Enabled = True
BTN_rein.Visible = True

End Sub
Private Sub BTN_rein_Click()
Form_Load
End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Form_Load()

Randomize Timer

Dim x As Integer Rem no se si esta bien puesto aqui
Dim n As IntegerRem no se si esta bien puesto aqui

n = Int(Rnd * 100) + 1Rem elige un numero al azar

Text2.Text = n Rem luego debo quitarlo, esto es para no tener que andar probando el numero
Text1.Text = x
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = 8 Then Exit Sub
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:una duda tonta pero no consigo arreglarlo

Publicado por EGV (385 intervenciones) el 17/10/2005 20:03:45
Text2.Text = n Rem luego debo quitarlo, esto es para no tener que andar probando el numero
Text1.Text = x

vos estas colocando estas instrucciones dentro del load, por eso te da error de ejecucion, no podes darle texto a mostrar cuando aun no esta la caja de texto visible, si queres que suceda esto, colocalo en un click en el form despues que se muestra por ej o bien en la propiedad Activate que si tiene instruccion aparece internamente antes que el load.
suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

NO FUNCIONA!!! SIGUE SIN IR

Publicado por raqmed (8 intervenciones) el 16/10/2005 20:58:16
ahora el error esta en que te adivina el numero si lo aciertas a la primera pero si pones otro que no sea te dice siempre que es mayor aunque sea el numero bueno.
en el mensaje de antes te envio el formulario entero.
si alguien me puede ayudar... he estado cambiando cosas y no consigo arreglarlo,
gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:NO FUNCIONA!!! SIGUE SIN IR

Publicado por Responde (2 intervenciones) el 17/10/2005 07:02:55
Este es tu ejemplo:

Private Sub BTN_compr_Click()

x = Text1.Text
If x = N Then Text2 = "correcto"
BTN_compr.Enabled = True
BTN_rein.Visible = True

If x < N Then Text2 = "mi numero es mas grande que " & x
If x > N Then Text2 = "mi numero es mas pequeño que " & x
End Sub

Pues donde pones:

x = Text1.Text

Deberias poner, para que te convierta el dato de Text1 en un valor numerico valido:

x = Val(Text1.Text)

Mira en la Ayuda del VB la funcion VAL

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar