Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mascara muy especializada (https://www.clubdelphi.com/foros/showthread.php?t=36361)

carlos gonzalez 09-10-2006 20:34:00

Mascara muy especializada
 
Hola amigos tengo una duda ojala puedan ayudarme, no se si pueda crear una mascara especial
para un edit.

Necesito crear una mascara que cumpla las sig. condiciones.

1.- El string debe de tener 8 caracteres
2.- El primer caracter debe ser 'D','C' o 'P'
3.- El Segundo caracter debe ser una letra entre la 'A' Y la 'Z'
4.- El caracter del 3 al 7 deben de ser numeros
5.- El octavo caracter debe de ser 'A','B','C','E','J','N' o un espacio en blanco

Si alguien sabe si es posible hacer esto, se los agradeceria bastante si lo
comparten conmigo

Su amigo charless.

Lepe 09-10-2006 22:13:18

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


La franja horaria es GMT +2. Ahora son las 04:23:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi