Digito verificador



  • Boa noite,

    Estou tentando inserir a função abaixo à lista de funções do Maker, porém o fluxo não é executado e não retorna nenhum erro. Já utilizei o depurador para ver se consigo rastrear o erro, e a única coisa que eu vejo é que quando o fluxo com a função que eu inseri tenta ser executado, há um erro que não é exibido na tela e o mesmo não é executado. Não sei se estou retornando o resultado da função no padrão correto do Maker.

    Agradeço qualquer ajuda,
    Obrigado.
    [code] protected final Variant geraDVMod112(StringBuffer num, int DVdig, String dv10) { // Zera a variável StringBuffer dvFinal = new StringBuffer(); String dv; // Gera os DVs for (int j=0; j<DVdig; j++) { // Zera a soma int soma = 0; // Peso do primeiro multiplicador int mult = 2; for (int i=(num.length()-1); i>=0; i--) { // Somamos os algarimos multiplicados pelo fator soma += Integer.parseInt(Character.toString(num.charAt(i))) * mult++; // Voltando para o 2... if (mult >= 10) { mult = 2; } } // Pegamos o resto da soma por 11 Integer dvI = soma % 11; // Qual o resto? if (11 - dvI == 10) { dv = dv10; } else if (dvI == 0 || dvI == 1) { dv = "1"; } else { // Geramos o DV dvI = 11 - dvI; dv = dvI.toString(); } // Concatenamos o DVfinal dvFinal.append(dv); // Adicionamos o DV ao numero num.append(dv); } return VariantPool.get(dvFinal.toString()); } [/code]


  • [quote="DannielMagno"]StringBuffer dvFinal = new StringBuffer();[/quote] Vc deve informar o caminho completo da classe. Tipo java.lang.StringBuffer. Veja os pontos que estão assim e ajuste.

    Após alteração, deve reiniciar o Webrun para que a função seja recompilada.


  • Olá Ronélio, bom dia!

    Consegui resolver o meu problema há alguns dias... Modificando os tipos dos parâmetros para Variant, fez com que funcionasse.
    O interessante foi que eu modifiquei somente os tipos dos parâmetros e não tive que passar o caminho completo da classe nos outros pontos da função...

    Obrigado,
    Danniel.


  • Opa, blz! Então, algumas classes o Webrun já importa e por isso não precisaria informar o caminho completo do pacote, em outros casos, poderia apresentar erro de compilação, etc.

Log in to reply