Voici l'algorithme de verification des carte Bancaire
il y a un exemple dans le zip
Function CBnum_Verif(Numero :string) :boolean;
VAR i, L, R, val :integer;
step : boolean;
begin
R := 0;
L := length(Numero);
i := L;
step := true;
repeat
if step then
begin
val := StrToInt(Numero[i]);
step := false;
end
else
begin
val := StrToInt(Numero[i]) * 2;
if length(IntToStr(val)) = 2 Then val := StrToInt(IntToStr(val)[1]) + StrToInt(IntToStr(val)[2]);
step := true;
end;
R := R + val;
dec(i,1); { on recule }
until i = 0;
if R mod 10 = 0 Then result := true
ELSE result := false;
end;
|