Ver Mensaje Individual
  #4  
Antiguo 27-09-2007
Avatar de rruz
[rruz] rruz is offline
Miembro Premium
 
Registrado: jun 2006
Posts: 146
Reputación: 18
rruz Va por buen camino
Validar Rut Chile

Hola aqui tienes unas funciones que te pueden ayudar

Código Delphi [-]

Function  RutId(Rut: Longint): Char;
Function  RutValido(Rut: Longint;Digito_Id:Char): Boolean;
Function  RutCompletoStr(Rut: Longint):String;


Function  RutCompletoStr(Rut: Longint):String;
Begin 
Result:=FormatFloat('#,',Rut)+'-'+RutId(Rut);
End;

Function  RutId(Rut: Longint): Char;
Var Suma      : Integer; RutStr    : String;
NumTemp   : Byte;
Multiplo  : Byte;
i         : Integer;
DigitoTemp: String[2];
Begin  Result    :='?';

if (Rut>0) Then Begin 
Suma    :=0; 
RutStr  :=IntToStr(Rut); 
Multiplo:=2;  
for i:=Length(RutStr) downto 1 do 
Begin         
NumTemp :=StrToInt(RutStr[i]);         
Suma    :=Suma+(Multiplo*NumTemp);         
inc(Multiplo);        
 if Multiplo>7 then Multiplo:=2;
End;

i:=11-(Suma mod 11);

Case i of 11 : DigitoTemp:='0';
10 : DigitoTemp:='K';
else DigitoTemp:=IntToStr(i);
End;

Result:=DigitoTemp[1];

End;
End;

Function RutValido(Rut: Longint;Digito_Id:Char): Boolean;
Begin 
Result:=RutId(Rut)=UpCase(Digito_Id); 
End;
Saludos

Última edición por rruz fecha: 27-09-2007 a las 23:00:57.
Responder Con Cita