MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Converte pra Acess

    avatar
    NADIRONUNES
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 435
    Registrado : 30/08/2010

    [Resolvido]Converte pra Acess Empty [Resolvido]Converte pra Acess

    Mensagem  NADIRONUNES em 19/9/2018, 21:29

    Como que faco pra converter esse codigo de visual base pra access

    Public Function NumerosArabicosParaRomanos(ByVal numero As Integer) As String

    ' valida : aceita somente valores entre 1 e 3999
    If numero < 0 OrElse numero > 3999 OrElse numero = 0 Then
    Throw New ArgumentException("O valor numérico deve estar entre 1 e 3.999.")
    End If

    Dim algarismosArabicos As Integer() = New Integer() {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}
    Dim algarismosRomanos As String() = New String() {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}

    ' inicializa o string builder
    Dim resultado As New StringBuilder()

    ' percorre os valores nos arrays
    For i As Integer = 0 To 12
    ' se o numero a ser convertido é menor que o valor então anexa
    ' o numero correspondente ou o par ao resultado
    While numero >= algarismosArabicos(i)
    numero -= algarismosArabicos(i)
    resultado.Append(algarismosRomanos(i))
    End While
    Next

    ' retorna o resultado
    Return resultado.ToString()

    End Function
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7426
    Registrado : 05/11/2009

    [Resolvido]Converte pra Acess Empty Re: [Resolvido]Converte pra Acess

    Mensagem  Alexandre Neves em 20/9/2018, 09:35

    Bom dia
    Código:
    Public Function ConvArabicosParaRomanos(ByVal Numero As Integer) As String
        Dim arr(1 To 13, 1 To 2), B As Byte
        arr(1, 1) = 1000: arr(2, 1) = 900: arr(3, 1) = 500: arr(4, 1) = 400: arr(5, 1) = 100: arr(6, 1) = 90: arr(7, 1) = 50: arr(8, 1) = 40: arr(9, 1) = 10: arr(10, 1) = 9: arr(11, 1) = 5: arr(12, 1) = 4: arr(13, 1) = 1
        arr(1, 2) = "M": arr(2, 2) = "CM": arr(3, 2) = "D": arr(4, 2) = "CD": arr(5, 2) = "C": arr(6, 2) = "XC": arr(7, 2) = "L": arr(8, 2) = "XL": arr(9, 2) = "X": arr(10, 2) = "IX": arr(11, 2) = "V": arr(12, 2) = "IV": arr(13, 2) = "I"
       
        ' valida : aceita somente valores entre 1 e 3999
        If Numero < 0 Or Numero > 3999 Or Numero = 0 Then
            MsgBox "O valor numérico deve estar entre 1 e 3.999."
        End If
       
       
        ' percorre os valores nos arrays
        For B = 1 To 13
            ' se o numero a ser convertido é menor que o valor então anexa
            ' o numero correspondente ou o par ao resultado
            Do While Numero >= arr(B, 1)
                Numero = Numero - arr(B, 1)
                ConvArabicosParaRomanos = ConvArabicosParaRomanos & arr(B, 2)
            Loop
        Next
    End Function


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    NADIRONUNES
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 435
    Registrado : 30/08/2010

    [Resolvido]Converte pra Acess Empty Re: [Resolvido]Converte pra Acess

    Mensagem  NADIRONUNES em 20/9/2018, 13:16

    muito obrigado Alexandre Neves


    Conteúdo patrocinado

    [Resolvido]Converte pra Acess Empty Re: [Resolvido]Converte pra Acess

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 6/12/2019, 10:34