Calcular la letra del NIF según el DNI

5085 vistas

Con esta simple función tenemos arreglado el problema



delphi
  1. type
  2.   EInvalidDNICIF = class(Exception);
  3.  
  4. function CaracterDNI(Numero: LongInt): Char;
  5. const
  6.   Caracteres: string = 'TRWAGMYFPDXBNJZSQVHLCKET';
  7. begin
  8.   if (Numero > 99999999) or (Numero < 10000000) then raise
  9.     EInvalidDNICIF.Create('Numero DNI invalido');
  10.   CaracterDNI := Caracteres[(Numero mod 23)+1];
  11. end;