terça-feira, 22 de setembro de 2009

Validando número de cartão de crédito

Function ValidCartao(const s:string): Boolean;
Var
Valor, Soma, Multiplicador, Tamanho, i : Integer;
begin
Result := False;
Multiplicador := 2;
Soma := 0;
Tamanho := Length (AllTrim (S));
For i := 1 to Tamanho - 1 do
begin
Try
Valor := StrToInt (Copy (S, i, 1)) * Multiplicador;
Except
Valor := 0;
End;
Soma := Soma + (Valor DIV 10) + (Valor mod 10);
if Multiplicador = 1 Then
Multiplicador := 2
else
Multiplicador := 1;
end;
if IntToStr ((10 - (Soma mod 10)) mod 10) = Copy (S, Tamanho, 1) Then
Result := True;
end;

Nenhum comentário:

Postar um comentário