Ver Mensaje Individual
  #7  
Antiguo 11-05-2004
cinecito cinecito is offline
Registrado
 
Registrado: may 2004
Posts: 6
Reputación: 0
cinecito Va por buen camino
Question

Veamos, lo que necesito es calcular el código IBAN asociado al país, éste es mi procedimiento:

procedure TForm1.TButtCalculaIBANClick(Sender: TObject);
var
dividendo,divisor,iban,cuenta: string;
resto,resultado:int64;
i:smallint;
begin
cuenta := '21001715370200075755142800';
i:=0;
divisor:='97';
i:=length(divisor);
dividendo:=copy(cuenta,0,i);
while strtoint64(dividendo) < strtoint(divisor) do
begin
i:=i+1;
dividendo:=copy(cuenta,0,i);
while (i < length(cuenta) ) do
begin
resto:=strtoint64(dividendo) mod strtoint(divisor);
i:=i+1;
dividendo:=inttostr(resto)+copy( cuenta,i+1,(i) );
end;
resto:=strtoint64(dividendo) mod strtoint(divisor);
resultado:=(98-resto);
end;
EdtIBAN.Text:=inttostr(resultado);
end;

... Y el problema lo tengo a la hora de asignarle a la variable los 20 dígitos de la cuenta + 142800. ¿Existe otra manera de calcular este código en delphi?

He probado lo del bcd y la verdad es que se complica un poco, debe haber otra manera más sencilla de resolverlo.

Saludos.
Responder Con Cita