CONVERTER ROTINA DE JAVA PARA VB

 Tópico anterior Próximo tópico Novo tópico

CONVERTER ROTINA DE JAVA PARA VB

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#324960 - 09/10/2009 21:56:44

OLAFEKORKAN
SALVADOR
Cadast. em:Junho/2009


Ölá galera!
Boa noite!

Tem alguém aí que entenda de JAVA?
Preciso converter essa função em JAVA para o VB6

segue abaixo a função em JAVA
****************************************


public static int calculaDV(String c) {
             /* o parametro c é o código sem pontos e sem o
                 digito verificador (ex: "010101001") */
      
      char[] codigo = c.toCharArray();
      
      int y = 9;
      int soma = 0;
      
      for (int i = 1; i < codigo.length; i++) {
         soma += (codigo[i] - '0') * y--;
      }
      int resto = soma % 11;
        return  (resto > 1)? (11 - resto) : 0;
   }




#325020 - 11/10/2009 12:21:24

OLAFEKORKAN
SALVADOR
Cadast. em:Junho/2009


E aí tecla?
BLZ?

Seguinte,
Essa função não funcionou não:
O resultado sempre dá ZERO (0). Ou sejna, não está calculando o dídigito verificador não?

Seguem alguns múmero válidos com seus respectivos (DV)

**CÓDIGO**                       **DV**
010102007                           4
020202017                           7
030103016                           2
040907014                           9
050103012                           3
060107001                           1
070103008                           9
080301011                           7


Se alguém aí puder me ajudar eu agradeço!
Valeu galera!



#325022 - 11/10/2009 12:50:17

OLAFEKORKAN
SALVADOR
Cadast. em:Junho/2009


E aí Tecla?

Seguinte:
Num funcionana não!

Só tá dando certo com o primeiro código da lista que passei acima:

**CÓDIGO**                       **DV**
010102007                           4

Nenhum dos outros da dando o DV certo.



#325030 - 11/10/2009 13:11:57

OLAFEKORKAN
SALVADOR
Cadast. em:Junho/2009


NADADICA DE NADA!
CONTIUNUA ERRADO!!

Estou tentando também aki desatar este nó!!



Resposta escolhida #325033 - 11/10/2009 13:51:33

TECLA
SAO PAULO
Cadast. em:Janeiro/2001


Membro da equipe
Excluí todos os outros posts para não confundi-lo.
Testei a rotina abaixo com todos os números que postou.

  • Veja a demo


  • Veja  o código
    Private Function calculaDV(c As String) As Integer
    Dim y As Integer, soma As Integer, i As Integer
    Dim resto As Integer, ret As Integer

    y = 10
    soma = 0

    For i = 1 To Len(c)
        soma = soma + (CInt(Mid(c, i, 1)) * y)
        y = y - 1
    Next

    resto = soma Mod 11
    ret = IIf(resto > 1, Abs(11 - resto), 0)
    calculaDV = ret
    End Function


    Private Sub Command1_Click()
    Dim calc As Integer
    calc = calculaDV(Text1)
    MsgBox calc, , "Resultado"
    End Sub





  • #325062 - 11/10/2009 20:42:27

    OLAFEKORKAN
    SALVADOR
    Cadast. em:Junho/2009


    Valeu brother!!

    Ficou blz blz! Deus lhe abençeo!

    será que vc conseguiria coonverter a Clipper e PASCAL que postei?



     Tópico anterior Próximo tópico Novo tópico


    Tópico encerrado, respostas não sao permitidas
    Encerrado por OLAFEKORKAN em 11/10/2009 20:45:00