|
Validacion NSS
function ValidaDCSS(Numero:string):boolean;
var
Limpio : string;
i,dos : integer;
uno : real;
begin
{El numero de la seguridad social debe entrarse con este
formato:
28/1234567/40
o bien:
28/12345678/40
En función de que se trate del numero de una empresa
o del numero de un trabajador.
}
Limpio:='';
for i:=1 to Length(Numero) do
if Numero[i] in ['0'..'9'] then Limpio:=Limpio+Numero[i];
{Si no tiene 11 ó 12 digitos, no es válido}
if (Length(Limpio)=11) or (Length(Limpio)=12) then
begin
Uno:=StrToFloat( copy(Limpio,1,Length(Limpio)-2) );
Dos:=StrToInt( copy(Limpio,Length(Limpio)-1,2) );
Result:=Trunc( ( (Uno/97)-Trunc(Uno/97) )*97 )=Dos;
end
else Result:=FALSE;
end;
begin
if ValidaDCSS('46/12345678/43')
then ShowMessage('Válido')
else ShowMessage('No Válido');
end;
Lo mismo de antes, prueba, erra y aprende. Mira a ver si te sirve. Suerte.
|