Traductor Romanos a Arabigos

Aplicación traductora de romanos a arabigos con cualquier cantidad de caracteres (siempre que sean romanos (letras I,V,X,L,C,D,M en mayusculas), cuenta con:

1 Form, 1 CommandButton, 1 Label, 1 Textbox

Traductor



Private Function intTraducir(usuario As String) As Integer
    Select Case usuario
        Case Is = "I"
            intTraducir = 1
        Case Is = "V"
            intTraducir = 5
        Case Is = "X"
            intTraducir = 10
        Case Is = "L"
            intTraducir = 50
        Case Is = "C"
            intTraducir = 100
        Case Is = "D"
            intTraducir = 500
        Case Is = "M"
            intTraducir = 1000
    End Select
End Function
Private Sub cmdtraducir_Click()
Dim intresultado As Integer
Dim byteposi As Byte
intresultado = intTraducir(Right(txtusuario.Text, 1))
    For byteposi = 1 To Len(txtusuario.Text) - 1
        If intTraducir(Mid(txtusuario.Text, byteposi + 1, 1)) < intTraducir(Mid(txtusuario.Text, byteposi, 1)) Then
            intresultado = intresultado + intTraducir(Mid(txtusuario.Text, byteposi, 1))
        Else
            intresultado = intresultado - intTraducir(Mid(txtusuario.Text, byteposi, 1))
        End If
    Next byteposi
lblrespu.Caption = intresultado
End Sub

 

Explicación: La función con un solo parametro es la encargada de tomar una letra y convertirla en un número arabigo. Con la acción click del commandbutton (el mio se llama cmdtraducir), realiza:

Declara una variable del tipo integer donde guardará el resultado en el proceso, y una variable del tipo byte que recorrerá la palabra, el programa funcionará comparando una letra que la mandará a la función y esta devolverá un numero, el cual sera comparado con el siguiente y determinará si el segundo es menor que el primero entonces sumar el resultado parcial con el primer número

ej. (XV = 10, 5 por lo tanto 5 es menor que 10, la variable resultado guardara lo que ya tenia + 10)

si en la comparación se determina que el segundo número es mayor que el primero entonces restará el resultado parcial con el primer número

ej.(XL = 10, 50 por lo tanto 50 no es menor que 10 (según el programa), o sea 50 es mayor que 10 entonces guardará lo que ya tenia - 10)

aclaración la variable resultado arranca con el valor del último número dado que este siempre se suma por lo que la variable que recorra la palabra analizará todas los caracteres menos el último.

Cualquier duda dejar un comentario en este post o agregar este msn nik-07-@hotmail.com .

About these ads

3 comentarios to “Traductor Romanos a Arabigos”

  1. DavidGR Says:

    JAJAJJAJAJAJAJJAJA JAJAJAJAA JAAJJA JA…

  2. DavidGR Says:

    Y en Gambas como lo hago?

  3. Alfonso Says:

    y de arabigo a romano como se le hace??


Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: