Ver Mensaje Individual
  #1  
Antiguo 29-06-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Calcular dígito de control de una cuenta bancaria

Código Delphi [-]
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;
Responder Con Cita