Ver Mensaje Individual
  #4  
Antiguo 20-06-2005
serhasae serhasae is offline
Miembro
 
Registrado: jun 2004
Ubicación: Espańa
Posts: 117
Reputación: 22
serhasae Va por buen camino
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.
Responder Con Cita