Visual Basic - Secuencias de tecleado

Life is soft - evento anual de software empresarial
   
Vista:

Secuencias de tecleado

Publicado por Denny slayerd7@hotmail.com (3 intervenciones) el 11/11/2011 14:24:06
Buenas querida comunidad... al fin escribo, despues de tanta ayuda que me han ofrecido tantos temas al respecto... pero ahora tengo un grandisimo problema! =( y es q estoy intentando hacer una especie de programa de "mecanografía" y ya me han surgido un par de problemas! =( a ver... me explico al respecto...

mi idea es hacer un teclado en pantalla y que cada vez q se pulse una tecla... ese boton cambie de color solo cuando se pulse el boton (ejemplo. la letra A) realmente no se si el command button tiene para esa opcion...ps... quiero q al pulsar la letra A se vea el mismo efecto q cuando uno le da clic al boton, como si se "hundiera", sino un simple cambio de color!

y lo otro, es sobre la secuencias de tecleado, quiero q tenga una secuencia especifica, ejemplo asdf y jklñ, y q se pulsen en orden, es decir, si toca la letra A, y yo presiono la S, no haga nada, sino q tego q presionar la letra A, luego la S, y asi sucesivamente! lo eh intentado hacer por IF y CASE y la verdad ya no me da para hacer mas! =( alguien sabe como poder hacerlo? me importa mas esto q lo de los botones! seria de mucha ayuda!

gracias
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

Secuencias de tecleado

Publicado por Christian cmc1476@hotmail.com (666 intervenciones) el 12/11/2011 01:22:34
lo primero creo que seria en el evento keyup de cualquier control

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 65 Then ' 65 es el codigo de la letra "a"
Form1.BackColor = vbRed
End If
End Sub

para lo segundo estariamos en lo mismo

Dim elTexto As String
Dim miLetra As Integer
Dim largoCorrecto As Integer

Private Sub Form_Load()
elTexto = "ASFG"
miLetra = 1
End Sub



Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If Chr(KeyCode) = Mid(elTexto, miLetra, 1) Then
miLetra = miLetra + 1

MsgBox "Correcto"
largoCorrecto = Len(Text1.Text)

If miLetra = Len(elTexto) Then MsgBox "Ganaste el juego"
Else

MsgBox "Incorrecto"
Text1.Text = Mid(Text1.Text, 1, largoCorrecto)
End If
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

Secuencias de tecleado

Publicado por Denny slayerd7@hotmail.com (3 intervenciones) el 17/11/2011 05:05:08
Bien todo me salio perfecto! =) muchisimas gracias!

pero ahora tengo un par de detallitos que pulir...

el primero... es que no me reconoce la Ñ, sera por alguna razon de teclado ingles y el latino? si es asi como lo soluciono?

lo segundo... es que cuando voy haciendo la secuencia de las letras y me equivoco para que me salga este mensaje:

MsgBox "Incorrecto"
Text1.Text = Mid(Text1.Text, 1, largoCorrecto)

el cursor se me posiciona en la primera posicion, valga la redundancia... es decir... voy haciendo las secuencias ASD y luego me equivoco el cursor se posiciona adelante del A por lo que si escribo la F me lo reconoce como bien! porque esa es la secuenia de miLetra... pero en el textbox me quedara FASD... por lo que seria incorrecto... no hay una forma... de que luego de que me arroje el mensaje de incorrecto... colocar el cursos donde debe ser... al final de la secuencia de miLetra? y no al principio?

muchas gracias de antemano...

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