Funções prontas
Tenho já funções para validar CPF e CNPJ. Agora, existe funções para PIS, SUFRAMA e cartões de crédito? Se existe, como façõ para obtê-las, ou pelo menos, o algotitimo deles.
Paulo
Curtidas 0
Respostas
Paulo
15/01/2008
Me acustumei tanto com o forum, que me esqueço às vezes de buscar na net. Achei PIS e Cartão, mas nada de SUFRAMA. Eis abaixo as funções que achei.
function ValidaCartao(const NumCard:string): OleVariant;
var
Valor, Soma, Multiplicador, Tamanho, i : Integer;
begin
Result := False;
Multiplicador := 2;
Soma := 0;
Tamanho := Length(NumCard);
for i := 1 to Tamanho - 1 do
begin
Valor := StrToInt (Copy (NumCard, i, 1)) * Multiplicador;
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 (NumCard, Tamanho, 1) Then
Result := True;
end;
function ValidaPIS(PIS : String): OleVariant;
var
i,
wsoma,
Wm11,
Wdv,
wdigito : Integer;
begin
if Trim(PIS) <> ´´ Then
begin
wdv := strtoint(copy(PIS, 11, 1));
wsoma := 0;
wm11 := 2;
for i := 1 to 10 do
begin
wsoma := wsoma + (wm11 * strtoint(copy(PIS,11 - i, 1)));
if wm11 < 9 then
wm11 := wm11 + 1
else
wm11 := 2;
end;
wdigito := 11 - (wsoma MOD 11);
if wdigito > 9 then
wdigito := 0;
if wdv = wdigito then
validapis := true;
end
else
validapis := false;
end;
GOSTEI 0