explicare brevemente lo que hace este codigo con esta foto:
lo que van a hacer es implementar 2 funciones, la primera convertira el numero a arabe:
Function ConvertirArabe(Romano As String) As Integer
Dim Numero As Integer, Valor1 As Integer
Dim Valor2 As Integer, Cadena As String
If Len(Romano) = 0 Then ConvertirArabe = 0: Exit Function
Cadena = Trim(Romano)
Numero = 0
Do
Valor1 = VerValor(Left(Cadena, 1))
Cadena = Right$(Cadena, Len(Cadena) - 1)
Valor2 = VerValor(Left(Cadena, 1))
If Valor1 >= Valor2 Then
Numero = Numero + Valor1
Else
Numero = Numero - Valor1
End If
Loop Until Len(Cadena) = 0
ConvertirArabe = Numero
End Function
aca como se puede ver utilizamos la funcion len y la funcion trim, la funcion len nos permite conocer la cantidad de caracteres que tiene una determinada cadena y la funcion trim borra espacios en blanco de toda la cadena. Tambien tenemos la funcion Left, Right$ y VerValor. La funcion
Left(string, length) les explicare con este ejemplo XSaint= Left("naufrago", 3) ' XSaint = "nau". La funcion
Right(string, length) hace esto: XSaint= Right$("naufrago", 3) ' XSaint = "ago". Como vemos la funcion Left devuelve una subcadena del lado izquierdo indicando el numero de caracteres. Lo mismo con Right( pero del lado derecho. Ahora la funcion VerValor no es una funcion propia del Visual Basic. Esta funcion la implementaremos aqui:
Function VerValor(Simbolo As String) As Integer
Select Case Simbolo
Case "I"
VerValor = 1
Case "V"
VerValor = 5
Case "X"
VerValor = 10
Case "L"
VerValor = 50
Case "C"
VerValor = 100
Case "D"
VerValor = 500
Case "M"
VerValor = 1000
Case "Q"
VerValor = 5000
Case "H"
VerValor = 10000
End Select
End Function
esta funcion devuelve el valor decimal por cada caracter que se extrae con las funciones Right y Left y luego compara sus valores. Y para terminar implementan este codigo en el procedimiento click del boton:
Private Sub Command1_Click()
Text2.Text = ConvertirArabe(Text1.Text)
End Sub
disculpen si no les puedo explicar todo el codigo, se que estoy saltandome algunas partes pero es que no tengo mucho tiempo como antes, pero espero igual les sirva para seguir aprendiendo y jugando con el codigo hasta luego :)
gracias de verdad se lo agradesco graciaaaaaaaaaaaas
ResponderEliminarA mí no me funciona a la hora de implementar el código en el procedimiento click del boton.
ResponderEliminarAyuda pro favor :(