Etiqueta: texto al reves

  • Macros LibreOffice para mostrar texto o cadena inversa

    Empezaremos preguntando: ¿como se escribe FACEBOOK al revés? Respuesta: KOOBECAF, ¿como se escribe GOOGLE a la inversa? Respuesta: ELGOOG, ¿como se escribe YOUTUBE como texto inverso? RESPUESTA: EBUTUOY, esto me recuerda al archienemigo de superman que se llama MR. Mxyzptlk y escrito al revés es: MR. kltpzyxM

    Como ya sabemos las macros del programa LibreOffice y OpenOffice son muy potentes, en esta ocasión les voy a mostrar las macros para convertir una palabra o frase como “texto a la inversa”, “cadena inversa”, “palabra al revés”, etc, veamos unos ejemplos:

    Creo que si llegaste a este artículo ¡pues te felicito! que creo esta perdido entre millones de páginas de internet.

    Ahora les mostrare el codigó de la macro que hace esto, luego una subrutina que hace esto, finalmente una función que hace lo mismo.

    Option Explicit

    Sub INVERTIR_ORDEN_CADENA_PALABRA
    Dim Texto_Original As String ‘INICIO
    Dim Texto_Invertido As String ‘RESULTADO FINAL
    ‘VARIABLES DEL BUCLE
    Dim Total_Caracteres As BYTE
    Dim Tmp2 As Byte
    Dim Funcion_Mid As STRING
    Dim Instruccion_Mid As String
    Dim N_ultima_Letra As Byte
    Dim co1 As Byte
    ‘RESULTADOS PARCIALES
    Dim Guardar_Letra_Uno(255)
    Dim Guardar_Letra_Dos(255)

    ‘INICIO
    Texto_Original = INPUTBOX(“PALABRA PARA INVERTIR” )
    Total_Caracteres = len( Texto_Original )
    REDIM Guardar_Letra_Uno(Total_Caracteres)
    REDIM Guardar_Letra_Dos(Total_Caracteres)
    N_ultima_Letra = Total_Caracteres
    Funcion_Mid = Texto_Original
    Guardar_Letra_Uno() = Mid( Texto_Original, N_ultima_Letra, N_ultima_Letra – co1 )

    FOR co1 = 0 To N_ultima_Letra -1
    Tmp2 = N_ultima_Letra – co1
    Funcion_Mid = Mid( Texto_Original, 1, N_ultima_Letra – co1 )
    Texto_Original = Funcion_Mid
    IF TMP2 > 0 THEN
    Guardar_Letra_Uno() = Mid( Texto_Original, TMP2, TMP2 )
    END IF
    Instruccion_Mid = Mid( Texto_Original, 1, tmp2, Funcion_Mid )
    Guardar_Letra_Dos(co1) = Guardar_Letra_Uno(co1)
    NEXT
    Texto_Invertido = Join( Guardar_Letra_Dos(), “” )
    MsgBox Texto_Invertido, 64, “PALABRA(S) ESCRITA(S) AL REVÉS”
    End Sub

    Sub Invertir_cadena_Subrutina_Funcion
    Dim Palabra As String
    Dim Texto As String
    Dim Resultado_Subrutina As String
    ‘SIN DUDA ALGUNA ES MEJOR USAR LA FUNCIÓN, ME PARECE MÁS SIMPLIFICADO QUE USAR LA SUBRUTINA,
    ‘USARE MEJOR LA FUNCIÓN PARA ESTA TAREA
    Palabra = InputBox( texto )

    INVERTIR_ORDEN_CADENA_SUB( palabra, Resultado_Subrutina )
    msgBox Resultado_Subrutina, 32, “RESULTADO DE LA SUBRUTINA”
    Palabra = InputBox( texto )
    MsgBox INVERTIR_ORDEN_CADENA_FUN( Palabra ), 64, “RESULTADO DE LA FUNCIÓN”

    End Sub

    Sub INVERTIR_ORDEN_CADENA_SUB( Texto_Original As String, Texto_Invertido As String )
    ‘VARIABLES DEL BUCLE
    Dim Total_Caracteres As BYTE
    Dim Tmp2 As Byte
    Dim Funcion_Mid As STRING
    Dim Instruccion_Mid As String
    Dim N_ultima_Letra As Byte
    Dim co1 As Byte
    ‘RESULTADOS PARCIALES
    Dim Guardar_Letra_Uno(255)
    Dim Guardar_Letra_Dos(255)

    ‘INICIO
    Total_Caracteres = len( Texto_Original )
    REDIM Guardar_Letra_Uno(Total_Caracteres)
    REDIM Guardar_Letra_Dos(Total_Caracteres)
    N_ultima_Letra = Total_Caracteres
    Funcion_Mid = Texto_Original
    Guardar_Letra_Uno() = Mid( Texto_Original, N_ultima_Letra, N_ultima_Letra – co1 )

    FOR co1 = 0 To N_ultima_Letra -1
    Tmp2 = N_ultima_Letra – co1
    Funcion_Mid = Mid( Texto_Original, 1, N_ultima_Letra – co1 )
    Texto_Original = Funcion_Mid
    IF TMP2 > 0 THEN
    Guardar_Letra_Uno() = Mid( Texto_Original, TMP2, TMP2 )
    END IF
    Instruccion_Mid = Mid( Texto_Original, 1, tmp2, Funcion_Mid )
    Guardar_Letra_Dos(co1) = Guardar_Letra_Uno(co1)
    NEXT
    Texto_Invertido = Join( Guardar_Letra_Dos(), “” )
    End Sub

    Function INVERTIR_ORDEN_CADENA_FUN( Texto_Original As String ) As String
    Dim Texto_Invertido As String
    ‘VARIABLES DEL BUCLE
    Dim Total_Caracteres As BYTE
    Dim Tmp2 As Byte
    Dim Funcion_Mid As STRING
    Dim Instruccion_Mid As String
    Dim N_ultima_Letra As Byte
    Dim co1 As Byte
    ‘RESULTADOS PARCIALES
    Dim Guardar_Letra_Uno(255)
    Dim Guardar_Letra_Dos(255)
    ‘INICIO
    Total_Caracteres = len( Texto_Original )
    REDIM Guardar_Letra_Uno(Total_Caracteres)
    REDIM Guardar_Letra_Dos(Total_Caracteres)
    N_ultima_Letra = Total_Caracteres
    Funcion_Mid = Texto_Original
    Guardar_Letra_Uno() = Mid( Texto_Original, N_ultima_Letra, N_ultima_Letra – co1 )

    FOR co1 = 0 To N_ultima_Letra -1
    Tmp2 = N_ultima_Letra – co1
    Funcion_Mid = Mid( Texto_Original, 1, N_ultima_Letra – co1 )
    Texto_Original = Funcion_Mid
    IF TMP2 > 0 THEN
    Guardar_Letra_Uno() = Mid( Texto_Original, TMP2, TMP2 )
    END IF
    Instruccion_Mid = Mid( Texto_Original, 1, tmp2, Funcion_Mid )
    Guardar_Letra_Dos(co1) = Guardar_Letra_Uno(co1)
    NEXT
    Texto_Invertido = Join( Guardar_Letra_Dos(), “” )
    INVERTIR_ORDEN_CADENA_FUN = Texto_Invertido
    End Function