Apagar todos campos de uma só vez...

Delphi

28/03/2004

Possuo um form com muitos campos tipo Edit, Memo, etc e, em um determinado evento eu preciso que todos os campos contidos neste form sejam apagados.

[b:7ae8e15fac]Minha pergunta é:[/b:7ae8e15fac] Existe alguma maneira de apagar todos os campos deste form sem ter que executar ´.Clear´ um-a-um?

Grato.
wbb


Wbb

Wbb

Curtidas 0

Respostas

Ffc

Ffc

28/03/2004

[b:dc6c71355c]procedure[/b:dc6c71355c] TForm1.LimparClick(Sender: TObject);
[b:dc6c71355c]var[/b:dc6c71355c]
Contador : Integer;
[b:dc6c71355c]begin[/b:dc6c71355c]
[u:dc6c71355c]// Faz uma contagem de quantos componentes tem no TFrom[/u:dc6c71355c]
[b:dc6c71355c]for[/b:dc6c71355c] Contador := 0 [b:dc6c71355c]to[/b:dc6c71355c] ComponentCount-1 [b:dc6c71355c]do[/b:dc6c71355c]
begin
[u:dc6c71355c]// Limpa todos os componentes cuja a classe seja TEdit[/u:dc6c71355c]
[b:dc6c71355c]if[/b:dc6c71355c] Components[Contador].ClassName = ´TEdit´ [b:dc6c71355c]then[/b:dc6c71355c]
TEdit(Components[Contador]).Clear;
[u:dc6c71355c] // Limpa todos os componentes cuja a classe seja TMemo[/u:dc6c71355c]
[b:dc6c71355c]if[/b:dc6c71355c] Components[Contador].ClassName = ´TMemo´ [b:dc6c71355c]then[/b:dc6c71355c]
TMemo(Components[Contador]).Clear;
[b:dc6c71355c]end;[/b:dc6c71355c]

[b:dc6c71355c]end;[/b:dc6c71355c]

espero ter ajudado;
Abraços.


GOSTEI 0
Fabio.hc

Fabio.hc

28/03/2004

Tente assim:

procedure TForm2.Button4Click(Sender: TObject);
var i:integer;
begin
   for i:=0 to ComponentCount -1 do
      begin
      if Components[i] is TEdit then
         TEdit(Components[i]).Clear;
      if Components[i] is TMemo then
         TMemo(Components[i]).Clear;
      if Components[i] is TMaskEdit then
         TMemo(Components[i]).Clear;
      end;
end;



GOSTEI 0
Wbb

Wbb

28/03/2004

Ajudou e muito.
Funcionou muito bem.

Obrigado.
wbb


GOSTEI 0
POSTAR