ayudita Visual Basic

mitnik

pues eso a ver si alguien me ayuda , este codigo estaria bien ?

Private Sub btn1_Click()
letra_probada = Text2.Text
i = 1
numero_letras = Len(Text4.Text)
While (i < numero_letras)
letra = Mid(letra_probada, i, 1)
If (letra = letra_probada) Then
Text1.Text = Left(Text1.Text, i - 1) & " letra_probada" & Right(Text1.Text, i - 1)
End If
Wend

lo que quiero es q en el text1 me salga la letra q probe , pero no se si esta bien el left y el right , una mano colegas que soy novatillo :)

Leugrim

Ayudaría a q dijeras q quieres hacer,
situar tal frase en un lugar específico o q??

mitnik

tengo tres cuadros de texto , en uno escribo una palabra q va estar encriptada [******] esa palabra me va a salir en otro cuadro de texto asi [#####] y en el cuadro de texto q queda meto una letra [a] q me la va a comparar con el primer cuadro y si alguna letra coincide cambiara la almohadilla por la letra [###a#] no se si me explico bien

mitnik

si se te hace mas facil pego todo el codigo :/

Leugrim

Es algo así como el ahorcado??, weno en primer lugar decirte q las variables nunca van entre comillas 'letra_probada', lo demás no parece estar mal.

mitnik

si es el ahorcado , seguro de eso ? siempre lo hice asi

Leugrim

Instalando el Visual basic 6.0... xDD.

mitnik

xDDD

Leugrim

Ya lo he resuelto, la verdad q estoy bastante oxidado.

Primero la explicación de lo q he hecho, he utilizado 2 botones, primero uno para ocultar la palabra y otro para hacer la comprobación, usease si es correcto aparece la letra correcta, y he puesto el contenido del texto oculto en una label (etiqueta), aquí está el código.

Private Sub Command1_Click()
letra_probada = Text2.Text
i = 1
numero_letras = Len(Label1.Caption)
Text1.Text = ""
While (i <= numero_letras)
letra = Mid(Label1.Caption, i, 1)
i = i + 1
If (letra = letra_probada) Then
Text1.Text = Text1.Text & letra_probada
Else
Text1.Text = Text1.Text & "#"
End If
Wend

End Sub

Private Sub Command2_Click()
Dim numero
Dim i
Label1.Caption = Text1.Text
numero = Len(Text1.Text)
i = 1
Text1.Text = ""
While (i <= numero)
i = i + 1
Text1.Text = Text1.Text & "#"
Wend
End Sub

Explicarte q tenías un fallo gordo con el while q no ponías contador x lo q era un bucle infinito el cual daba error, (me refiero al 'i = i + 1'), creo q nada más, espero haberte ayudado.

mitnik

joder valla error de verdad :S , muchas gracias tio de pm :)

ER_GAMBA

Acostumbraros a poner el 'option explicit' y a declarar las variables como algun tipo...

xD.

mitnik

si se me olvida declarar las variables como algun tipo ahi si q voy de culo xDD

AlterEg0

En Vb no es obligatorio aunque si aconsejable el declarar las variables, ya que el mismo te las declararia como tipo Variant (Eso si, si si tienes desactivado la obligatoriedad del Option Explicit)

ER_GAMBA

aunque no obligatoria, acostumbraros a declarar la variable con su tipo correspondiente, asi os ahorrareis esfuerzos mas tarde... Tb recomendable activar siempre el option explicit (sobre todo para proyectos grandes)...

xDxD

Usuarios habituales

  • ER_GAMBA
  • AlterEg0
  • mitnik
  • Leugrim