Buscar

Cálculo de dígito verificador no módulo 10 padrão febraban

Código

Function DVM10(PCodigo: String): String;
{ Função que retorna o cálculo do dígito verificador no Módulo 10, padrão FEBRABAN-Federação Brasileira de Bancos }
var
  TCodigo, Tvalor, Totvalor, Tdig, Tx, Posidig : Integer;
begin
  TCodigo := Length(PCodigo);
  Tvalor := 0; Totvalor := 0; Tdig := 0; Tx := 2; Posidig := 1;
  while (Posidig <= TCodigo) do begin
    Tvalor := 0;
    Tvalor := StrToInt(Copy(PCodigo,Posidig,1)) * Tx;
    if (Tvalor > 9) then
      Tvalor := StrToInt(Copy(IntToStr(Tvalor),Length(IntToStr(Tvalor))-1,1))+
                StrToInt(Copy(IntToStr(Tvalor),Length(IntToStr(Tvalor)),1));
    Totvalor := Totvalor + Tvalor;
    Inc(Posidig);
    Tx := (Tx - 1);
    if (Tx < 1) then
      Tx := 2;
  end;
  Tdig := (10 - StrToInt(Copy(IntToStr(Totvalor),Length(IntToStr(Totvalor)),1)));
  if (Tdig = 10) then
    Tdig := 0;
  Result := IntToStr(Tdig);
end;

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Impressão
Adicionada dia: 16/04/07
Por: Jonaci Lopes
Visualizada: 8258 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009