Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   calculo de digito de control de cuenta bancaria para españa (https://www.clubdelphi.com/foros/showthread.php?t=88004)

avmm2004 31-03-2015 15:35:10

calculo de digito de control de cuenta bancaria para españa
 
Hola, necesito calcular el digito de control de una cuenta corriente para españa.
He buscado en internet y e encontrado montones de ellas ..... con fallos.

Alguien tiene hecho algo y me deja la función ?

Gracias.

Casimiro Notevi 31-03-2015 16:09:49

Abajo del todo tienes varios enlaces.

|
v



.

avmm2004 31-03-2015 17:23:56

Gracias.
He cogido la rutina que facilito el miembro spu.

Tiene un fallo.
Hay que tener en cuenta lo que puse por comentario de añadido .... si no puede fallar.

Código Delphi [-]
function TForm5.rut_calc_dig(entidad,oficina,cuenta:String):String;
var
  entofi,dig: string;
  i,n,t,suma: integer;
  r,r2: real;
const
  pesos : array[1..10] of integer = (1,2,4,8,5,10,9,7,3,6);
begin
    entidad := fzero(entidad, 4);
    oficina := fzero(oficina, 4);
    cuenta := fzero(cuenta, 10);

    suma := 0;
    entofi := entidad + oficina;
    for i := 1 to 8 do
    begin
      dig := copy(entofi,i,1);
      n := strtoint(dig);
      t := pesos[i+2]* n;
      suma := suma + t;
    end;
    r := 11 - (suma mod 11);
// Añadido
    if r = 10 then
      r := 1;
    if r = 11 then
      r := 0;
//--------

    suma := 0;
    for i := 1 to 10 do
    begin
      dig := copy(cuenta,i,1);
      n := strtoint(dig);
      t := pesos[i]* n;
      suma := suma + t;
    end;
    r2 := 11 - (suma mod 11);
// Añadido
    if r2 = 10 then
      r2 := 1;
    if r2 = 11 then
      r2 := 0;
//--------
    result := floattostr(r) + floattostr(r2);
end;


La franja horaria es GMT +2. Ahora son las 11:18:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi