Visual Basic.NET - Bug en mi programilla...¿Como solucionarlo?

 
Vista:

Bug en mi programilla...¿Como solucionarlo?

Publicado por Victor (2 intervenciones) el 21/08/2006 20:13:53
Wenas, es mi 1º post en este subforo, :) y como es evidente soy un Newbie. Hace unos días que empecé a programar, y weno practicando los ejemplos llegué a crear un programilla simple, pero se adapta a mis necesidades...excepto por el bug, xd.

Os explico, el programilla (Cliquéame v1.0, xd) trata sobre acertar un acertijo. Y como me gusta complicarme la vida, no e puesto un simple textbox en el que si das la respuesta correcta ya as terminado el programano nop...en el programa "incrusté" una calculadora (típica de newbie, xd). Por medio de la calculadora es como me gustaría validar la respuesta. Es decir, siguiente el procedimiento "matemático que hay que seguir para resolver dicho acertijo.

Ejemplo: La calcu tiene 3 textbox (1. valor, 2º, y resultado). Bien pues quiero que cuando en el text1 y text2 el valor introducido por el usuario sea de "x", y que cuando cliquee sobre el botón de sumar que aparezca un label (label.visible=true).

El bug está en que da iwal que valores pongas que cuando cliquees sobre el botón de sumar te aparece el label diciendo que acertaste, xDD. Probé con esto:

Código:
Private Sub Command5_Click(Index As Integer)
If Text1(0) Or Text2(2) = 1 Then
Label9.Visible = True
Else
Label9.Visible = False
End If
End sub

Pero de todas todas acaba apareciendo el dichoso label como ya comenté... Y además el VB no carga el resto del código que hay puse en el command5...

Después se me ocurrió utilizar un If para cuando el Resultado (text3), sea el del acertijo ("xx") que mostrase el label. Claro, esto funcionaba, pero el problema está en que el usuario puede introducir un valor cualquiera más otro valor cualquiera y que el resultado sea el mismo ("xx"). Y esto deje de pensarlo, porque no tiene salida.

Lo que si creo que se puede arreglar es el code que posteé más arriba. El código completo del comando sumar es este:

Código:
Private Sub Command5_Click(Index As Integer)
If Text1(0) Or Text2(2) = 1 Then
Label9.Visible = True
Else
Label9.Visible = False
End If
If Text1(0).Text = 1 Then
Label5.Caption = "¡CORRECTO!"
Label5.BackColor = vbGreen
Else
Label5.Caption = "Inténtalo de nuevo..."
Label5.BackColor = vbRed
End If
If Text2(2).Text = 1 Then
Label6.Caption = "¡CORRECTO!"
Label6.BackColor = vbGreen
Else
Label6.Caption = "Inténtalo de nuevo..."
Label6.BackColor = vbRed
End If
Text3(1).Text = Val(Text1(0).Text) + Val(Text2(2).Text)
End Sub

Dejo el enlace para que os podáis descargar mi programilla (Cliqueame v1.0) .Por si alguna empresa decide comprármelo , xD

http://www.flypicture.com/?display=updone&id=r9H2m6nY

Weno, pues ai alguien sabe donde está el fallo le agradecería muxo que me lo dijera. Salu2!
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:Bug en mi programilla...¿Como solucionarlo?

Publicado por thessen (298 intervenciones) el 22/08/2006 08:45:58
Creo que, principalmente, tu problema esta en la sintaxis. Cuando preguntes por el valor de un Texbox hazlo sin el indice (de la manera Texbox1.Text, no Text1(0).Text). De esta manera, tu código quedaría asi:

Private Sub Command5_Click(Index As Integer)
If Text1.Text = 1 OrElse Text2.Text = 1 Then
Label9.Visible = True
Else
Label9.Visible = False
End If

If Text1.Text = 1 Then
Label5.Text = "¡CORRECTO!"
Label5.BackColor = vbGreen
Else
Label5.Text = "Inténtalo de nuevo..."
Label5.BackColor = vbRed
End If

If Text2.Text = 1 Then
Label6.Text = "¡CORRECTO!"
Label6.BackColor = vbGreen
Else
Label6.Caption = "Inténtalo de nuevo..."
Label6.BackColor = vbRed
End If

Text3.Text = (Convert.ToInt32(Text1.Text) + Convert.ToInt32(Text2.Text)).ToString

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:Bug en mi programilla...¿Como solucionarlo?

Publicado por Victor (2 intervenciones) el 23/08/2006 00:24:47
Verás, esos los nombres verdaderos de los textbox. No es que me gusta complicarme la vida, cuando dupliqué varios de los textbox el VB le puso esos nombres, y me dio pereza quitarlos cuando terminé el de programar el code, xd
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:Bug en mi programilla...¿Como solucionarlo?

Publicado por thessen (298 intervenciones) el 23/08/2006 08:33:18
Aun asi debes hacer referencia a la propiedad Text de los textbox ya que, a diferencia de VB 6, no es predeterminada para los textbox
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