Array
(
)

Função no evento OnExit

Duco
   - 30 dez 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.

#Código

if Screen.ActiveControl is TDateEdit then
Begin
TDateEdit(Screen.ActiveForm.Components[Screen.ActiveForm.ActiveControl.ComponentIndex]).CheckOnExit := False;
TDateEdit(Screen.ActiveForm.Components[Screen.ActiveForm.ActiveControl.ComponentIndex]).OnExit := FFuncoes.ValidaData;
End;
if Screen.ActiveControl is TDBDateEdit then
Begin
TDBDateEdit(Screen.ActiveForm.Components[Screen.ActiveForm.ActiveControl.ComponentIndex]).CheckOnExit := False;
TDBDateEdit(Screen.ActiveForm.Components[Screen.ActiveForm.ActiveControl.ComponentIndex]).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
   - 30 dez 2005

UP!!! ^^


Duco
   - 30 dez 2005

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


Duco
   - 30 dez 2005

Problema resolvido :P