Programación General > Visual Basic para principiantes

 Este codigo me genera un Error

(1/1)

PedroM:
Buenas comunidad, tengo un problema, estoy haciendo un programa tipo juego alzar y me esta generando un error y no se como solucionar eso, soy algo novato en esto del vb, apenas tengo 4 dias viendo clases y se me presento eso dejo el codigo y la parte donde se genera el error.

--- Citar ---Option Explicit
Dim x, y As Integer

Private Sub cmdComenzar_Click()
    x = CInt(Rnd() * (9 - 1) + 1)
End Sub

Private Sub cmdComparar_Click()
    txty = y
    If x > y Then MsgBox " Intente de nuevo el numero es Mayor"
    If x < y Then MsgBox " Intente de nuevo el numero es Memor"
    else x = y Then MsgBox "Enhorabuena aceptaste vuelve a jugar"
   
 
End Sub

Private Sub cmdLimpiar_Click()
    txty = Empty
    txty.SetFocus
End Sub

Private Sub cmdSalir_Click()
    End
End Sub

Private Sub Form_Activate()
    Randomize
    cmdLimpiar.Enabled = False
    cmdComparar.Enabled = False
End Sub
Private Sub txty_Change()
    cmdLimpiar.Enabled = True
    cmdComparar.Enabled = True
End Sub

--- Fin de la cita ---
[/b]

Jimbenit:
Lee las indicaciones en el siguiente codigo


--- Código: Visual Basic ---Option ExplicitDim x, y As Integer     '<---- Aqui "x" es variant y "y" es Integer. Si quieres decir que las dos son Integer, haz asi: Dim x as integer, y as integer Private Sub cmdComenzar_Click()x = CInt(Rnd() * (9 - 1) + 1)End Sub Private Sub cmdComparar_Click()txty = y                    '<--- inicialmente "y" vale cero (0), el valor en el txty es el que el usuario digita pero éste es borrado por el valor de y = 0 (aqui hay un error de tu logica). Si yo fuera tu, yo haria en esta linea: y = txtyIf x > y Then MsgBox " Intente de nuevo el numero es Mayor"If x < y Then MsgBox " Intente de nuevo el numero es Memor"else x = y Then MsgBox "Enhorabuena aceptaste vuelve a jugar"     '<---  Error. Comando Else de una sola linea? y que incluye una condicion? (No confundas con el "Elseif"), te recomiendo estudiar mas el if ... then .... else... [end if]  End Sub Private Sub cmdLimpiar_Click()txty = Emptytxty.SetFocusEnd Sub   Private Sub Form_Activate()RandomizecmdLimpiar.Enabled = FalsecmdComparar.Enabled = FalseEnd SubPrivate Sub txty_Change()cmdLimpiar.Enabled = TruecmdComparar.Enabled = TrueEnd Sub  

PedroM:
Si amigo despues revisando me di cuenta que formule mal el Y=txt eso lo cambie luego y tambien puede hacer lo del if. ya me corri y quedo al pelo muchas gracias!

Navegación

[0] Índice de Mensajes

Ir a la versión completa