MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    [Resolvido]Converte pra Acess

    avatar
    NADIRONUNES
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  NADIRONUNES 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 : Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves 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
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  NADIRONUNES 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: 27/4/2024, 04:59