ClipaTec Informática

Receba novidades por e-mail. Digite seu e-mail abaixo e clique no botão "Cadastrar"

Delivered by FeedBurner

28 de janeiro de 2013

TypeCast para desabilitar campos no Delphi

delphi typecast
Olá pessoal, vou compartilhar com vocês um recurso interessante no Delphi que com certeza, se você ainda não conhece, vai amá-lo, pois facilitará muito sua vida, eliminando várias linhas de códigos.
Bom, não vou explicar a respeito de TypeCast neste artigo porque estarei criando um artigo para falar especificamente sobre esse recurso.
O importante agora é ver na prática um exemplo de uso de TypeCast. No artigo que vou explicar sobre TypeCast, estarei abordando também sobre os operadores "is" e "as".
Ok, vamos ao que nos interessa.
Se você é um programador da linguagem Delphi iniciante, faço-lhe uma pergunta: como você implementaria um procedimento que teria como função desabilitar todos os campos de um formulário?
Com certeza, você teria que atribuir o valor "False" para a propriedade "Enable" de todos os componentes "Edit" né? Como por exemplo abaixo:

delphi typecast
Imagem 1



Imagina uma tela de cadastro com vários campos, não seria nem um pouco legal ter que fazer isso para cada campo, ficaria um trabalho meio que cansativo, concorda?
Pois bem, agora vou ensinar como fazer essa mesma solução só que usando TypeCast. Primeiro, para este exemplo, criei um formulário com: 2 TLabel, 2 TComboBox, 4 TEdit e 1 TButton.

typecast delphi
Imagem 2














Neste mesmo exemplo vamos desabilitar apenas os componentes "TEdit" ao clicar no botão, você pode montar esse formulário aí pra acompanhar e visualizar o resultado de perto.
Muito bem, como desabilitar todos esses campos sem precisar fazer o procedimento da "Imagem 1"?
Como eu havia dito, fazendo um TypeCast, para isso, no evento "OnClick" do botão, implemente os seguintes códigos:

delphi typecast
Imagem 3










Muito bem, vamos entender algumas coisas nesses códigos, nada muito a fundo, pois estarei explicando detalhadamente no artigo sobre "TypeCast".
Como vocês percebem, a codificação da Imagem 3 desabilita todos os campos de um formulário, isso mesmo, eu disse todos, evidentemente percebe-se que muitas linhas de códigos seriam eliminadas.
Primeiro declarei uma variável inteira que será usada como contadora no "Loop For".
Feito isso, implementei o "FOR" que contará todos os componentes que existem no formulário, isso é possível porque estou usando a propriedade "ComponentCount" .
Abaixo eu testo se os componentes contado é do tipo "TEdit" (if Components[I] is TEdit), se sim, ele converte os componentes para "TEdit" (Components[I] as TEdit), desta forma, agora eles passarão a ter as propriedades que o componente "TEdit" possui, simplesmente invoco a propriedade "Enable" e atribuo o valor "False", pronto, todos os componentes que for do tipo "TEdit" contado no formulário será desabilitado.
Você poderia implementar esses códigos num procedimento e chamá-lo onde quiser na aplicação.
O resultado ao clicar no botão é este:

delphi typecast













Note que apenas os "Edit" foram desabilitados como especificado no código.
Simples, fácil e viável, estarei publicando uma vídeo-aula explicando este artigo apenas para uma melhor fixação deste aprendizado.
Você pode fazer isso para limpar os campos, habilitar, desabilitar, mudar cor, etc. Dúvidas, entre em contato, forte abraço e até a próxima.

(Por Welinton Junior Dias)

0 comentários:

Postar um comentário

Visite nossa página de Política de comentarios antes de comentar para ter certeza de que seu comentário não será excluído! Lembre-se, assim que aprovarmos o teu comentário ele será publicado, por isso, não deixe de sempre visitar nosso blog e conferir nossa resposta ao seu comentário, abraço!