Código
{ 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;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009