PDA

Ver la Versión Completa : Calcular dígito de control de una cuenta bancaria


marcoszorrilla
29-06-2006, 22:58:47
procedure TForm1.Button1Click(Sender: TObject);

begin
Label1.Caption:=IntToStr(CalculaDC('00851755','0000321764'));
end;

function CalculaDC(Banco, Cuenta: string):integer;
const
Pesos: array[0..9] of integer=(6,3,7,9,10,5,8,4,2,1);
var
n : byte;
iTemp : integer;
begin
iTemp:=0;
for n := 0 to 7 do
iTemp := iTemp + StrToInt(Copy(Banco, 8 - n, 1)) * Pesos[n];
Result:=11 - iTemp Mod 11;
if (Result > 9) then Result:=1-Result mod 10;
iTemp:=0;
For n := 0 to 9 do
iTemp := iTemp + StrToInt(Copy(Cuenta, 10 - n, 1)) * Pesos[n];
iTemp:=11 - iTemp mod 11;
if (iTemp > 9) then iTemp:=1-iTemp mod 10;
Result:=Result*10+iTemp;
end;