Ver Mensaje Individual
  #2  
Antiguo 09-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Hombre, se puede crear un Parser... pero creo que es demasiado, para lo que dices, puede bastar con algo así:

Código Delphi [-]

type
  TCharSet = set of Char;

const Primera : TCharSet = ['D','C','P'];
        Segunda:TCharSet = ['A'..'Z', 'Ñ'];
        numeros:TCharSet = ['0'..'9'];
        Ultima :TCharSet = ['A','B','C','E','J','N',' '];

function IsIDFactura(const str:string):Boolean;
var s:string;
begin
 Result := length(str) = 8;
 s := uppercase(str); 
 if Result then
  Result := (s[1] in Primera) and 
               (s[2] in Segunda) and
               (s[3] in numeros ) and 
               (s[4] in numeros ) and 
               (s[5] in numeros ) and 
               (s[6] in numeros ) and 
               (s[7] in numeros ) and 
               (s[8] in Ultima );
end;

Ya tienes una idea, si quieres que se valide mientras se escribe, pues es cuestión de modificarlo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita