j'ai été confonté au calcul du modulo sur un chiffre à 33 digits afin de calculer la clé bancaire des chéques.
voici donc une petite unité qui permet
- de calculer n'importe quel modulo (attention le chiffre doit être passé pour forme de string)
- de calculer le modulo bancaire (97)
- de calculer la clé d'un chéque
Source / Exemple :
{* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv *}
function MOD_ETENDU;
var
reste : integer;
i : integer;
begin
reste:=0;
for i:=1 to length(chaine) do
begin
reste:=reste*10+strtoint(copy(chaine,i,1));
reste:=reste mod diviseur;
end;
MOD_ETENDU:=reste;
end;
{* ### Fin de MOD_BANQUE ################################################ *}
{* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv *}
function MOD_BANQUE;
begin
MOD_BANQUE:=MOD_ETENDU(chaine,97);
end;
{* ### Fin de MOD_BANQUE ################################################ *}
{* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv *}
function CLE_BANQUE;
begin
chaine:=chaine+'00';
CLE_BANQUE:=97-MOD_BANQUE(chaine);
end;
{* ### Fin de CLE_BANQUE ################################################ *}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.