Ver Mensaje Individual
  #2  
Antiguo 29-06-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 22
andres1569 Va por buen camino
Hola:

Puedes utilizar un componente TMaskEdit, que permite acotar el tipo de caracter que corresponde a cada posición de la cadena introducida. En tu caso tendrías que poner esto en la propiedad EditMask:

EditMask = L\-00\.000\.000;1;_

La L indica que espera un caracter alfabético, la barra \ indica que el siguiente caracter es literal (el guión y los puntos de millar), y luego sólo se permiten cifras mediante ceros, (en la ayuda de Delphi explica cómo funcionan las máscaras). Lo que no puedes es indicarle qué valores alfabéticos deseas en concreto, en tu caso la V y la E, así que deberás interceptar el evento OnKeyPress del MaskEdit y anular cualquier caracter que no te sirva:

Código:
procedure TForm1.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if NOT (Key in ['0' .. '9']) AND (UpCase(Key) <> 'V') AND 
    (UpCase(Key) <> 'E') then Key := #0;
end;
En la propiedad EditMask, el 1 que hay hacia el final indica que quieres que se almacene el valor tal como lo ves en pantalla (guiones y puntos incluídos); si sólo quisieras que los caracteres introducidos por el usuario, en tonces habría que poner un 0.
__________________
Guía de Estilo
Responder Con Cita