itepi 0 Denunciar post Postado Fevereiro 3, 2010 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
flavioavilela 0 Denunciar post Postado Fevereiro 3, 2010 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
itepi 0 Denunciar post Postado Fevereiro 3, 2010 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
flavioavilela 0 Denunciar post Postado Fevereiro 3, 2010 ok, aguardamos resposta... Compartilhar este post Link para o post Compartilhar em outros sites