As vezes, quanto temos vários componentes num mesmo formulário, fica cansativo efetuar operações com todos eles ao mesmo tempo, como também aumenta o número de linhas no nosso código fonte. Nesta dica trago uma maneira de como contornar este problema.
Digamos que temos a seguinte situação: Um formulário com 30 TEdits e você que limpar todos eles. Você pode usar o método clear ou definir a propriedade text como nula:
Edit1.text := ''; //ou Edit1.Clear;
Até aí tudo bem, o problema é que seriam 30 linhas a mais no código. Não fará diferença ao compilador, porém, fica esteticamente ruim para a manutenção (isso porque são 30 linhas, imagine se tivessemos 100 edits).
Então, como proceder? Simples:
procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin for i := 0 to Self.ComponentCount - 1 do begin if UpperCase(Self.Components[i].ClassName) = Uppercase('TEdit'); TEdit(Self.Components[i]).Clear; end; end;
Explicando o código:
- Usamos o for para varrer todos os componentes do formulário;
- No if, verificamos se a classe do componente é TEdit, ou seja, verificamos se o componente é um TEdit (ou outro componente, TButton, por exemplo.);
- Caso a condição seja verdadeira, é feito um cast e executado o método clear.
Simples não é?
Dúvidas e sugestões, comentem!
Abraços e até a próxima.
Muito bom…..Obrigado por compartilhar.
Perfeito….