Como calcular dígito verificador de 11 posições do Nosso Número do BB

Para quem esta desenvolvendo softwares para emissão de boletos do Banco do Brasil e quer uma mãozinha no calculo do digito verificador do campo NOSSO NÚMERO de 11 posições, esta ai uma função que criei em Delphi que esta rodando direitinho:

Comando: CalculaDV11bb(<nosso numero>)

Como parâmetro você deve passar o NossoNumero e a função vai retornar o digito verificador, exemplo:

DigitoVerificador.text  := CalculaDV11BB(NossoNumero.text);

 

Função:

function TForm1.CalculaDV11BB(cCONTA:string):string;
{cálculo do dígito verificador do nosso número de 11 posições
utilizado para gerar os boletos do banco do Brasil
Criado por Dane Morais - danegd@gmail.com}
var
  cMultiplicador : string;
  nResult2       : integer;
  nParcial       : integer;
  nX             : integer;
begin
  cMultiplicador := '78923456789';
  nX  := 0;
  nParcial := 0;
  nResult2 := 0;
  for nX := 1 to 11 do
       nParcial := nParcial+ (StrToInt(copy(cConta,nX,1)) * StrToInt(copy(cMultiplicador,nX,1))) ;

   nResult2 := (nParcial mod 11);
   if nResult2 < 10 then
      result := IntToStr(nResult2);
   if nresult2 = 10 then
      result := 'X';
   if nResult2 = 0 then
      result := '0';
end ;

Comentários

Anônimo disse…
Parabéns, funciona corretamente.