Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

itepi

Componente

Recommended Posts

Galera estou tentando criar um componente que verifica se todos os campos obrigatório de um determinado formulario foram preenchidos, para isso eu percorro todos os componentes que herdam TEdit, verifico se a propriedade Required (propriedade que criei) esta como true, se estiver verifico se o valor do campo é diferente de vazio. Até ai tudo lindo.

Porém alguns dos meus formulários possui o campo "Código" que é obrigatório, porem no evento OnExit desse campo eu faço uma consulta no banco de dados para ver se o registro já existe, se existir coloco em modo de edição, se não existir coloco no modo de inserção, ai quando vou salvar tenho que verificar se todos os campos foram preenchidos para isso ativo meu componente, porem quando o ativo ele tem que passar por todos os campos, inclusive o campo Código, e quando isto ocorre ele dispara o evendo OnExit que faz com que ele dispare o modo de edição e limpe todos os campos do formulário, perdendo tudo q o usuário digitou.

 

Então minha pergunta é : Tem como desativar a propriedade OnExit dos campos, e depois reativar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, imagino que tenha duas formas de se corrigir...

1 - pq você nao adota uma tecla para a pessoa pressionar, para ativar oq está no editcodigo... por exemplo, tira o procedimento do evento onExit e coloca no evento OnKeyDown

 

if (key = vk_return) then - se pressionar enter faz oq mandar

2 - você pode no seu componente mandar verificar, se o edit for o editcodigo ou um editX, pula pro próximo ou não acontece nada ou algo do tipo...

 

espero ter ajudado

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, imagino que tenha duas formas de se corrigir...

1 - pq você nao adota uma tecla para a pessoa pressionar, para ativar oq está no editcodigo... por exemplo, tira o procedimento do evento onExit e coloca no evento OnKeyDown

 

if (key = vk_return) then - se pressionar enter faz oq mandar

2 - você pode no seu componente mandar verificar, se o edit for o editcodigo ou um editX, pula pro próximo ou não acontece nada ou algo do tipo...

 

espero ter ajudado

abraço

 

Vou tentar da primeira forma, da segunda nao tem como pois não queria me prender ao nome do campo, pq tb há campos que ao sair faço outros processos, o do código foi apenas um exemplo. E como eu disse é o componente que passa por todos os campos automaticamente, e ter que q programar um componente pra cada formulário perde o intuito do componente...

 

Mas vou testar da primeira forma, depois dou um feedback aqui!!

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.