Função no evento OnExit

30/12/2005

Fiz uma função que verifica se uma data digitada por um usuário é valida.
Detalhe é que, preciso que essa função seja aplicada em todos os componentes TDateEdit e TDBDateEdit do projeto.
Usando esse código foi possível colocar a função para ser executada no evento OnExit de todos os componentes.

   if Screen.ActiveControl is TDateEdit then
   Begin
     TDateEdit(Screen.ActiveForm.Components[Screen.ActiveForm.ActiveControl.ComponentIndex&93;).CheckOnExit := False;
     TDateEdit(Screen.ActiveForm.Components&91;Screen.ActiveForm.ActiveControl.ComponentIndex&93;).OnExit := FFuncoes.ValidaData;
   End;
   if Screen.ActiveControl is TDBDateEdit then
   Begin
     TDBDateEdit(Screen.ActiveForm.Components&91;Screen.ActiveForm.ActiveControl.ComponentIndex&93;).CheckOnExit := False;
     TDBDateEdit(Screen.ActiveForm.Components&91;Screen.ActiveForm.ActiveControl.ComponentIndex&93;).OnExit := FFuncoes.ValidaData;
   End;


Unico problema que tenho agora é que, o código acima substitui qualquer outro código no evento onExit do componente (TDateEdit ou TDBDateEdit), gostaria de saber se é possível fazer com que ele adicione minha função no evento OnExit de todos os componentes de data, mas que não substitua qualquer código que já exista nele.


Duco

Respostas

30/12/2005

Duco

UP!!! ^^


Responder Citar

30/12/2005

Duco

UP :roll:
Ninguem tem alguma idéia de como aplicar a função no evento OnExit de todos os componentes sem que ele substitua qualquer código que já exista nesse evento?
Ou estou aberto a sugestões.
Em geral, o que preciso fazer é verificar se a data é valida e emitir uma mensagem, por padrão, o TDateEdit e TDBDateEdit já fazem essa verificação, mas emitem uma mensagen em inglês, fiz a função pra verificar e avisar o usuário com uma mensagem em português, a função funcionou perfeitamente, mas o código citado no primeiro post substitui qualquer código que já exista previamente no evento OnExit desse componente, seria possível colocar manualmente a função no OnExit de cada componente, mas isso é algo fora de questão :P


Responder Citar

30/12/2005

Duco

Problema resolvido :P


Responder Citar