Programa para alfabeto inverso

Necesitaría que me orientara para crear un programa simple que realize la siguiente función:

Quiero un cuadro de texto en el que yo vaya escribiendo pero me sustituya las letras por el alfabeto inverso, es decir, cuando escriba "A" ponga "Z" y así con todo el alfabeto

a= z

b= y

c=x

Respuesta
1

Solo tienes que hacer una resta y una suma para obtener la letra "inversa"

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Dim MayusculasInicio As Integer
    Dim MayusculasFin As Integer
    Dim MinusculasInicio As Integer
    Dim MinusculasFin As Integer
    MayusculasInicio = 65 'Ascii de la A
    MayusculasFin = 90 'Ascii de la Z
    MinusculasInicio = 97 'Ascii de la a
    MinusculasFin = 122 'Ascii de la z
    If KeyAscii >= MayusculasInicio And KeyAscii <= MayusculasFin Then
        KeyAscii = MayusculasFin - (KeyAscii - MayusculasInicio)
    ElseIf KeyAscii >= MinusculasInicio And KeyAscii <= MinusculasFin Then
        KeyAscii = MinusculasFin - (KeyAscii - MinusculasInicio)
    End If
End Sub

En evento KeyPress del TextBox es donde se pone el código para que cada vez que se pulse una tecla se verifique que es una letra y después solo hacer la resta y suma para obtener la letra "inversa"

1 respuesta más de otro experto

Respuesta

Falta aclarar algo:

¿Tendrás un cuadro de texto donde escribas las letras y en otro quieres que te muestre su inversa?

Por que de otra forma no se me ocurre hacerlo, y bueno si así fuese, depende del alfabeto que quieras manejar hay discrepancia en estas cosas, me refiero a si incluyes la ñ la LL, ¿me explico?

Entonces lo que tienes que hacer es en el primer cuadro escribir la letras y en el segundo cuadro de texto meter una función que evalue lo del primer cuadro y asignarle la letras que tu quieras que sea su inversa... la mentablemente como esto varia según lo que tu quieras que sea la inversa necesitarias hacer un codigo algo largo un if para cada letra...

Cuadro1=a

Cuadro2=if (cuadro1.value=a,z,if(cuadro1.value=b,y.....

Y así sucesivamente, de cualquier forma tienes que asignarle la inversa a la letra, ya que esto será a tu gusto...

Idealiza el problema como en excel

En la columna a, colocas todo el abecedario y en columna b sus inversas, podrias usar la funcion en excel 2010 "CONSULTAV" buscara el valor en las filas de la primera columna y devolvere el valor que tenga en la siguiente columna en la misma fila que encontró el valor.

Espero esto te ayude suerte y aqui seguimos por cualquier cosa Saludos.

E. ICI Gustavo Gálvez

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas